logo资料库

MQL4命令手册中文版.doc

第1页 / 共173页
第2页 / 共173页
第3页 / 共173页
第4页 / 共173页
第5页 / 共173页
第6页 / 共173页
第7页 / 共173页
第8页 / 共173页
资料共173页,剩余部分请下载后查看
MQL4 Reference
MQL4命令手册
Basics基础
Syntax语法
Comments注释
Identifiers标识符
Reserved words保留字
Data types数据类型
Type casting类型转换
Integer constants整数常量
Literal constants字面常量
Boolean constants布尔常量
Floating-point number constants (double)浮点数常量(双精度)
String constants字符串常量
Color constants颜色常数
Datetime constants日期时间常数
Operations & Expressions操作表达式
Expressions表达式
Arithmetical operations算术运算
Assignment operation赋值操作
Operations of relation操作关系
Boolean operations布尔运算
Bitwise operations位运算
Other operations其他运算
Precedence rules优先规则
Operators操作符
Compound operator复合操作符
Expression operator表达式操作符
Break operator终止操作符
Continue operator继续操作符
Return operator返回操作符
Conditional operator if-else条件操作符
Switch operator跳转操作符
Cycle operator while循环操作符while
Cycle operator for循环操作符for
Functions函数
Function call函数调用
Special functions特殊函数
Variables变量
Local variables局部变量
Formal parameters形式变量
Static variables静态变量
Global variables全局变量
Defining extern variables外部定义变量
Initialization of variables初始化变量
External functions definition外部函数的定义
Preprocessor预处理
Constant declaration常量声明
Controlling compilation编译控制
Including of files包含文件
Importing of functions导入功能
Standard constants标准常数
Series arrays系列数组
Timeframes图表周期时间
Trade operations交易操作
Price constants价格常数
MarketInfo市场信息识别符
Drawing styles画线风格
Arrow codes预定义箭头
Wingdings宋体
Web colors颜色常数
Indicator lines指标线
Ichimoku Kinko Hyo
Moving Average methods移动平均方法
MessageBox信息箱
Object types对象类型
Object properties对象属性
Object visibility
Uninitialize reason codes撤销初始化原因代码
Special constants特别常数
Error codes错误代码
Predefined variables预定义变量
Ask最新卖价
Bars柱数
Bid最新买价
Close[]收盘价
Digits汇率小数位
High[]最高价
Low[]最低价
Open[]开盘价
Point点值
Time[]开盘时间
Volume[]成交量
Program Run程序运行
Program Run程序运行
Imported functions call输入函数调用
Runtime errors运行错误
Account information账户信息
AccountBalance( )账户余额
AccountCredit( )账户信用点数
AccountCompany( )账户公司名
AccountCurrency( )基本货币
AccountEquity( )账户资产净值
AccountFreeMargin( )账户免费保证金
AccountFreeMarginCheck()账户当前价格自由保证金
AccountFreeMarginMode( )账户免费保证金模式
AccountLeverage( )账户杠杆
AccountMargin( )账户保证金
AccountName( )账户名称
AccountNumber( )账户数字
AccountProfit( )账户利润
AccountServer( )账户连接服务器
AccountStopoutLevel( )账户停止水平值
AccountStopoutMode( )账户停止返回模式
Array functions数组函数
ArrayBsearch()数组搜索
ArrayCopy()数组复制
ArrayCopyRates()数组复制走势
ArrayCopySeries()数组复制系列走势
ArrayDimension()返回数组维数
ArrayGetAsSeries()返回数组序列
ArrayInitialize()数组初始化
ArrayIsSeries()判断数组连续
ArrayMaximum()数组最大值定位
ArrayMinimum()数组最小值定位
ArrayRange()返回数组指定维数数量
ArrayResize()改变数组维数
ArraySetAsSeries()设定系列数组
ArraySize()返回数组项目数
ArraySort()数组排序
Checkup检查
GetLastError( )返回最后错误
IsConnected( )返回联机状态
IsDemo( )返回模拟账户
IsDllsAllowed( )返回dll允许调用
IsExpertEnabled( )返回智能交易开启状态
IsLibrariesAllowed( )返回数据库函数调用
IsOptimization( )返回策略测试中优化模式
IsStopped( )返回终止业务
IsTesting( )返回测试模式状态
IsTradeAllowed( )返回允许智能交易
IsTradeContextBusy( )返回其他智能交易忙
IsVisualMode( )返回智能交易“图片模式”
UninitializeReason( )返回智能交易初始化原因
Client terminal客户端信息
TerminalCompany( )返回客户端所属公司
TerminalName( )返回客户端名称
TerminalPath( )返回客户端文件路径
Common functions常规命令函数
Alert弹出警告窗口
Comment在走势图左上角显示信息
GetTickCount获取时间标记
MarketInfo在市场观察窗口返回不同数据保证金列表
MessageBox创建信息窗口
PlaySound播放声音
Print窗口中显示文本
SendFTP传送文件
SendMail发送Email
Sleep指定的时间间隔内暂停交易业务
Conversion functions格式转换函数
CharToStr字符转换成字符串
DoubleToStr双精度浮点转换成字符串
NormalizeDouble给出环绕浮点值的精确度
StrToDouble字符串型转换成双精度浮点型
StrToInteger字符串型转换成整型
StrToTime字符串型转换成时间型
TimeToStr时间类型转换为 "yyyy.mm.dd hh:mi"格式
Custom indicators自定义指标
IndicatorBuffers
IndicatorCounted
IndicatorDigits
IndicatorShortName
SetIndexArrow
SetIndexBuffer
SetIndexDrawBegin
SetIndexEmptyValue
SetIndexLabel
SetIndexShift
SetIndexStyle
SetLevelStyle
SetLevelValue
Date & Time functions日期时间函数
Day
DayOfWeek
DayOfYear
Hour
Minute
Month
Seconds
TimeCurrent
TimeDay
TimeDayOfWeek
TimeDayOfYear
TimeHour
TimeLocal
TimeMinute
TimeMonth
TimeSeconds
TimeYear
Year
File functions文件函数
FileClose关闭文件
FileDelete删除文件
FileFlush将缓存中的数据刷新到磁盘上去
FileIsEnding文件结尾
FileIsLineEnding
FileOpen打开文件
FileOpenHistory历史目录中打开文件
FileReadArray将二进制文件读取到数组中
FileReadDouble从文件中读取浮点型数据
FileReadInteger从当前二进制文件读取整形型数据
FileReadNumber
FileReadString从当前文件位置读取字串符
FileSeek文件指针移动
FileSize文件大小
FileTell文件指针的当前位置
FileWrite写入文件
FileWriteArray一个二进制文件写入数组
FileWriteDouble一个二进制文件以浮动小数点写入双重值
FileWriteInteger一个二进制文件写入整数值
FileWriteString当前文件位置函数写入一个二进制文件字串符
Global variables全局变量
GlobalVariableCheck
GlobalVariableDel
GlobalVariableGet
GlobalVariableName
GlobalVariableSet
GlobalVariableSetOnCondition
GlobalVariablesDeleteAll
GlobalVariablesTotal
Math & Trig数学和三角函数
MathAbs
MathArccos
MathArcsin
MathArctan
MathCeil
MathCos
MathExp
MathFloor
MathLog
MathMax
MathMin
MathMod
MathPow
MathRand
MathRound
MathSin
MathSqrt
MathSrand
MathTan
Object functions目标函数
ObjectCreate建立目标
ObjectDelete删除目标
ObjectDescription目标描述
ObjectFind查找目标
ObjectGet目标属性
ObjectGetFiboDescription斐波纳契描述
ObjectGetShiftByValue
ObjectGetValueByShift
ObjectMove移动目标
ObjectName目标名
ObjectsDeleteAll删除所有目标
ObjectSet改变目标属性
ObjectSetFiboDescription改变目标斐波纳契指标
ObjectSetText改变目标说明
ObjectsTotal返回目标总量
ObjectType返回目标类型
String functions字符串函数
StringConcatenate字符串连接
StringFind字符串搜索
StringGetChar字符串指定位置代码
StringLen字符串长度
StringSetChar
StringSubstr提取子字符串
StringTrimLeft
StringTrimRight
Technical indicators技术指标
iAC比尔.威廉斯的加速器或减速箱振荡器
iAD离散指标
iAlligator比尔・威廉斯的鳄鱼指标
iADX移动定向索引
iATR平均真实范围
iAO比尔.威廉斯的振荡器
iBearsPower熊功率指标
iBands保力加通道技术指标
iBandsOnArray保力加通道指标
iBullsPower牛市指标
iCCI商品通道索引指标
iCCIOnArray商品通道索引指标
iCustom指定的客户指标
iDeMarker
iEnvelopes包络指标
iEnvelopesOnArray包络指标
iForce强力索引指标
iFractals分形索引指标
iGator随机震荡指标
iIchimoku
iBWMFI比尔.威廉斯市场斐波纳契指标
iMomentum动量索引指标
iMomentumOnArray
iMFI资金流量索引指标
iMA移动平均指标
iMAOnArray
iOsMA移动振动平均震荡器指标
iMACD移动平均数汇总/分离指标
iOBV能量潮指标
iSAR抛物线状止损和反转指标
iRSI相对强弱索引指标
iRSIOnArray
iRVI相对活力索引指标
iStdDev标准偏差指标
iStdDevOnArray
iStochastic随机震荡指标
iWPR威廉指标
Timeseries access时间序列图表数据
iBars柱的数量
iBarShift开始时间的柱
iClose
iHigh
iHighest
iLow
iLowest
iOpen
iTime
iVolume
Trading functions交易函数
Execution errors错误代码
OrderClose平仓
OrderCloseBy反向定单平仓
OrderClosePrice当前订单收盘价
OrderCloseTime当前订单平仓时间
OrderComment订单注释
OrderCommission订单佣金
OrderDelete删除挂单
OrderExpiration挂单有效期
OrderLots订单手数
OrderMagicNumber订单编号
OrderModify修改挂单
OrderOpenPrice订单开仓价
OrderOpenTime订单开仓时间
OrderPrint打印订单
OrderProfit订单净利
OrderSelect选择订单
OrderSend开仓
OrdersHistoryTotal
OrderStopLoss
OrdersTotal
OrderSwap
OrderSymbol
OrderTakeProfit
OrderTicket
OrderType
Window functions窗口函数
HideTestIndicators隐藏指标
Period使用周期
RefreshRates刷新预定义变量和系列数组的数据
Symbol当前货币对
WindowBarsPerChart可见柱总数
WindowExpertName智能交易系统名称
WindowFind返回名称
WindowFirstVisibleBar第一个可见柱
WindowHandle
WindowIsVisible图表在子窗口中可见
WindowOnDropped
WindowPriceMax
WindowPriceMin
WindowPriceOnDropped
WindowRedraw
WindowScreenShot
WindowTimeOnDropped
WindowsTotal指标窗口数
WindowXOnDropped
WindowYOnDropped
Obsolete functions过时的函数
MQL4 Reference MQL4 命令手册 (本手册采用 Office2007 编写) 2010 年 2 月
MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。 这种语言可以 创建你自己的智能交易,使自己的交易策略能够完全自动地执行。而且,MQL4 还能自定义 客户指标,脚本和数据库。 内包含了大量可以分析当前及历史报价所必须的函数,以及一些基本的运算和逻辑操作。并 内置了一些基本的指标和操作命令。 MetaEditor 4 集合了编写 MQL4 程序代码的各种语句,它能帮助使用者方便地写出规范的代 码。 MetaQuotes Language Dictionary 是 MQL4 语言的帮助工具,它包含了我们在使用工程 中所有可能用到的函数。 MetaQuotes Language 4 可以编写不同作用的程序代码: ■智能交易 是一种连接到特定图表的自动交易系统。它能够根据设置的节点自动启动 ,当 它开始运行后,它不会同时去处理另一个新的指令(也就是说必须等到当前程序完成)。 这 种交易系统能够在提醒用户可以交易的同时,将交易定单自动送到交易服务器。与大多数交 易系统一样, 它也能够用历史数据测试交易策略,并在图表上显示出来。 智能交易存储在 terminal_directory\experts。 ■自定义指标 可用来编写新的技术指标,和内置的指标一样,它不能用来进行自动交易,只 能作为分析数据的工具。 自定义指标储存在 terminal_directory\experts\indicators。 ■脚本 是执行单一功能的一段程序,和 智能交易不同,脚本不能单独执行,只能被调用。 脚本存储在 terminal_dictionary\experts\scripts。 ■数据库 常被使用的自定义函数的集合。数据库不能单独运行。 数据库建议存储在 terminal_directory\experts\libraries。 ■包含文件 包含文件常被使用的程序块源代码,这些文件能够被包含在智能交易,脚本, 客户指标和数据库 的源代码中。 使用包含文件比调用资料库更灵活快捷。 包含文件交易储存在 terminal_directory\experts\include。
Basics 基础 MetaQuotes Language 4 (MQL4)是一种新型的交易策略内置语言。用来编写交易策略的程序 语言。这种语言可以创建你自己的智能交易, 使自己的交易策略能够完全地自动执行。程 序内包含了分析历史报价的必备函数, 以及一些基本的运算法和逻辑操作和一些基本的指 标和操作命令。 而且,MQL4 还能自定义自己的客户指标,脚本和数据库。 Syntax 语法 MQL4 的语法类似于 C 语言,除了以下这些特点:  没有运算地址;  没有 do ... while 语句;  没有 goto ... 语句;  没有 [条件][表达式 1]:[表达式 2] 语句;  没有复合数据类型 (结构);  复合负值是不允许的,例如:val1=val2=0; arr[i++]=val; cond=(cnt=OrdersTotal)>0; 等等;  逻辑表达式的计算完成前不可以提前终止。 Comments 注释 多行注释使用 /* 作为开始到 */ 结束,在这之间不能够嵌套。单行注释使用 // 作为开始 到新的一行结束,可以被嵌套到多行注释之中。 示例: // 单独注解 /* multi- // 嵌入单独注解 line comment */ Identifiers 标识符 标识符用来给变量、函数和数据类型进行命名,长度不能超过 31 个字节,你可以使用数字 0-9、拉丁字母大写 A-Z 和小写 a-z(大小写有区分的)还有下划线(_)。此外首字母不可以是数 字,标识符不能和保留字冲突. 示例: NAME1 namel Total_5 Paper
Reserved words 保留字 下面列出的是固定的保留字。不能使用以下任何保留字进行命名。 数据类型 储存类型 extern static bool color datetime double int string void 其他 false true 操作符 break case continue default else for if return switch while Data types 数据类型 所有的程序都依靠数据来运作,数据因目的不同可以有不同的类型 。比如,访问数组可以 用整型数据,价格可以用双精度的浮点型数据。在 MQL 4 中没有专门用来标记货币值的数 据类型。 不同的数据类型有不同的处理速度,整型数据是最快的。 双精度的数据处理需要额外的处 理器,所以处理浮点型数据比较复杂, 比处理整型数据慢一些。字符串是处理速度最慢的, 因为它要存取动态内存。 主要的数据类型如下:  整型数据 (int)  布尔数据 (bool)  字符数据 (char)  字符串数据 (string)  浮点型数据 (double)  颜色数据 (color)  日期时间数据 (datetime) color 和 datetime 可以使我们更清楚的区分图表中的内容,在 expert advisor 和 indicator 中经常使用这些数据类型。颜色和日期时间数据用整数来表示。int 和 double 都属于数值 (数字)型。 在表达式运算中使用强制的类型转换。
Type casting 类型转换 (bool,color,datetime); 表达式中使用强制的数据转换,转换时类型的优先级如下: int double; string; 在运算完成之前(除了数据已被定义的),数据会根据优先级被转换。当定义数据的操作完成 前 ,数据会转换成被定义的数据类型。 示例: int int double d = 1.0 / 2.0; // 没有类型转换,结果为 0.5 double d = 1 / 2.0; double d = 1 / 2; 类型转换不但运用在常量中,还被运用在相应的变量中。 // 表达式计算的结果是浮点型数据,和定义的类型一样,结果为 0.5 // 表达式是整型数据的计算,然后被定义为浮点型数据,结果为 0.0 // 没有类型转换,结果为 0 // 表达式中有浮点型数据,但会转换成整型数据,结果为 0 i = 1 / 2; i = 1 / 2.0; Integer constants 整数常量 十进制: 数字 0 - 9 ,包括负数。 示例: 12, 111, -956 1007 十六进制: 数字 0 - 9 , 字面 a - f 或者 A - F 代表 10 - 15; 以 0x 或者 0X 开头。 示例: 0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7 整型数据占用 4 字节的空间,其数值范围介于 -2147483648 ~ 2147483647 之间。如果超 出这个范围,则视为无效。 Literal constants 字面常量 任何带单引号的单一字符或者十六进制的 ASCII 码如 '\x10' 都是字符数据。一些特殊的字 符如单引号(')、双引号(")、问号(?)、反斜线(\)和控制符必须以反斜线开头(\), 组合表达原 来的意思,如下表所示: NL (LF) HT CR \ ' " hh 换行 制表符 回车 反斜线 单引号 双引号 十六进制 ASCII 如果上述字符不使用反斜线,结果将不被定义: int a = 'A'; \n \t \r \\ \' \" \xhh
int b = '$'; int c = '©'; int d = '\xAE'; 字符数据占用 4 字节的空间。其数值范围介于 0 ~ 255 之间。如果超出这个范围,则视 为无效。 // 代码 0xA9 //货币对代码 ® Boolean constants 布尔常量 Boolean 用来表示 是 和 否, 还可以用数字 1 和 0 进行表示。True 和 Flase 可以忽略大小 写。 示例: bool a = true; bool b = false; bool c = 1; 它的十进制表示一个长度为 4-byte 的整数值。Boolean 常数可以表示 0 或 1 值。 Floating-point number constants (double)浮点数常量(双精 度) 浮点型数据由整数部分、小数点(.)和小数部分组成,其中整数部分和小数部分为一系列十进 制数字。 示例: double a = 12.111; double b = -956.1007; double c = 0.0001; double d = 16; 浮点型数据 (双精度)占用 4 字节的空间。其数值范围介于 -1.7 * e-308 ~ 1.7 * e308 之 间。如果超出这个范围,则视为无效。 String constants 字符串常量 字符串数据是带有双引号的一连串 ASCII 字符 ,如: "Character constant"。 字符串数据是引号里的一组字符,如果字符串中需要插入一个双引号(") 必须在它前面使用 反斜线(\)。任何特殊字符都必须有前置的反斜线(\)才能在字符串中使用。字符串可以容纳 0 到 255 个字符,如果超过这个长度,右边多余的字符将被忽略,编译器也会有相应的警示。 示例 s: "This is a character string" "Copyright symbol \t\xA9" "this line contains a line feed symbol \n" "C:\\Program Files\\MetaTrader 4" "A" "1234567890" "0" "$"
分享到:
收藏