对于每个执行的MQL4程序,一定数量的变量设定可以轻松应对图表中的价格状态:智能交易,脚本或者是客户指标将他们应用到可变量的模型中来。
可以由预定义的变量分开处理。 这些数据会在开启后应用 RefreshRates()函数更新。
MT4编程手册
- 1 初识MQL4程序
- 2 MQL4程序框架
- 3 MQL4语法
- 3.1 语法
- 3.2 注释
- 3.3 标识符
- 3.4 保留字(关键字)
- 3.5 数据类型
- 3.6 类型转换
- 3.7 整型
- 3.8 字符型
- 3.9 布尔型
- 3.10 浮点型(双精度型)
- 3.11 字符串类型
- 3.12 颜色型
- 3.13 时间类型
- 3.14 运算符和表达式
- 3.15 运算符优先级
- 3.16 其它操作
- 3.17 函数
- 3.18 函数调用
- 3.19 形式参数
- 3.20 特殊函数
- 3.21 变量
- 3.22 局部变量
- 3.23 静态变量
- 3.24 全局变量
- 3.25 外部定义变量(输入变量)
- 3.26 变量初始化
- 3.27 外部定义函数
- 3.28 预处理程序
- 3.29 常数申明
- 3.30 编译控制
- 3.31 头文件包含
- 3.32 函数导入
- 3.33 数组
- 4 MQL4标准常量
- 4.1 标准常量说明
- 4.2 系列数组(Series arrays)
- 4.3 时间周期(Timeframes)
- 4.4 交易类型(Trade operations)
- 4.5 价格常量(Price constants)
- 4.6 市场信息常量(MarketInfo)
- 4.7 画线样式与风格(Drawing styles )
- 4.8 箭头代码(Arrow codes)
- 4.9 字体类型常数(Wingdings)
- 4.10 颜色常数(Web colors)
- 4.11 指标线(Indicator lines)
- 4.12 一目均衡图(Ichimoku Kinko Hyo)
- 4.13 移动平均线计算方法(Moving Average methods)
- 4.14 消息框(MessageBox)
- 4.15 对象类型(Object types)
- 4.16 对象属性(Object properties)
- 4.17 对象有效周期(Object visibility)
- 4.18 初始失败化原因代码(Uninitialize reason codes)
- 4.19 特殊常量(Special constants)
- 4.20 错误代码(Error codes)
- 5 MQL4预定义变量
- 5.1 预定义变量说明
- 5.2 Ask(做多买入价)
- 5.3 Bid(做空买入价)
- 5.4 Bars(K线总数)
- 5.5 open(开盘价数组)
- 5.6 Close(收盘价数组)
- 5.7 High(最高价数组)
- 5.8 Low(最低价数组)
- 5.9 Digits(计价小数位)
- 5.10 Point(点值)
- 5.11 Time(时间数组)
- 5.12 Volume(成交量数组)
- 5.13 _Digits(计价小数位)
- 5.14 _Point(点值)
- 5.15 _LastError(最后一次报错的错误代码)
- 5.16 _Period(当前图表的时间周期)
- 5.17 _RandomSeed(伪随机数)
- 5.18 _StopFlag(停止标志)
- 5.19 _Symbol(当前图表货币对名称)
- 5.20 _UninitReason(初始化失败)
- 6 MQL4运行程序
- 7 MT4账户信息获取
- 7.1 AccountBalance(账户余额)
- 7.2 AccountCredit(账户信用点数)
- 7.3 AccountCompany(账户公司名)
- 7.4 AccountCurrency(账户使用的货币名称)
- 7.5 AccountEquity(账户净值)
- 7.6 AccountFreeMargin(账户可用保证金)
- 7.7 AccountFreeMarginCheck(可用保证金检查)
- 7.8 AccountFreeMarginMode(可用保证金计算模式)
- 7.9 AccountLeverage(账户杠杆比率)
- 7.10 AccountMargin(账户保证金)
- 7.11 AccountName(账户名称)
- 7.12 AccountNumber(账户的账号)
- 7.13 AccountProfit(账户利润)
- 7.14 AccountServer(服务器名字)
- 7.15 AccountStopoutLevel(账户强制平仓位置)
- 7.16 AccountStopoutMode(账户强制平仓计算模式)
- 8 MQL4数组使用
- 8.0 说明
- 8.1 ArrayBsearch(数组二分查找)
- 8.2 ArrayCopy(数组复制)
- 8.3 ArrayCopyRates(复制走势信息到数组)
- 8.4 ArrayCopySeries(复制一个系列的走势数据)
- 8.5ArrayDimension(返回数组的维数)
- 8.6 ArrayGetAsSeries(检查数组是否按时间序列排序的)
- 8.7 ArrayInitialize(初始化数组)
- 8.8 ArrayIsSeries(判断数组是否系列数组)
- 8.9 ArrayMaximum(数组中最大值)
- 8.10 ArrayMinimum(数组中最小值)
- 8.11 ArrayRange(数组每个维度大小)
- 8.12 ArrayResize(重置数组大小)
- 8.13 ArraySetAsSeries(数组设置为系列数组)
- 8.14 ArraySize(数组大小)
- 8.15 ArraySort(数组排序)
- 9 MQL4检查函数
- 9.0 说明
- 9.1 GetLastError(错误代码)
- 9.2 IsStopped(程序是否终止)
- 9.3 IsConnected(服务器是否链接)
- 9.4 IsDemo(是否模拟账户)
- 9.5 IsDllsAllowed(是否允许使用链接库)
- 9.6 IsExpertEnabled(是否允许自动交易)
- 9.7 IsLibrariesAllowed(是否允许使用数据库)
- 9.8 IsOptimization(是否优化模式)
- 9.9 IsTesting(是否测试中运行)
- 9.10 IsTradeAllowed(是否允许交易)
- 9.11 IsTradeContextBusy(是否交易繁忙)
- 9.12 IsVisualMode(是否虚拟模式)
- 9.13 UninitializeReason(初始化失败原因)
- 9.14 Symbol(货币对名称)
- 9.15 Period(时间周期)
- 9.16 Digits(小数位数)
- 9.17 Point(点值)
- 9.18 TerminalCompany(平台商名称)
- 9.19 TerminalName(客户终端名称)
- 9.20 TerminalPath(客户终端安装目录)
- 10 MT4客户终端信息
- 11 MT4通用函数
- 12 MQL4转换函数
- 13 MT4自定义指标函数
- 13.0 说明
- 13.1 HideTestIndicators
- 13.2 IndicatorSetDouble
- 13.3 IndicatorSetInteger
- 13.4 IndicatorSetString
- 13.5 SetIndexBuffer
- 13.6 IndicatorBuffers
- 13.7 IndicatorCounted
- 13.8 IndicatorDigits
- 13.9 IndicatorShortName
- 13.10 SetIndexArrow
- 13.11 SetIndexDrawBegin
- 13.12 SetIndexEmptyValue
- 13.13 SetIndexLabel
- 13.14 SetIndexShift
- 13.15 SetIndexStyle
- 13.16 SetLevelStyle
- 13.17 SetLevelValue
- 14 MT4时间类型函数
- 14.0 说明
- 14.1 TimeCurrent(服务器时间)
- 14.2 TimeLocal(本机时间)
- 14.3 Year(年)
- 14.4 Month(月)
- 14.5 Day(日)
- 14.6 Hour(时)
- 14.7 Minute(分)
- 14.8 Seconds(秒)
- 14.9 TimeYear(指定时间的年)
- 14.10 TimeDay(指定时间所在月的天数)
- 14.11 TimeHour(指定时间的小时)
- 14.12 TimeMinute(指定时间的分钟)
- 14.13 TimeMonth(指定时间的月)
- 14.14 TimeSeconds(指定时间的秒)
- 14.15 TimeDayOfYear(指定时间的天数)
- 14.16 TimeDayOfWeek(指定时间的周数)
- 14.17 DayOfYear(日)
- 14.18 DayOfWeek(周)
- 15 MQL4文件操作函数
- 15.0 说明
- 15.1 FileClose(关闭文件)
- 15.2 FileDelete(删除文件)
- 15.3 FileFlush(刷新文件)
- 15.4 FileIsEnding(是否文件结尾)
- 15.5 FileIsLineEnding(是否行结尾)
- 15.6 FileOpen(打开文件)
- 15.7 FileOpenHistory(文件打开历史)
- 15.8 FileReadArray(读取文件到数组
- 15.9 FileReadDouble(读取浮点数)
- 15.10 FileReadInteger(读取整型数)
- 15.11 FileReadNumber(读取数量)
- 15.12 FileReadString(读取字符串)
- 15.13 FileSeek(文件指针移动)
- 15.14 FileSize(文件大小)
- 15.15 FileTell(文件指针位置)
- 15.16 FileWrite(写入文件)
- 15.17 FileWriteArray(写入数组)
- 15.18 FileWriteDouble(写入浮点数)
- 15.19 FileWriteInteger(写入整型数)
- 15.20 FileWriteString(写入字符串)
- 16 MT4客户端全局变量
- 17 MQL4数学和三角函数
- 17.0 说明
- 17.1 MathAbs(绝对值)
- 17.2 MathArccos(反余弦)
- 17.3 MathArcsin(反正弦)
- 17.4 MathArctan(反正切)
- 17.5 MathCeil(最小大于)
- 17.6 MathCos(余弦)
- 17.7 MathExp(e求幂)
- 17.8 MathFloor(最大小于)
- 17.9 MathLog(自然对数)
- 17.10 MathMax(最大)
- 17.11 MathMin(最小)
- 17.12 MathMod(浮点求余)
- 17.13 MathPow(指定数求幂)
- 17.14 MathRand(随机数)
- 17.15 MathRound(四舍五入)
- 17.16 MathSin(正弦)
- 17.17 MathSqrt(平方根)
- 17.18 MathSrand(随机数起点)
- 17.19 MathTan(正切)
- 18 MQL4图表对象操作函数
- 18.0 说明
- 18.1 ObjectCreate(创建对象)
- 18.2 ObjectDelete(删除对象)
- 18.3 ObjectDescription(对象描述)
- 18.4 ObjectFind(查找对象)
- 18.5 ObjectGet(获取对象属性)
- 18.6 ObjectGetFiboDescription(获取斐波那契描述)
- 18.7 ObjectGetShiftByValue(计算索引柱值)
- 18.8 ObjectGetValueByShift(计算返回K柱号)
- 18.9 ObjectMove(移动对象)
- 18.10 ObjectName(对象名)
- 18.11 ObjectsDeleteAll(删除所有对象)
- 18.12 ObjectSet(设置对象属性)
- 18.13 ObjectSetFiboDescription(设置斐波那契描述)
- 18.14 ObjectSetText(设置对象文字)
- 18.15 ObjectsTotal(对象总数)
- 18.16 ObjectType(对象类型)
- 19 MQL4字符串操作函数
- 19.0 说明
- 19.1 StringAdd 字符串合并
- 19.2 StringBufferLen 返回字符串申请的内存大小
- 19.3 StringCompare 字符串对比
- 19.4 StringConcatenate (字符串链接)
- 19.5 StringFill (字符串填充)
- 19.6 StringFind(字符串查找)
- 19.7 StringGetCharacter(获取指定位置字符)
- 19.8 StringInit(初始化字符串)
- 19.9 StringLen(字符串长度)
- 19.10 StringReplace 字符串替换
- 19.11 StringSetCharacter(指定位置插入字符)
- 19.12 StringSplit(字符串剪切)
- 19.13 StringSubstr(子字符串)
- 19.14 StringToLower(大写转小写)
- 19.15 StringToUpper(小写转大写)
- 19.16 StringTrimLeft(消除左边空格)
- 19.17 StringTrimRight(消除右边空格)
- 19.18 StringGetChar(获取指定位置字符)
- 19.19 StringSetChar(设置指定位置字符)
- 20 MT4标准指标计算函数
- 20.0 说明
- 20.1 iAC(震荡加速指标)
- 20.2 iAD(离散指标)
- 20.3 iADX
- 20.4 iAlligator(鳄鱼指标)
- 20.5 iAO(震荡指标)
- 20.6 iATR(平均真实波动指标)
- 20.7 iBands(布林带指标)
- 20.8 iBandsOnArray
- 20.9 iBearsPower(熊力指标)
- 20.10 iBullsPower(牛力指标)
- 20.11 iBWMFI(市场促进指标)
- 20.12 iCCI(商品通道指标)
- 20.13 iCCIOnArray
- 20.14 iCustom(自定义指标)
- 20.15 iDeMarker(震荡指标)
- 20.16 iEnvelopes(包络图)
- 20.17 iEnvelopesOnArray
- 20.18 iForce(强力指标)
- 20.19 iFractals(分型指标)
- 20.20 iGator(加多摆动指标)
- 20.21 iIchimoku(一目云图)
- 20.22 iMA(移动平均线指标)
- 20.23 iMACD(移动平均汇总/分离指标)
- 20.24 iMAOnArray
- 20.25 iMFI(资金流量指标)
- 20.26 iMomentum(动量索引指标)
- 20.26 iMomentumOnArray
- 20.27 iOBV(能量潮指标)
- 20.28 iOsMA(移动平均震荡指标)
- 20.29 iRSI(相对强弱指标)
- 20.30 iRSIOnArray
- 20.31 iRVI(相对活力指标)
- 20.32 iSAR(抛物线指标)
- 20.33 iStdDev(标准离差指标)
- 20.34 iStdDevOnArray
- 20.35 iStochastic(随机震荡指标)
- 20.36 iWPR(威廉指标)
- 21 MT4价格数据函数
- 22 MQL4交易函数
- 22.0 说明
- 22.1 运行错误代码
- 22.2 OrderClose(平仓)
- 22.3 OrderCloseBy(平仓并反向开仓)
- 22.4 OrderClosePrice(平仓价)
- 22.5 OrderCloseTime(平仓时间)
- 22.6 OrderComment(订单注释)
- 22.7 OrderCommission(手续费)
- 22.8 OrderDelete(删除挂单)
- 22.9 OrderExpiration(挂单有效期)
- 22.10 OrderLots(订单手数)
- 22.11 OrderMagicNumber(订单指定号码)
- 22.12 OrderModify(修改订单)
- 22.13 OrderOpenPrice(开仓价)
- 22.14 OrderOpenTime(开仓时间)
- 22.15 OrderPrint(打印订单)
- 22.16 OrderProfit(订单浮盈)
- 22.17 OrderSelect(选择订单)
- 22.18 OrderSend(开仓)
- 22.19 OrdersHistoryTotal(历史订单数)
- 22.20 OrderStopLoss(止损)
- 22.21 OrdersTotal(订单总数)
- 22.22 OrderSwap(隔夜利息)
- 22.23 OrderSymbol(订单货币对)
- 22.24 OrderTakeProfit(止盈)
- 22.25 OrderTicket(订单编号)
- 22.26 OrderType(订单类型)
- 23 MQL4图表窗口使用函数
- 23.0 说明
- 23.1 HideTestIndicators(隐藏指标)
- 23.2 Period(时间周期)
- 23.3 RefreshRates(刷新系列数组)
- 23.4 Symbol(货币对)
- 23.5 WindowBarsPerChart(图标可见K线)
- 23.6 WindowExpertName(EA名字)
- 23.7 WindowFind(查找窗口)
- 23.8 WindowFirstVisibleBar(第一个可见K柱)
- 23.9 WindowHandle(窗口句柄)
- 23.10 WindowIsVisible(窗口是否可见)
- 23.11 WindowOnDropped(被删除EA所在窗口)
- 23.12 WindowPriceMax(窗口最大价格)
- 23.13 WindowPriceMin(窗口最小价格)
- 23.14 WindowPriceOnDropped
- 23.15 WindowRedraw(刷新显示)
- 23.16 WindowScreenShot(截屏
- 23.17 WindowTimeOnDropped
- 23.18 WindowsTotal(窗口数量)
- 23.19 WindowXOnDropped
- 23.20 WindowYOnDropped