MQL4命令中文详解手册
- 格式:docx
- 大小:190.28 KB
- 文档页数:175
MQL4 Reference MQL4命令手册〔本手册采用Office2007编写〕2021年2月目录MQL4 Reference (1)MQL4命令手册 (1)Basics根底 (12)Syntax语法 (12)Comments注释 (12)Identifiers标识符 (12)Reserved words保存字 (13)Data types数据类型 (13)Type casting类型转换 (14)Integer constants整数常量 (14)Literal constants字面常量 (14)Boolean constants布尔常量 (15)Floating-point number constants (double)浮点数常量〔双精度〕 (15)String constants字符串常量 (15)Color constants颜色常数 (16)Datetime constants日期时间常数 (16)Operations & Expressions操作表达式 (17)Expressions表达式 (17)Arithmetical operations算术运算 (17)Assignment operation赋值操作 (17)Operations of relation操作关系 (18)Boolean operations布尔运算 (18)Bitwise operations位运算 (19)Other operations其他运算 (19)Precedence rules优先规那么 (20)Operators操作符 (21)Compound operator复合操作符 (21)Expression operator表达式操作符 (21)Break operator终止操作符 (21)Continue operator继续操作符 (22)Return operator返回操作符 (22)Conditional operator if-else条件操作符 (23)Switch operator跳转操作符 (23)Cycle operator while循环操作符while (24)Cycle operator for循环操作符for (24)Functions函数 (25)Function call函数调用 (26)Special functions特殊函数 (27)Variables变量 (27)Local variables局部变量 (28)Formal parameters形式变量 (28)Static variables静态变量 (29)Global variables全局变量 (29)Defining extern variables外部定义变量 (30)Initialization of variables初始化变量 (30)External functions definition外部函数的定义 (30)Preprocessor预处理 (31)Constant declaration常量声明 (31)Controlling compilation编译控制 (32)Including of files包含文件 (32)Importing of functions导入功能 (33)Standard constants标准常数 (35)Series arrays系列数组 (35)Timeframes图表周期时间 (35)Trade operations交易操作 (36)Price constants价格常数 (36)MarketInfo市场信息识别符 (36)Drawing styles画线风格 (37)Arrow codes预定义箭头 (38)Wingdings宋体 (39)Web colors颜色常数 (39)Indicator lines指标线 (40)Ichimoku Kinko Hyo (41)Moving Average methods移动平均方法 (41)MessageBox信息箱 (41)Object types对象类型 (43)Object properties对象属性 (44)Object visibility (45)Uninitialize reason codes撤销初始化原因代码 (45)Special constants特别常数 (46)Error codes错误代码 (46)Predefined variables预定义变量 (50)Ask最新卖价 (50)Bars柱数 (50)Bid最新买价 (50)Close[]收盘价 (51)Digits汇率小数位 (51)High[]最高价 (51)Low[]最低价 (52)Open[]开盘价 (53)Point点值 (53)Time[]开盘时间 (53)Volume[]成交量 (54)Program Run程序运行 (56)Program Run程序运行 (56)Imported functions call输入函数调用 (57)Runtime errors运行错误 (57)Account information账户信息 (68)AccountBalance( )账户余额 (68)AccountCredit( )账户信用点数 (68)AccountCompany( )账户公司名 (68)AccountCurrency( )根本货币 (68)AccountEquity( )账户资产净值 (68)AccountFreeMargin( )账户免费保证金 (69)AccountFreeMarginCheck()账户当前价格自由保证金 (69)AccountFreeMarginMode( )账户免费保证金模式 (69)AccountLeverage( )账户杠杆 (69)AccountMargin( )账户保证金 (69)AccountNumber( )账户数字 (70)AccountProfit( )账户利润 (70)AccountServer( )账户连接效劳器 (70)AccountStopoutLevel( )账户停止水平值 (70)AccountStopoutMode( )账户停止返回模式 (71)Array functions数组函数 (72)ArrayBsearch()数组搜索 (72)ArrayCopy()数组复制 (72)ArrayCopyRates()数组复制走势 (73)ArrayCopySeries()数组复制系列走势 (74)ArrayDimension()返回数组维数 (75)ArrayGetAsSeries()返回数组序列 (75)ArrayInitialize()数组初始化 (75)ArrayIsSeries()判断数组连续 (75)ArrayMaximum()数组最大值定位 (76)ArrayMinimum()数组最小值定位 (76)ArrayRange()返回数组指定维数数量 (76)ArrayResize()改变数组维数 (77)ArraySetAsSeries()设定系列数组 (77)ArraySize()返回数组工程数 (78)ArraySort()数组排序 (78)Checkup检查 (79)GetLastError( )返回最后错误 (79)IsConnected( )返回联机状态 (79)IsDllsAllowed( )返回dll允许调用 (80)IsExpertEnabled( )返回智能交易开启状态 (80)IsLibrariesAllowed( )返回数据库函数调用 (80)IsOptimization( )返回策略测试中优化模式 (81)IsStopped( )返回终止业务 (81)IsTesting( )返回测试模式状态 (81)IsTradeAllowed( )返回允许智能交易 (81)IsTradeContextBusy( )返回其他智能交易忙 (82)IsVisualMode( )返回智能交易“图片模式〞 (82)UninitializeReason( )返回智能交易初始化原因 (82)Client terminal客户端信息 (83)TerminalCompany( )返回客户端所属公司 (83)TerminalName( )返回客户端名称 (83)TerminalPath( )返回客户端文件路径 (83)Common functions常规命令函数 (84)Alert弹出警告窗口 (84)Comment显示信息在走势图左上角 (84)GetTickCount获取时间标记 (84)MarketInfo在市场观察窗口返回不同数据保证金列表 (85)MessageBox创立信息窗口 (85)PlaySound播放声音 (86)Print窗口中显示文本 (86)SendFTP设置FTP (86)SendMail设置Email (87)Sleep指定的时间间隔内暂停交易业务 (87)Conversion functions格式转换函数 (88)CharToStr字符转换成字符串 (88)DoubleToStr双精度浮点转换成字符串 (88)NormalizeDouble给出环绕浮点值的精确度 (88)StrToDouble字符串型转换成双精度浮点型 (89)StrToInteger字符串型转换成整型 (89)StrToTime字符串型转换成时间型 (89)TimeToStr时间类型转换为"yyyy.mm.dd hh:mi"格式 (89)Custom indicators自定义指标 (91)IndicatorBuffers (91)IndicatorCounted (92)IndicatorDigits (92)IndicatorShortName (93)SetIndexArrow (94)SetIndexBuffer (94)SetIndexDrawBegin (95)SetIndexEmptyValue (95)SetIndexLabel (96)SetIndexShift (97)SetIndexStyle (98)SetLevelStyle (98)SetLevelValue (99)Date & Time functions日期时间函数 (100)Day (100)DayOfWeek (100)DayOfYear (100)Hour (100)Minute (101)Month (101)Seconds (101)TimeCurrent (101)TimeDay (102)TimeDayOfWeek (102)TimeDayOfYear (102)TimeHour (102)TimeLocal (102)TimeMinute (103)TimeMonth (103)TimeSeconds (103)TimeYear (103)Year (104)File functions文件函数 (105)FileClose关闭文件 (105)FileDelete删除文件 (105)FileFlush将缓存中的数据刷新到磁盘上去 (106)FileIsEnding文件结尾 (106)FileIsLineEnding (107)FileOpen翻开文件 (107)FileOpenHistory历史目录中翻开文件 (108)FileReadArray将二进制文件读取到数组中 (108)FileReadDouble从文件中读取浮点型数据 (109)FileReadInteger从当前二进制文件读取整形型数据 (109)FileReadNumber (109)FileReadString从当前文件位置读取字串符 (110)FileSeek文件指针移动 (110)FileSize文件大小 (111)FileTell文件指针的当前位置 (111)FileWrite写入文件 (112)FileWriteArray一个二进制文件写入数组 (112)FileWriteDouble一个二进制文件以浮动小数点写入双重值 (113)FileWriteInteger一个二进制文件写入整数值 (113)FileWriteString当前文件位置函数写入一个二进制文件字串符 (114)Global variables全局变量 (115)GlobalVariableCheck (115)GlobalVariableDel (115)GlobalVariableGet (115)GlobalVariableName (116)GlobalVariableSet (116)GlobalVariableSetOnCondition (116)GlobalVariablesDeleteAll (117)GlobalVariablesTotal (117)Math & Trig数学和三角函数 (119)MathAbs (119)MathArccos (119)MathArctan (120)MathCeil (120)MathCos (120)MathExp (121)MathFloor (121)MathLog (122)MathMax (122)MathMin (122)MathMod (122)MathPow (123)MathRand (123)MathRound (123)MathSin (124)MathSqrt (124)MathSrand (124)MathTan (125)Object functions目标函数 (126)ObjectCreate建立目标 (126)ObjectDelete删除目标 (127)ObjectDescription目标描述 (127)ObjectFind查找目标 (127)ObjectGet目标属性 (128)ObjectGetFiboDescription斐波纳契描述 (128)ObjectGetShiftByValue (128)ObjectMove移动目标 (129)ObjectName目标名 (129)ObjectsDeleteAll删除所有目标 (130)ObjectSet改变目标属性 (130)ObjectSetFiboDescription改变目标斐波纳契指标 (131)ObjectSetText改变目标说明 (131)ObjectsTotal返回目标总量 (131)ObjectType返回目标类型 (132)String functions字符串函数 (133)StringConcatenate字符串连接 (133)StringFind字符串搜索 (133)StringGetChar字符串指定位置代码 (133)StringLen字符串长度 (134)StringSetChar (134)StringSubstr提取子字符串 (134)StringTrimLeft (135)StringTrimRight (135)Technical indicators技术指标 (136)iAC比尔.威廉斯的加速器或减速箱振荡器 (136)iAD离散指标 (136)iAlligator比尔・威廉斯的鳄鱼指标 (136)iADX移动定向索引 (137)iATR平均真实范围 (137)iAO比尔.威廉斯的振荡器 (138)iBands保力加通道技术指标 (138)iBandsOnArray保力加通道指标 (139)iBullsPower牛市指标 (139)iCCI商品通道索引指标 (139)iCCIOnArray商品通道索引指标 (140)iCustom指定的客户指标 (140)iDeMarker (140)iEnvelopes包络指标 (141)iEnvelopesOnArray包络指标 (141)iForce强力索引指标 (142)iFractals分形索引指标 (142)iGator随机震荡指标 (142)iIchimoku (143)iBWMFI比尔.威廉斯市场斐波纳契指标 (143)iMomentum动量索引指标 (143)iMomentumOnArray (144)iMFI资金流量索引指标 (144)iMA移动平均指标 (144)iMAOnArray (145)iOsMA移动振动平均震荡器指标 (145)iMACD移动平均数汇总/别离指标 (146)iOBV能量潮指标 (146)iSAR抛物线状止损和反转指标 (146)iRSI相对强弱索引指标 (147)iRVI相对活力索引指标 (147)iStdDev标准偏差指标 (148)iStdDevOnArray (148)iStochastic随机震荡指标 (148)iWPR威廉指标 (149)Timeseries access时间序列图表数据 (150)iBars柱的数量 (150)iBarShift开始时间的柱 (150)iClose (150)iHigh (151)iHighest (151)iLow (152)iLowest (152)iOpen (152)iTime (153)iVolume (153)Trading functions交易函数 (155)Execution errors (155)OrderClose (157)OrderCloseBy (158)OrderClosePrice (158)OrderCloseTime (158)OrderComment (159)OrderCommission (159)OrderExpiration (160)OrderLots (160)OrderMagicNumber (160)OrderModify (160)OrderOpenPrice (161)OrderOpenTime (161)OrderPrint (162)OrderProfit (162)OrderSelect (162)OrderSend (163)OrdersHistoryTotal (164)OrderStopLoss (164)OrdersTotal (164)OrderSwap (165)OrderSymbol (165)OrderTakeProfit (165)OrderTicket (166)OrderType (166)Window functions窗口函数 (167)HideTestIndicators隐藏指标 (167)Period使用周期 (167)RefreshRates刷新预定义变量和系列数组的数据 (167)Symbol当前货币对 (168)WindowBarsPerChart可见柱总数 (168)WindowExpertName智能交易系统名称 (169)WindowFind返回名称 (169)WindowFirstVisibleBar第一个可见柱 (169)WindowHandle (169)WindowIsVisible图表在子窗口中可见 (170)WindowOnDropped (170)WindowPriceMax (170)WindowPriceMin (171)WindowPriceOnDropped (171)WindowRedraw (172)WindowScreenShot (172)WindowTimeOnDropped (173)WindowsTotal指标窗口数 (173)WindowXOnDropped (173)WindowYOnDropped (174)Obsolete functions过时的函数 (175)MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。
零基础学MQL4编程特别说明:本文中主要内容来源于英文版MQL4 Reference 摘译,本人在MQL4 Reference 基础上进行了摘译、整理,加入了部分通俗的文字说明和简明易懂的图片示例等,目的是更易于初学者上手。
如有侵权,请及时联系本人删除。
第一部分初识MQL4一、MQL4概述MetaQuotes Language 4(MQL4)是用于编程交易策略和或自定义指标等的内置语言。
该语言由MetaQuotes Software Corp根据其在创建在线交易平台方面的长期经验开发。
使用这种语言,您可以创建自己的智能交易系统,使交易管理自动化。
这非常适合实施您自己的交易策略。
此外,使用MQL4,您可以创建自己的技术指标(自定义指标),脚本和库。
MetaQuotes Language 4(MQL4)是面向对象的高级编程语言,用于编写自动交易策略,用于分析各种金融市场的自定义技术指标。
它不仅可以编写各种设计用于实时操作的专家系统,还可以创建自己的图形工具来帮助您做出交易决策。
MQL4基于流行编程语言C ++的概念。
该语言具有枚举,结构,类和事件处理。
通过增加嵌入式主类型的数量,MQL4中的可执行程序与其他应用程序之间通过dll的交互现在变得越来越简单。
MQL4语法类似于C ++的语法,可直接对C/C++语言的程序进行编译。
MQL4包含了分析当前和以前收到的报价所需的大量函数,并且具有用于管理交易订单并对其进行控制的内置基本指标和函数。
MetaEditor(文本编辑器)突出显示不同的MQL4语言结构,用于编写程序代码。
它可以帮助用户很容易地在专家系统(也叫智能交易系统)文本中定位自己。
简要指南包含函数、操作、保留字和其他语言结构,并将其分为不同的类别。
MetaQuotes Language 4可以编写具有不同功能和用途的程序:(一)、智能交易系统(EA) 这是连接到某个图表的机械交易系统。
当启动交易系统后,EA开始运行,处理以下事件:初始化事件和取消初始化事件,新的订单接收发送事件,计时器事件,市场变化事件深度,图表事件和自定义事件。
外汇智能交易MQL4语言教程(四)4.2.3. IF-THEN条件语句If-Then条件语句使得控制智能交易系统指令的执行顺序得以可能。
该语句可能有不同的方式编写:if Condition then Statement;orif Condition then beginStatement;Statement;...end;其中,条件为一个逻辑表达式,取值为True 或 False;"Statement" 指MetaQuotes II语言中的任何指令。
符号括号Begin – End可能被波形括号{ }所替代。
条件语句可能被用在对程序进行分支。
为达到此目的,另一个关键字Else要用上。
语法:if Condition then Statement1 else Statement2;orif Condition then beginStatement;Statement;...endelseStatement;Statement;...end;orif Condition then beginStatement;Statement;...endelse Statement2;orif Condition then Statement1elseStatement;Statement;...end;可以使用嵌套式的条件语句。
一般说来,语句可能由MetaQuotes II语言的任何合法指令表示,除非变量宣告,因为严格来说,变量宣告并不是一个可执行语句。
4.2.4. WHILE循环WHILE循环确保在循环条件有效时,包含在循环主体中的语句的多次执行。
一个循环可以用Break 语句提前终止。
迭代可以通过使用Continue语句停止。
这个语句造成循环的下一个迭代开始,即Continue后面的语句直到循环主体结束在本迭代中不得执行。
在条件语句中用Break 和 Continue 是合理的。
语法:while Condition beginStatement;[break;][continue;]...end;其中,条件是循环执行条件-在每个循环迭代之前计算出的一个逻辑表达式,取值为True 或False;语句是MetaQuotes 4语言的任何指令。
MQL4 Reference MQL4命令手册(本手册采用Office2007编写)2010年2月目录MQL4 Reference (1)MQL4命令手册 (1)Basics基础 (18)Syntax语法 (18)Comments注释 (18)Identifiers标识符 (19)Reserved words保留字 (19)Data types数据类型 (20)Type casting类型转换 (20)Integer constants整数常量 (21)Literal constants字面常量 (21)Boolean constants布尔常量 (22)Floating-point number constants (double)浮点数常量(双精度) (22)String constants字符串常量 (23)Color constants颜色常数 (23)Datetime constants日期时间常数 (24)Operations & Expressions操作表达式 (25)Expressions表达式 (25)Arithmetical operations算术运算 (25)Assignment operation赋值操作 (26)Operations of relation操作关系 (27)Boolean operations布尔运算 (27)Bitwise operations位运算 (28)Other operations其他运算 (28)Precedence rules优先规则 (29)Operators操作符 (31)Compound operator复合操作符 (31)Expression operator表达式操作符 (32)Break operator终止操作符 (32)Continue operator继续操作符 (32)Return operator返回操作符 (33)Conditional operator if-else条件操作符 (34)Switch operator跳转操作符 (35)Cycle operator while循环操作符while (36)Cycle operator for循环操作符for (37)Functions函数 (38)Function call函数调用 (39)Special functions特殊函数 (40)Variables变量 (40)Local variables局部变量 (42)Formal parameters形式变量 (42)Static variables静态变量 (44)Global variables全局变量 (44)Defining extern variables外部定义变量 (45)Initialization of variables初始化变量 (45)External functions definition外部函数的定义 (46)Preprocessor预处理 (47)Constant declaration常量声明 (47)Controlling compilation编译控制 (48)Including of files包含文件 (49)Importing of functions导入功能 (49)Standard constants标准常数 (52)Series arrays系列数组 (52)Timeframes图表周期时间 (52)Trade operations交易操作 (53)Price constants价格常数 (53)MarketInfo市场信息识别符 (54)Drawing styles画线风格 (56)Arrow codes预定义箭头 (57)Wingdings宋体 (58)Web colors颜色常数 (59)Indicator lines指标线 (60)Ichimoku Kinko Hyo (61)Moving Average methods移动平均方法 (61)MessageBox信息箱 (62)Object types对象类型 (64)Object properties对象属性 (65)Object visibility (67)Uninitialize reason codes撤销初始化原因代码 (68)Special constants特别常数 (68)Error codes错误代码 (69)Predefined variables预定义变量 (74)Ask最新卖价 (74)Bars柱数 (75)Bid最新买价 (75)Close[]收盘价 (76)Digits汇率小数位 (76)High[]最高价 (77)Low[]最低价 (78)Open[]开盘价 (79)Point点值 (80)Time[]开盘时间 (80)Volume[]成交量 (82)Program Run程序运行 (83)Program Run程序运行 (83)Imported functions call输入函数调用 (84)Runtime errors运行错误 (85)Account information账户信息 (100)AccountBalance( )账户余额 (100)AccountCredit( )账户信用点数 (100)AccountCompany( )账户公司名 (100)AccountCurrency( )基本货币 (100)AccountEquity( )账户资产净值 (101)AccountFreeMargin( )账户免费保证金 (101)AccountFreeMarginCheck()账户当前价格自由保证金 (101)AccountFreeMarginMode( )账户免费保证金模式 (102)AccountLeverage( )账户杠杆 (102)AccountMargin( )账户保证金 (102)AccountNumber( )账户数字 (103)AccountProfit( )账户利润 (103)AccountServer( )账户连接服务器 (103)AccountStopoutLevel( )账户停止水平值 (103)AccountStopoutMode( )账户停止返回模式 (104)Array functions数组函数 (105)ArrayBsearch()数组搜索 (105)ArrayCopy()数组复制 (106)ArrayCopyRates()数组复制走势 (107)ArrayCopySeries()数组复制系列走势 (108)ArrayDimension()返回数组维数 (109)ArrayGetAsSeries()返回数组序列 (110)ArrayInitialize()数组初始化 (110)ArrayIsSeries()判断数组连续 (111)ArrayMaximum()数组最大值定位 (111)ArrayMinimum()数组最小值定位 (112)ArrayRange()返回数组指定维数数量 (112)ArrayResize()改变数组维数 (113)ArraySetAsSeries()设定系列数组 (113)ArraySize()返回数组项目数 (114)ArraySort()数组排序 (114)Checkup检查 (116)GetLastError( )返回最后错误 (116)IsConnected( )返回联机状态 (116)IsDllsAllowed( )返回dll允许调用 (117)IsExpertEnabled( )返回智能交易开启状态 (118)IsLibrariesAllowed( )返回数据库函数调用 (118)IsOptimization( )返回策略测试中优化模式 (119)IsStopped( )返回终止业务 (119)IsTesting( )返回测试模式状态 (119)IsTradeAllowed( )返回允许智能交易 (120)IsTradeContextBusy( )返回其他智能交易忙 (120)IsVisualMode( )返回智能交易“图片模式” (120)UninitializeReason( )返回智能交易初始化原因 (120)Client terminal客户端信息 (122)TerminalCompany( )返回客户端所属公司 (122)TerminalName( )返回客户端名称 (122)TerminalPath( )返回客户端文件路径 (122)Common functions常规命令函数 (123)Alert弹出警告窗口 (123)Comment显示信息在走势图左上角 (123)GetTickCount获取时间标记 (124)MarketInfo在市场观察窗口返回不同数据保证金列表 (124)MessageBox创建信息窗口 (125)PlaySound播放声音 (125)Print窗口中显示文本 (126)SendFTP设置FTP (127)SendMail设置Email (127)Sleep指定的时间间隔内暂停交易业务 (128)Conversion functions格式转换函数 (129)CharToStr字符转换成字符串 (129)DoubleToStr双精度浮点转换成字符串 (129)NormalizeDouble给出环绕浮点值的精确度 (130)StrToDouble字符串型转换成双精度浮点型 (130)StrToInteger字符串型转换成整型 (130)StrToTime字符串型转换成时间型 (131)TimeToStr时间类型转换为"yyyy.mm.dd hh:mi"格式 (131)Custom indicators自定义指标 (132)IndicatorBuffers (132)IndicatorCounted (133)IndicatorDigits (134)IndicatorShortName (135)SetIndexArrow (136)SetIndexBuffer (137)SetIndexDrawBegin (138)SetIndexEmptyValue (139)SetIndexLabel (140)SetIndexShift (142)SetIndexStyle (144)SetLevelStyle (144)SetLevelValue (145)Date & Time functions日期时间函数 (146)Day (146)DayOfWeek (146)DayOfYear (146)Hour (147)Minute (147)Month (147)Seconds (148)TimeCurrent (148)TimeDay (148)TimeDayOfWeek (149)TimeDayOfYear (149)TimeHour (149)TimeLocal (150)TimeMinute (150)TimeMonth (150)TimeSeconds (150)TimeYear (151)Year (151)File functions文件函数 (152)FileClose关闭文件 (152)FileDelete删除文件 (152)FileFlush将缓存中的数据刷新到磁盘上去 (153)FileIsEnding文件结尾 (154)FileIsLineEnding (155)FileOpen打开文件 (155)FileOpenHistory历史目录中打开文件 (156)FileReadArray将二进制文件读取到数组中 (157)FileReadDouble从文件中读取浮点型数据 (158)FileReadInteger从当前二进制文件读取整形型数据 (158)FileReadNumber (159)FileReadString从当前文件位置读取字串符 (160)FileSeek文件指针移动 (161)FileSize文件大小 (162)FileTell文件指针的当前位置 (162)FileWrite写入文件 (163)FileWriteArray一个二进制文件写入数组 (164)FileWriteDouble一个二进制文件以浮动小数点写入双重值 (165)FileWriteInteger一个二进制文件写入整数值 (166)FileWriteString当前文件位置函数写入一个二进制文件字串符 (167)Global variables全局变量 (168)GlobalVariableCheck (168)GlobalVariableDel (168)GlobalVariableGet (169)GlobalVariableName (169)GlobalVariableSet (170)GlobalVariableSetOnCondition (170)GlobalVariablesDeleteAll (172)GlobalVariablesTotal (172)Math & Trig数学和三角函数 (173)MathAbs (173)MathArccos (173)MathArctan (174)MathCeil (175)MathCos (175)MathExp (176)MathFloor (176)MathLog (177)MathMax (177)MathMin (178)MathMod (178)MathPow (179)MathRand (179)MathRound (180)MathSin (180)MathSqrt (181)MathSrand (181)MathTan (182)Object functions目标函数 (183)ObjectCreate建立目标 (183)ObjectDelete删除目标 (184)ObjectDescription目标描述 (184)ObjectFind查找目标 (185)ObjectGet目标属性 (186)ObjectGetFiboDescription斐波纳契描述 (186)ObjectGetShiftByValue (187)ObjectMove移动目标 (188)ObjectName目标名 (188)ObjectsDeleteAll删除所有目标 (189)ObjectSet改变目标属性 (190)ObjectSetFiboDescription改变目标斐波纳契指标 (190)ObjectSetText改变目标说明 (191)ObjectsTotal返回目标总量 (191)ObjectType返回目标类型 (192)String functions字符串函数 (193)StringConcatenate字符串连接 (193)StringFind字符串搜索 (193)StringGetChar字符串指定位置代码 (194)StringLen字符串长度 (194)StringSetChar (195)StringSubstr提取子字符串 (195)StringTrimLeft (196)StringTrimRight (196)Technical indicators技术指标 (197)iAC比尔.威廉斯的加速器或减速箱振荡器 (197)iAD离散指标 (197)iAlligator比尔・威廉斯的鳄鱼指标 (198)iADX移动定向索引 (199)iATR平均真实范围 (199)iAO比尔.威廉斯的振荡器 (200)iBands保力加通道技术指标 (200)iBandsOnArray保力加通道指标 (201)iBullsPower牛市指标 (202)iCCI商品通道索引指标 (202)iCCIOnArray商品通道索引指标 (203)iCustom指定的客户指标 (203)iDeMarker (204)iEnvelopes包络指标 (204)iEnvelopesOnArray包络指标 (205)iForce强力索引指标 (206)iFractals分形索引指标 (206)iGator随机震荡指标 (207)iIchimoku (207)iBWMFI比尔.威廉斯市场斐波纳契指标 (208)iMomentum动量索引指标 (208)iMomentumOnArray (209)iMFI资金流量索引指标 (209)iMA移动平均指标 (210)iMAOnArray (210)iOsMA移动振动平均震荡器指标 (211)iMACD移动平均数汇总/分离指标 (212)iOBV能量潮指标 (212)iSAR抛物线状止损和反转指标 (213)iRSI相对强弱索引指标 (213)iRVI相对活力索引指标 (214)iStdDev标准偏差指标 (215)iStdDevOnArray (215)iStochastic随机震荡指标 (216)iWPR威廉指标 (217)Timeseries access时间序列图表数据 (218)iBars柱的数量 (218)iBarShift开始时间的柱 (218)iClose (219)iHigh (219)iHighest (220)iLow (221)iLowest (221)iOpen (222)iTime (222)iVolume (223)Trading functions交易函数 (225)Execution errors (225)OrderClose (228)OrderCloseBy (229)OrderClosePrice (229)OrderCloseTime (230)OrderComment (230)OrderCommission (231)OrderExpiration (232)OrderLots (232)OrderMagicNumber (232)OrderModify (233)OrderOpenPrice (234)OrderOpenTime (234)OrderPrint (235)OrderProfit (235)OrderSelect (236)OrderSend (237)OrdersHistoryTotal (238)OrderStopLoss (239)OrdersTotal (239)OrderSwap (240)OrderSymbol (240)OrderTakeProfit (241)OrderTicket (241)OrderType (241)Window functions窗口函数 (243)HideTestIndicators隐藏指标 (243)Period使用周期 (243)RefreshRates刷新预定义变量和系列数组的数据 (243)Symbol当前货币对 (245)WindowBarsPerChart可见柱总数 (245)WindowExpertName智能交易系统名称 (246)WindowFind返回名称 (246)WindowFirstVisibleBar第一个可见柱 (246)WindowHandle (247)WindowIsVisible图表在子窗口中可见 (247)WindowOnDropped (248)WindowPriceMax (248)WindowPriceMin (249)WindowPriceOnDropped (250)WindowRedraw (250)WindowScreenShot (251)WindowTimeOnDropped (252)WindowsTotal指标窗口数 (253)WindowXOnDropped (253)WindowYOnDropped (253)Obsolete functions过时的函数 (254)MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。
MQL4 Reference MQL4命令手册(本手册采用Office2007编写)2010年2月目录MQL4 Reference (1)MQL4命令手册 (1)Basics基础 (12)Syntax语法 (12)Comments注释 (12)Identifiers标识符 (12)Reserved words保留字 (13)Data types数据类型 (13)Type casting类型转换 (14)Integer constants整数常量 (14)Literal constants字面常量 (14)Boolean constants布尔常量 (15)Floating-point number constants (double)浮点数常量(双精度) (15)String constants字符串常量 (15)Color constants颜色常数 (16)Datetime constants日期时间常数 (16)Operations & Expressions操作表达式 (17)Expressions表达式 (17)Arithmetical operations算术运算 (17)Assignment operation赋值操作 (17)Operations of relation操作关系 (18)Boolean operations布尔运算 (18)Bitwise operations位运算 (19)Other operations其他运算 (19)Precedence rules优先规则 (20)Operators操作符 (21)Compound operator复合操作符 (21)Expression operator表达式操作符 (21)Break operator终止操作符 (21)Continue operator继续操作符 (22)Return operator返回操作符 (22)Conditional operator if-else条件操作符 (23)Switch operator跳转操作符 (23)Cycle operator while循环操作符while (24)Cycle operator for循环操作符for (24)Functions函数 (25)Function call函数调用 (26)Special functions特殊函数 (27)Variables变量 (27)Local variables局部变量 (28)Formal parameters形式变量 (28)Static variables静态变量 (29)Global variables全局变量 (29)Defining extern variables外部定义变量 (30)Initialization of variables初始化变量 (30)External functions definition外部函数的定义 (30)Preprocessor预处理 (31)Constant declaration常量声明 (31)Controlling compilation编译控制 (32)Including of files包含文件 (32)Importing of functions导入功能 (33)Standard constants标准常数 (35)Series arrays系列数组 (35)Timeframes图表周期时间 (35)Trade operations交易操作 (36)Price constants价格常数 (36)MarketInfo市场信息识别符 (36)Drawing styles画线风格 (37)Arrow codes预定义箭头 (38)Wingdings宋体 (39)Web colors颜色常数 (39)Indicator lines指标线 (40)Ichimoku Kinko Hyo (41)Moving Average methods移动平均方法 (41)MessageBox信息箱 (41)Object types对象类型 (43)Object properties对象属性 (44)Object visibility (45)Uninitialize reason codes撤销初始化原因代码 (45)Special constants特别常数 (46)Error codes错误代码 (46)Predefined variables预定义变量 (50)Ask最新卖价 (50)Bars柱数 (50)Bid最新买价 (50)Close[]收盘价 (51)Digits汇率小数位 (51)High[]最高价 (51)Low[]最低价 (52)Open[]开盘价 (53)Point点值 (53)Time[]开盘时间 (53)Volume[]成交量 (54)Program Run程序运行 (56)Program Run程序运行 (56)Imported functions call输入函数调用 (57)Runtime errors运行错误 (57)Account information账户信息 (68)AccountBalance( )账户余额 (68)AccountCredit( )账户信用点数 (68)AccountCompany( )账户公司名 (68)AccountCurrency( )基本货币 (68)AccountEquity( )账户资产净值 (68)AccountFreeMargin( )账户免费保证金 (69)AccountFreeMarginCheck()账户当前价格自由保证金 (69)AccountFreeMarginMode( )账户免费保证金模式 (69)AccountLeverage( )账户杠杆 (69)AccountMargin( )账户保证金 (69)AccountName( )账户名称 (70)AccountNumber( )账户数字 (70)AccountProfit( )账户利润 (70)AccountServer( )账户连接服务器 (70)AccountStopoutLevel( )账户停止水平值 (70)AccountStopoutMode( )账户停止返回模式 (71)Array functions数组函数 (72)ArrayBsearch()数组搜索 (72)ArrayCopy()数组复制 (72)ArrayCopyRates()数组复制走势 (73)ArrayCopySeries()数组复制系列走势 (74)ArrayDimension()返回数组维数 (75)ArrayGetAsSeries()返回数组序列 (75)ArrayInitialize()数组初始化 (75)ArrayIsSeries()判断数组连续 (75)ArrayMaximum()数组最大值定位 (76)ArrayMinimum()数组最小值定位 (76)ArrayRange()返回数组指定维数数量 (76)ArrayResize()改变数组维数 (77)ArraySetAsSeries()设定系列数组 (77)ArraySize()返回数组项目数 (78)ArraySort()数组排序 (78)Checkup检查 (79)GetLastError( )返回最后错误 (79)IsConnected( )返回联机状态 (79)IsDemo( )返回模拟账户 (79)IsDllsAllowed( )返回dll允许调用 (80)IsExpertEnabled( )返回智能交易开启状态 (80)IsLibrariesAllowed( )返回数据库函数调用 (80)IsOptimization( )返回策略测试中优化模式 (81)IsStopped( )返回终止业务 (81)IsTesting( )返回测试模式状态 (81)IsTradeAllowed( )返回允许智能交易 (81)IsTradeContextBusy( )返回其他智能交易忙 (82)IsVisualMode( )返回智能交易“图片模式” (82)UninitializeReason( )返回智能交易初始化原因 (82)Client terminal客户端信息 (83)TerminalCompany( )返回客户端所属公司 (83)TerminalName( )返回客户端名称 (83)TerminalPath( )返回客户端文件路径 (83)Common functions常规命令函数 (84)Alert弹出警告窗口 (84)Comment显示信息在走势图左上角 (84)GetTickCount获取时间标记 (84)MarketInfo在市场观察窗口返回不同数据保证金列表 (85)MessageBox创建信息窗口 (85)PlaySound播放声音 (86)Print窗口中显示文本 (86)SendFTP设置FTP (86)SendMail设置Email (87)Sleep指定的时间间隔内暂停交易业务 (87)Conversion functions格式转换函数 (88)CharToStr字符转换成字符串 (88)DoubleToStr双精度浮点转换成字符串 (88)NormalizeDouble给出环绕浮点值的精确度 (88)StrToDouble字符串型转换成双精度浮点型 (89)StrToInteger字符串型转换成整型 (89)StrToTime字符串型转换成时间型 (89)TimeToStr时间类型转换为"yyyy.mm.dd hh:mi"格式 (89)Custom indicators自定义指标 (91)IndicatorBuffers (91)IndicatorCounted (92)IndicatorDigits (92)IndicatorShortName (93)SetIndexArrow (94)SetIndexBuffer (94)SetIndexDrawBegin (95)SetIndexEmptyValue (95)SetIndexLabel (96)SetIndexShift (97)SetIndexStyle (98)SetLevelStyle (98)SetLevelValue (99)Date & Time functions日期时间函数 (100)Day (100)DayOfWeek (100)Hour (100)Minute (101)Month (101)Seconds (101)TimeCurrent (101)TimeDay (102)TimeDayOfWeek (102)TimeDayOfYear (102)TimeHour (102)TimeLocal (102)TimeMinute (103)TimeMonth (103)TimeSeconds (103)TimeYear (103)Year (104)File functions文件函数 (105)FileClose关闭文件 (105)FileDelete删除文件 (105)FileFlush将缓存中的数据刷新到磁盘上去 (106)FileIsEnding文件结尾 (106)FileIsLineEnding (107)FileOpen打开文件 (107)FileOpenHistory历史目录中打开文件 (108)FileReadArray将二进制文件读取到数组中 (108)FileReadDouble从文件中读取浮点型数据 (109)FileReadInteger从当前二进制文件读取整形型数据 (109)FileReadNumber (109)FileReadString从当前文件位置读取字串符 (110)FileSeek文件指针移动 (110)FileSize文件大小 (111)FileTell文件指针的当前位置 (111)FileWrite写入文件 (112)FileWriteArray一个二进制文件写入数组 (112)FileWriteDouble一个二进制文件以浮动小数点写入双重值 (113)FileWriteInteger一个二进制文件写入整数值 (113)FileWriteString当前文件位置函数写入一个二进制文件字串符 (114)Global variables全局变量 (115)GlobalVariableCheck (115)GlobalVariableDel (115)GlobalVariableGet (115)GlobalVariableName (116)GlobalVariableSet (116)GlobalVariableSetOnCondition (116)GlobalVariablesTotal (117)Math & Trig数学和三角函数 (119)MathAbs (119)MathArccos (119)MathArcsin (119)MathArctan (120)MathCeil (120)MathCos (120)MathExp (121)MathFloor (121)MathLog (122)MathMax (122)MathMin (122)MathMod (122)MathPow (123)MathRand (123)MathRound (123)MathSin (124)MathSqrt (124)MathSrand (124)MathTan (125)Object functions目标函数 (126)ObjectCreate建立目标 (126)ObjectDelete删除目标 (127)ObjectDescription目标描述 (127)ObjectFind查找目标 (127)ObjectGet目标属性 (128)ObjectGetFiboDescription斐波纳契描述 (128)ObjectGetShiftByValue (128)ObjectGetValueByShift (129)ObjectMove移动目标 (129)ObjectName目标名 (129)ObjectsDeleteAll删除所有目标 (130)ObjectSet改变目标属性 (130)ObjectSetFiboDescription改变目标斐波纳契指标 (131)ObjectSetText改变目标说明 (131)ObjectsTotal返回目标总量 (131)ObjectType返回目标类型 (132)String functions字符串函数 (133)StringConcatenate字符串连接 (133)StringFind字符串搜索 (133)StringGetChar字符串指定位置代码 (133)StringLen字符串长度 (134)StringSubstr提取子字符串 (134)StringTrimLeft (135)StringTrimRight (135)Technical indicators技术指标 (136)iAC比尔.威廉斯的加速器或减速箱振荡器 (136)iAD离散指标 (136)iAlligator比尔・威廉斯的鳄鱼指标 (136)iADX移动定向索引 (137)iATR平均真实范围 (137)iAO比尔.威廉斯的振荡器 (138)iBearsPower熊功率指标 (138)iBands保力加通道技术指标 (138)iBandsOnArray保力加通道指标 (139)iBullsPower牛市指标 (139)iCCI商品通道索引指标 (139)iCCIOnArray商品通道索引指标 (140)iCustom指定的客户指标 (140)iDeMarker (140)iEnvelopes包络指标 (141)iEnvelopesOnArray包络指标 (141)iForce强力索引指标 (142)iFractals分形索引指标 (142)iGator随机震荡指标 (142)iIchimoku (143)iBWMFI比尔.威廉斯市场斐波纳契指标 (143)iMomentum动量索引指标 (143)iMomentumOnArray (144)iMFI资金流量索引指标 (144)iMA移动平均指标 (144)iMAOnArray (145)iOsMA移动振动平均震荡器指标 (145)iMACD移动平均数汇总/分离指标 (146)iOBV能量潮指标 (146)iSAR抛物线状止损和反转指标 (146)iRSI相对强弱索引指标 (147)iRSIOnArray (147)iRVI相对活力索引指标 (147)iStdDev标准偏差指标 (148)iStdDevOnArray (148)iStochastic随机震荡指标 (148)iWPR威廉指标 (149)Timeseries access时间序列图表数据 (150)iBars柱的数量 (150)iClose (150)iHigh (151)iHighest (151)iLow (152)iLowest (152)iOpen (152)iTime (153)iVolume (153)Trading functions交易函数 (155)Execution errors (155)OrderClose (157)OrderCloseBy (158)OrderClosePrice (158)OrderCloseTime (158)OrderComment (159)OrderCommission (159)OrderDelete (159)OrderExpiration (160)OrderLots (160)OrderMagicNumber (160)OrderModify (160)OrderOpenPrice (161)OrderOpenTime (161)OrderPrint (162)OrderProfit (162)OrderSelect (162)OrderSend (163)OrdersHistoryTotal (164)OrderStopLoss (164)OrdersTotal (164)OrderSwap (165)OrderSymbol (165)OrderTakeProfit (165)OrderTicket (166)OrderType (166)Window functions窗口函数 (167)HideTestIndicators隐藏指标 (167)Period使用周期 (167)RefreshRates刷新预定义变量和系列数组的数据 (167)Symbol当前货币对 (168)WindowBarsPerChart可见柱总数 (168)WindowExpertName智能交易系统名称 (169)WindowFind返回名称 (169)WindowFirstVisibleBar第一个可见柱 (169)WindowHandle (169)WindowIsVisible图表在子窗口中可见 (170)WindowOnDropped (170)WindowPriceMax (170)WindowPriceMin (171)WindowPriceOnDropped (171)WindowRedraw (172)WindowScreenShot (172)WindowTimeOnDropped (173)WindowsTotal指标窗口数 (173)WindowXOnDropped (173)WindowYOnDropped (174)Obsolete functions过时的函数 (175)MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。
第03课MQL4程序设计基础语句语法规则详解(脚本)一、MQL4程序的相关概念MQL4程序:为了得到按照既定的交易策略/方案来自动化交易,可以由MT4外汇软件执行的代码序列。
MQL4程序设计:是给出解决特定交易问题程序的过程,是软件构造活动中的重要组成部分,以MQL4程序设计语言为工具,写出具体代码的一套完整过程。
程序设计过程应当包括分析、设计流程/步骤、编码、测试、排错等不同阶段。
MQL4程序的运行:MT4需要加载代码,双击即可在某图表上运行程序。
需要注意的是,在做历史测试的时候,需要加载高质量的Tick级别历史数据,否则测试质量很低,不具有参考性。
MQL4编程:是编写程序的中文简称,就是让计算机代为解决某个交易问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。
这种人和计算体系之间交流的过程就是编程。
算法:是指对某些交易问题的严格的解释方法,一般的,一个算法拥有以下特点:1)有穷性:算法必须保证在执行有限步骤后结束。
2)可行性:算法是确切可行的,即使在数学中,该算法可行,但若在实际应用中,程序不可以被执行,那么,该算法也是不具有可行性的。
3)确切性:算法的每一个步骤必须具有明确的意义。
4)输入:一个算法必须要有0个或多个输入。
5)输出:一个算法必须要有1个或多个输出。
流程图:使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。
流程图在汇编语言和早期的BASIC语言环境中得到应用。
相关的还有一种PAD图,对PASCAL或C 语言都极适用。
而且算法也可以在流程图中得以体现。
MQL4开发:计算机程序开发是周而复始的,需要经历:编写新代码、测试、分析等,从事这种事业的工作人员叫做程序员。
面向初学者的MQL4语言。
自定义指标(第2部分)简介这是“面向初学者的MQL4 语言”系列的第五篇文章。
今天我们将学习使用图形对象,这是个非常强大的开发工具,可以大幅拓宽指标的应用范围。
此外,它们可以用于脚本和Expert Advisor。
我们将学习创建对象,更改其参数以及检查错误。
当然,我不可能详细地描述所有对象,那也太多了。
但你会获得让你能够自主学习这些对象的所有必要知识。
本文还包含一个逐步引导你创建复杂信号指标的示例。
于此基础上,你可以创建任意信号指标,为多个指标显示所有周期上的交易信号。
在这里示例中,很多参数都是可调整的,这样就能轻松更改指标的外观。
关于图形对象使用 MetaTrader 4 终端时,你经常会和它们打交道。
图形对象有很多用途。
交易者可以设置支撑位和阻力位、枢轴点、斐波纳契位等。
我们来看一个简单的对象用例:四个图形对象连接到此图表:•两条水平线•一个文本对象•一个对象符号(箭头)今天我们要学习使用MQL4 连接此类对象。
想象一下,有多少手动操作可以通过使用对象实现自动化!举个例子,你曾手动计算过枢轴点、支撑位和阻力位,然后再手动绘制它们吗?好吧,这个工作量并不算多,但如果在MQL4 中自动化这个流程,终端会自动计算并绘制对应的价位。
你要做的就是双击脚本名称,然后坐等结果。
此外,你可以使用图形对象编写非常有用的信号指标。
处理对象的概念在 MQL4 中处理所有图形对象的算法如下:•创建对象•修改其参数(移动、更改颜色、板框等)•删除对象这就是一个特定的“生命周期”。
现在我们来详细说明各个阶段。
创建图形对象要绘制任何图形对象,都会用到通用函数ObjectCreate()。
以下是其原型:bool ObjectCreate(string name, int type, int window, datetime time1, double price1, datetime time2=0,double price2=0, datetime time3=0, double price3=0)如果一切正常,此函数返回true,如果无法创建对象或出现错误,则返回false要找出错误代码,使用函数GetLastError():if(ObjectCreate(/* arguments */)==false){// an error occurred, its code should be recorded into a journalPrint('Error of calling ObjectCreate():',GetLastError());}我们要错误代码做什么?它会帮助你找到错误说明,或可消除错误。
MQL4命令中⽂详解⼿册MQL4 Reference MQL4命令⼿册(本⼿册采⽤Office2007编写)2010年2⽉⽬录MQL4 Reference (1)MQL4命令⼿册 (1)Basics基础 (18)Syntax语法 (18)Comments注释 (18)Identifiers标识符 (19)Reserved words保留字 (19)Data types数据类型 (20)Type casting类型转换 (20)Integer constants整数常量 (21)Literal constants字⾯常量 (21)Boolean constants布尔常量 (22)Floating-point number constants (double)浮点数常量(双精度) (22) String constants字符串常量 (23)Color constants颜⾊常数 (23)Datetime constants⽇期时间常数 (24)Operations & Expressions操作表达式 (25)Expressions表达式 (25)Arithmetical operations算术运算 (25)Assignment operation赋值操作 (26)Operations of relation操作关系 (27)Boolean operations布尔运算 (27)Bitwise operations位运算 (28)Other operations其他运算 (28)Precedence rules优先规则 (29)Operators操作符 (31)Compound operator复合操作符 (31)Expression operator表达式操作符 (32)Break operator终⽌操作符 (32)Continue operator继续操作符 (32)Return operator返回操作符 (33)Conditional operator if-else条件操作符 (34) Switch operator跳转操作符 (35)Cycle operator while循环操作符while (36) Cycle operator for循环操作符for (37) Functions函数 (38)Function call函数调⽤ (39)Special functions特殊函数 (40)Variables变量 (40)Local variables局部变量 (42)Formal parameters形式变量 (42)Static variables静态变量 (44)Global variables全局变量 (44)Defining extern variables外部定义变量 (45) Initialization of variables初始化变量 (45) External functions definition外部函数的定义 (46) Preprocessor预处理 (47)Constant declaration常量声明 (47) Controlling compilation编译控制 (48) Including of files包含⽂件 (49)Importing of functions导⼊功能 (49)Standard constants标准常数 (52)Series arrays系列数组 (52)Timeframes图表周期时间 (52)Trade operations交易操作 (53)Price constants价格常数 (53)MarketInfo市场信息识别符 (54)Drawing styles画线风格 (56)Arrow codes预定义箭头 (57)Wingdings宋体 (58)Web colors颜⾊常数 (59)Indicator lines指标线 (60)Ichimoku Kinko Hyo (61)Moving Average methods移动平均⽅法 (61) MessageBox信息箱 (62)Object types对象类型 (64)Object properties对象属性 (65)Object visibility (67)Uninitialize reason codes撤销初始化原因代码 (68) Special constants特别常数 (68)Error codes错误代码 (69)Predefined variables预定义变量 (74)Ask最新卖价 (74)Bars柱数 (75)Bid最新买价 (75)Close[]收盘价 (76)Digits汇率⼩数位 (76)High[]最⾼价 (77)Low[]最低价 (78)Open[]开盘价 (79)Point点值 (80)Time[]开盘时间 (80)Volume[]成交量 (81)Program Run程序运⾏ (83)Program Run程序运⾏ (83)Imported functions call输⼊函数调⽤ (84)Runtime errors运⾏错误 (85)Account information账户信息 (99)AccountBalance( )账户余额 (99)AccountCredit( )账户信⽤点数 (99) AccountCompany( )账户公司名 (99) AccountCurrency( )基本货币 (99)AccountEquity( )账户资产净值 (100) AccountFreeMargin( )账户免费保证⾦ (100) AccountFreeMarginCheck()账户当前价格⾃由保证⾦ (100) AccountFreeMarginMode( )账户免费保证⾦模式 (100) AccountLeverage( )账户杠杆 (101)AccountMargin( )账户保证⾦ (101)AccountNumber( )账户数字 (102)AccountProfit( )账户利润 (102)AccountServer( )账户连接服务器 (102) AccountStopoutLevel( )账户停⽌⽔平值 (102) AccountStopoutMode( )账户停⽌返回模式 (102) Array functions数组函数 (104)ArrayBsearch()数组搜索 (104)ArrayCopy()数组复制 (105)ArrayCopyRates()数组复制⾛势 (106) ArrayCopySeries()数组复制系列⾛势 (107) ArrayDimension()返回数组维数 (108) ArrayGetAsSeries()返回数组序列 (109) ArrayInitialize()数组初始化 (109)ArrayIsSeries()判断数组连续 (110) ArrayMaximum()数组最⼤值定位 (110) ArrayMinimum()数组最⼩值定位 (111) ArrayRange()返回数组指定维数数量 (111) ArrayResize()改变数组维数 (112) ArraySetAsSeries()设定系列数组 (112) ArraySize()返回数组项⽬数 (113)ArraySort()数组排序 (113)Checkup检查 (115)GetLastError( )返回最后错误 (115)IsConnected( )返回联机状态 (115) IsDllsAllowed( )返回dll允许调⽤ (116) IsExpertEnabled( )返回智能交易开启状态 (117) IsLibrariesAllowed( )返回数据库函数调⽤ (117) IsOptimization( )返回策略测试中优化模式 (118) IsStopped( )返回终⽌业务 (118)IsTesting( )返回测试模式状态 (118) IsTradeAllowed( )返回允许智能交易 (119) IsTradeContextBusy( )返回其他智能交易忙 (119) IsVisualMode( )返回智能交易“图⽚模式” (119) UninitializeReason( )返回智能交易初始化原因 (119) Client terminal客户端信息 (121) TerminalCompany( )返回客户端所属公司 (121) TerminalName( )返回客户端名称 (121)TerminalPath( )返回客户端⽂件路径 (121)Common functions常规命令函数 (122)Alert弹出警告窗⼝ (122)Comment显⽰信息在⾛势图左上⾓ (122) GetTickCount获取时间标记 (123)MarketInfo在市场观察窗⼝返回不同数据保证⾦列表 (123) MessageBox创建信息窗⼝ (124)PlaySound播放声⾳ (124)Print窗⼝中显⽰⽂本 (125)SendFTP设置FTP (126)SendMail设置Email (126)Sleep指定的时间间隔内暂停交易业务 (127) Conversion functions格式转换函数 (128)CharToStr字符转换成字符串 (128)DoubleToStr双精度浮点转换成字符串 (128) NormalizeDouble给出环绕浮点值的精确度 (129) StrToDouble字符串型转换成双精度浮点型 (129) StrToInteger字符串型转换成整型 (129)StrToTime字符串型转换成时间型 (130)TimeToStr时间类型转换为"yyyy.mm.dd hh:mi"格式 (130) Custom indicators⾃定义指标 (131) IndicatorBuffers (131)IndicatorCounted (132)IndicatorDigits (133)IndicatorShortName (134)SetIndexArrow (135)SetIndexBuffer (136)SetIndexDrawBegin (137)SetIndexEmptyValue (138)SetIndexLabel (139)SetIndexShift (141)SetIndexStyle (143)SetLevelStyle (143)SetLevelValue (144)Date & Time functions⽇期时间函数 (145)Day (145)DayOfWeek (145)DayOfYear (145)Hour (146)Minute (146)Month (146)Seconds (147)TimeCurrent (147)TimeDay (147)TimeDayOfWeek (148) TimeDayOfYear (148)TimeHour (148)TimeLocal (149)TimeMinute (149)TimeMonth (149)TimeSeconds (149)TimeYear (150)Year (150)⽂件函数 (151)关闭⽂件 (151)删除⽂件 (151)将缓存中的数据刷新到磁盘上去 (152)⽂件结尾 (153)(154)打开⽂件 (154)历史⽬录中打开⽂件 (155)将⼆进制⽂件读取到数组中 (156)从⽂件中读取浮点型数据 (157)从当前⼆进制⽂件读取整形型数据 (157) (158)从当前⽂件位置读取字串符 (159)⽂件指针移动 (159)⽂件⼤⼩ (160)⽂件指针的当前位置 (161)写⼊⽂件 (161)⼀个⼆进制⽂件写⼊数组 (162)⼀个⼆进制⽂件以浮动⼩数点写⼊双重值 (163)⼀个⼆进制⽂件写⼊整数值 (164)当前⽂件位置函数写⼊⼀个⼆进制⽂件字串符 (165) Global variables全局变量 (167) GlobalVariableCheck (167) GlobalVariableDel (167)GlobalVariableGet (168) GlobalVariableName (168) GlobalVariableSet (169) GlobalVariableSetOnCondition (169) GlobalVariablesDeleteAll (171) GlobalVariablesTotal (171)Math & Trig数学和三⾓函数 (172)MathAbs (172)MathArccos (172)MathArctan (173)MathCeil (174)MathCos (174)MathExp (175)MathFloor (175)MathLog (176)MathMax (176)MathMin (177)MathMod (177)MathPow (178)MathRand (178)MathRound (178)MathSin (179)MathSqrt (180)MathSrand (180)MathTan (181)Object functions⽬标函数 (182)ObjectCreate建⽴⽬标 (182)ObjectDelete删除⽬标 (183)ObjectDescription⽬标描述 (183)ObjectFind查找⽬标 (184)ObjectGet⽬标属性 (185) ObjectGetFiboDescription斐波纳契描述 (185) ObjectGetShiftByValue (186)ObjectMove移动⽬标 (187)ObjectName⽬标名 (187)ObjectsDeleteAll删除所有⽬标 (188)ObjectSet改变⽬标属性 (188) ObjectSetFiboDescription改变⽬标斐波纳契指标 (189) ObjectSetText改变⽬标说明 (190)ObjectsTotal返回⽬标总量 (190)ObjectType返回⽬标类型 (191)String functions字符串函数 (192) StringConcatenate字符串连接 (192)StringFind字符串搜索 (192)StringGetChar字符串指定位置代码 (193)StringLen字符串长度 (193)StringSetChar (194)StringSubstr提取⼦字符串 (194)StringTrimLeft (195)StringTrimRight (195)Technical indicators技术指标 (196)iAC⽐尔.威廉斯的加速器或减速箱振荡器 (196)iAD离散指标 (196)iAlligator⽐尔?威廉斯的鳄鱼指标 (197)iADX移动定向索引 (198)iATR平均真实范围 (198)iAO⽐尔.威廉斯的振荡器 (199)iBands保⼒加通道技术指标 (199) iBandsOnArray保⼒加通道指标 (200)iBullsPower⽜市指标 (201)iCCI商品通道索引指标 (201)iCCIOnArray商品通道索引指标 (202)iCustom指定的客户指标 (202)iDeMarker (203)iEnvelopes包络指标 (203) iEnvelopesOnArray包络指标 (204)iForce强⼒索引指标 (204)iFractals分形索引指标 (205)iGator随机震荡指标 (205)iIchimoku (206)iBWMFI⽐尔.威廉斯市场斐波纳契指标 (207) iMomentum动量索引指标 (207) iMomentumOnArray (208)iMFI资⾦流量索引指标 (208)iMA移动平均指标 (209)iMAOnArray (209)iOsMA移动振动平均震荡器指标 (210) iMACD移动平均数汇总/分离指标 (211) iOBV能量潮指标 (211)iSAR抛物线状⽌损和反转指标 (212)iRSI相对强弱索引指标 (212)iRVI相对活⼒索引指标 (213)iStdDev标准偏差指标 (214) iStdDevOnArray (214)iStochastic随机震荡指标 (215)iWPR威廉指标 (216)Timeseries access时间序列图表数据 (217) iBars柱的数量 (217)iBarShift开始时间的柱 (217)iClose (218)iHigh (218)iHighest (219)iLow (220)iLowest (220)iOpen (221)iTime (221)iVolume (222)Trading functions交易函数 (224)Execution errors (224)OrderClose (227)OrderCloseBy (228)OrderClosePrice (228)OrderCloseTime (229)OrderComment (229)OrderCommission (230)OrderExpiration (231)OrderLots (231)OrderMagicNumber (231)OrderModify (232)OrderOpenPrice (233)OrderOpenTime (233)OrderPrint (234)OrderProfit (234)OrderSelect (235)OrderSend (236)OrdersHistoryTotal (237)OrderStopLoss (238)OrdersTotal (238)OrderSwap (239)OrderSymbol (239)OrderTakeProfit (240)OrderTicket (240)OrderType (240)Window functions窗⼝函数 (242) HideTestIndicators隐藏指标 (242)Period使⽤周期 (242)RefreshRates刷新预定义变量和系列数组的数据 (242) Symbol当前货币对 (244) WindowBarsPerChart可见柱总数 (244) WindowExpertName智能交易系统名称 (245) WindowFind返回名称 (245) WindowFirstVisibleBar第⼀个可见柱 (245) WindowHandle (246)WindowIsVisible图表在⼦窗⼝中可见 (246)WindowOnDropped (247)WindowPriceMax (247)WindowPriceMin (248)WindowPriceOnDropped (249)WindowRedraw (249)WindowScreenShot (250)WindowTimeOnDropped (251)WindowsTotal指标窗⼝数 (251)WindowXOnDropped (252)WindowYOnDropped (252)Obsolete functions过时的函数 (253)MetaQuotes Language 4 (MQL4) 是⼀种新的内置型程序⽤来编写交易策略。
MT4编程语言全接触语法 [Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。
注释多行注释使用 /* 作为开始到 */ 结束,在这之间不能够嵌套。
单行注释使用示例:0A2f7C用来更精确的表示十进制数字。
示例:double a = ;double b = ;double c = ;double d = 16;浮点型的取值范围从到 .String 类型字符串型是用来表示连续的ASCII码字符的使用连续的两个双引号来包括需要表示的内容如:"Character constant".示例:"This is a character string""Copyright symbol \t\xA9""this line with LF symbol \n""A" "90" "0" "$"Color 类型颜色类型可以使用以下示例里的几种方式进行定义。
示例:关系运算符用返回0(False)或1(True)来表示两个量之间的关系。
a是否等于b a == b;a是否不等于b a != b;a是否小于b a < b;a是否大于b a > b;a是否小于等于b a <= b;a是否大于等于b a >= b;真假运算符否定运算符(!),用来表示真假的反面的结果。
.,xn 这样的方法将各种值传送到function中进行运算。
示例:double SL=Ask-25*Point;double TP=Ask+25*Point;int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP, "My comment",123,0,Red);优先级规则下面是从上到下的运算优先规则,优先级高的将先被运算。
【MQL4】MQ语言简单说明与教程MQL II语言包括大量的用于控制现在和过去的报价、主要算法、逻辑运算的变量,并在建立主要指示器以及指示开立和控制头寸方面起关键作用。
这种语言是同TRADERSTION技术公司开发的EASY语言是相类似的,但它有一些特殊功能。
程序代码是由METAEDITOR文字编辑器编写的,它能将MQL II 不同部分设定为不同颜色,因而,可帮助用户以// 标记(双斜线)开始通过专家系统文本注释。
注释也可以用斜线星号星号斜线(/*(注释)*/,即如C语言一样)来标记。
编辑器是固定以灰色显示注释。
为了建立和控制投资交易战略,客户必须有一有关记录信号产生、变动的进行交易的结果的信息的日志文件。
人工智能系统的日志是在环球银行客户目录中的/logs/YYYYMMDD.log 文件下。
当前日志可直接访问下级终端窗口。
若要访问MQL II 语言的目录系统,就需要打开METAQOUTES语言窗口或者按下字典按钮或从工具菜单中查找,这使得用户能获取每一用该语言的信息的详细数据。
1.主要语言结构同其它语言一样,MQL II有一套主要的元素来构建他的主要结构。
这些元素应以特殊的方式组合与安排,用以表示特定的语句和公式。
语言的主要对象是数据,即三种类型的数据:数值型、逻辑型、字符型。
所有的数值型都用双重格式,逻辑型数据为真或假,字符串是用省略号标记的一串字符。
字符串又名为文本串。
数据可包括不同类型的变量,也可直接表示为源程序正本。
每一个METAQUOTES语句都是一完整结构,可以包含固定词、操作指令、数据、变量、表达式、标点符号,通常是以分号结束。
固定语句是指预先确定的具有特殊和具体意义的词汇。
操作指令是指定特定数据、变量、表达式操作的符号。
变量通常包含数值、字符、逻辑型数据。
表达式是指固定语句、变量、操作指令、数据的联合体,是语言中三种类型数据即数值型、字符型、逻辑型数据综合运用的结果。
标点符号是用来描述表达式、定义参量、划分句子以及数列再排序的。
MQL4 Reference(MQL4 参考)12 1、Basics(基本原则) 121-1、Syntax(语法)12 1-1-1、Comments(注释)13 1-1-2、Identifiers (标示符)13 1-1-3、Reserved words(保留字)131-2、Data types (数据类型)14 1-2-1、Type casting(类型扔)14 1-2-2、Integer constants(整数)14 1-2-3、Literal constants (文字)15 1-2-4、Boolean constants (布尔)15 1-2-5、Floating-point number constants (double) (浮点number)15 1-2-6、String constants(排成) 16 1-2-7、Color constants (颜色)16 1-2-8、Datetime constants(注明日期)161-3、Operations & Expressions (操作&表达)17 1-3-1、Expressions(表达式)17 1-3-2、Arithmetical operations (算术操作符)17 1-3-3、Assignment operation (分配操作符)18 1-3-4、Operations of relation (关系操作符)18 1-3-5、Boolean operations (布尔操作符)18 1-3-6、Bitwise operations ()19 1-3-7、Other operations (其他操作)19 1-3-8、Precedence rules(优先规则)201-4、Operators (操作员)21 1-4-1、Compound operator(复合操作)21 1-4-2、Expression operator (表达式操作)21 1-4-3、Break operator (打破操作)22 1-4-4、Continue operator (继续操作)22 1-4-5、Return operator (返回操作)22 1-4-6、Conditional operator if-else (条件操作如果--否则)23 1-4-7、Switch operator (开关操作)24 1-4-8、Cycle operator while (周期操作当时)24 1-4-9、Cycle operator for(周期操作对于)251-5、Functions (函数)25 1-5-1、Function call (函数之间的联系)26 1-5-2、Special functions(特殊函数)271-6、Variables (变量)27双精度数字- 带有浮点双精度数字。
零基础学MQL4编程特别说明:本文中主要内容来源于英文版MQL4 Reference 摘译,本人在MQL4 Reference基础上进行了摘译、整理,加入了部分通俗的文字说明和简明易懂的图片示例等,目的是更易于初学者上手。
如有侵权,请及时联系本人删除。
第一部分初识MQL4一、MQL4概述MetaQuotes Language 4(MQL4)是用于编程交易策略和或自定义指标等的内置语言。
该语言由MetaQuotes Software Corp根据其在创建在线交易平台方面的长期经验开发。
使用这种语言,您可以创建自己的智能交易系统,使交易管理自动化。
这非常适合实施您自己的交易策略。
此外,使用MQL4,您可以创建自己的技术指标(自定义指标),脚本和库。
MetaQuotes Language 4(MQL4)是面向对象的高级编程语言,用于编写自动交易策略,用于分析各种金融市场的自定义技术指标。
它不仅可以编写各种设计用于实时操作的专家系统,还可以创建自己的图形工具来帮助您做出交易决策。
MQL4基于流行编程语言C ++的概念。
该语言具有枚举,结构,类和事件处理。
通过增加嵌入式主类型的数量,MQL4中的可执行程序与其他应用程序之间通过dll的交互现在变得越来越简单。
MQL4语法类似于C ++的语法,可直接对C/C++语言的程序进行编译。
MQL4包含了分析当前和以前收到的报价所需的大量函数,并且具有用于管理交易订单并对其进行控制的内置基本指标和函数。
MetaEditor(文本编辑器)突出显示不同的MQL4语言结构,用于编写程序代码。
它可以帮助用户很容易地在专家系统(也叫智能交易系统)文本中定位自己。
简要指南包含函数、操作、保留字和其他语言结构,并将其分为不同的类别。
MetaQuotes Language 4可以编写具有不同功能和用途的程序:(一)、智能交易系统(EA) 这是连接到某个图表的机械交易系统。
当启动交易系统后,EA开始运行,处理以下事件:初始化事件和取消初始化事件,新的订单接收发送事件,计时器事件,市场变化事件深度,图表事件和自定义事件。
QLABEL-IV (1)第一篇:QL ABEL-IV概論 (1)1:簡介 (1)2:安裝 (1)第二篇:建立第一張標籤 (4)3:啟動QL ABEL-IV (4)4:工作環境介紹 (4)5:工具列的介紹 (5)6:第一張標籤的製作和儲存 (6)7:在標籤中輸入文字 (9)8:在標籤中加入條碼 (11)9:畫線、畫框和畫圓 (12)10:在標籤中加入MAXICODE (13)11:在標籤中加入PDF417 (14)12:在標籤中加入D ATA M ATRIX (14)13:在標籤中加入QR碼 (15)14:在標籤中加入圖形 (15)15:使用變數和序列號 (17)16:續印前一次列印的標籤 (19)17:條碼機的計時器 (19)18:資料庫的連結 (20)19:列印標籤 (22)20:A DVANCE功能表的說明 (23)QLabel-IV第一篇:QLabel-IV 概論1: 簡介作業環境:Windows 95/98/NT/2000/ME/XP適用機種:EZ系列中屬於頁編輯模式 (Page mode) 的條碼機QLabel-IV除了具有標籤設計的多種功能之外,還可以產生純文字模式的條碼機內建命令檔。
此命令檔的附加檔名為CMD。
這個命令檔可以使用DOS指令如COPY,TYPE,PRINT等將檔案送到條碼機並列印出標籤。
由於QLabel-IV是以直接呼叫條碼機內建命令的方式來控制條碼機列印,所以整張標籤處理的時間會因標籤內的物件多寡而有所不同。
因此,物件愈少,列印時的處理時間也就愈短。
而如果標籤的列印張數愈多,整體列印的時間也會愈少;這比傳統純以繪圖模式處理的標籤製作軟體能節省較多的列印時間。
2: 安裝在開始安裝前,先關閉所有其他的應用程式,以避免安裝程式和執行中的應用程式使用到同一個檔案而發生衝突。
1. 放入QLabel-IV CD-ROM。
安裝程式會自動執行。
如果安裝程式無法自動執行,只要開啟”我的電腦”,滑鼠指到光碟機並按右鍵,選擇”自動播放”即可。
(24)MQL4语言完整版教程外汇智能交易MQL4语言完整版教程什么是智能交易系统?它是一个用特殊的MetaQuotes 语言 4 (M QL 4)编写的自动交易系统(ATS),和特定的图表联系在一起。
智能交易系统不仅能通知交易商交易机会,而且还能自动执行交易账户上的交易,直接发送到交易服务器。
和许多的IT系统一样,智能交易系统系统支持历史数据战略测试,图表上表示的登入/登出点。
而且,智能交易系统的可执行码分别存储于源文件和加密的执行文件中-这种安排保证了交易商所使用的逻辑隐藏(如有必要的话),而不会泄密。
MetaTrader4 软件将智能交易系统在程序的根目录/Experts 子目录里保存为*.MQ4(source text) 和*.EX4 (可执行码)文件。
交易商可以无限量地保存智能交易系统数据,这些数据可以通过导航条窗口容易地加以管理。
创建自定义智能交易系统数据的程序以及将数据和交易终端连接在MetaTrader4 用户指南里有详细的描述。
MetaQuotes 4 语言是用来编写自定义智能交易系统软件,以便使交易程序管理自动化以及执行交易商自己的交易策略。
MetaQuote s 4 语言易学、易用、易创建。
MetaQuotes 4 语言包括相当数量的变量,用来控制当前和前期的报价、主要的算术和逻辑运算和特征,主要的内置指标和用来开启和控制头寸的命令。
在语法上,该语言和由T radeStation 技术有限公司开发的简易语言相似,但是它有其自身的一些具体特征。
程序代码是用MetaEditor4编辑器编写的,它能够用不同的色彩集中反映MQL 4语言的不同结构,因此,有助于用户熟悉专家系统的文本。
注解开始于//符号(双斜线)。
注解也可以用“斜线-星号”-“星号-斜线”组合(, 就像在 "C"编程语言一样)。
设定和控制操作战略,交易商保存一份日志文件,存储产生的信号信息、变量输出和已执行交易的结果。
MQL4编程参考中⽂版MetaTrader 4 平台MetaQuotes Language 4 (MQL4)编程参考(简体中⽂第1版)严泽平修订前⾔MetaQuotes (迈达克)软件公司是全球外汇、CFD和期货在线交易软件的领导⼚商之⼀。
该公司⼀直致⼒于在线⾦融交易软件的研制和专业开发,MetaTrader 4交易平台(MT4)就是该公司在此领域多年研究成果,全球⾦融机构使⽤其开发的MT4交易平台可以为客户提供专业的、⾼质量的在线交易服务。
⽬前,全球有100余家经纪公司和银⾏采⽤了MT4交易平台向客户提供在线⾦融交易服务,国内民⽣银⾏也选⽤了 MT4作为外汇交易平台。
MT4交易平台是MetaQuotes公司专业开发的产品,它⽐世界上那些⼤型经纪公司或银⾏⾃研的⾯向普通客户的交易平台更专业、运⾏更稳定、功能更强悍, 深受朋友们喜爱、好评,特别是其内置的⾯向⾼端客户的MQL4编程语⾔,强⼤的编程能⼒⽆⼈能与之⽐肩,是MT4平台最⼤特⾊之⼀。
MetaQuotes Language 4 (MQL4)是MT4平台客户端程序内置的交易策略编程语⾔。
这种语⾔允许⽤户创建⾃⼰的智能交易程序(EA),使⾃⼰的交易操作能够⾃动地执⾏,此外,⽤户还可以使⽤MQL4创建⾃定义指标、脚本和库。
MQL4编程语⾔包含了⼤量可以分析当前数据及历史数据所必备的函数,像⼤多数计算机程序设计语⾔⼀样,它也包含了多种数据类型、各种运算符、预定义常量、数组、控制语句和丰富的数据处理函数,内置了⼀些基本的技术指标和⽤户定单管理命令等。
集成在客户端的MetaEditor 4(ME4⽂本编辑器)是编写MQL4程序源码的集成开发环境。
ME4⽀持语法⾼亮显⽰,带有在线帮助系统,⽤户可在客户端内利⽤历史数据模拟运⾏程序,⾃⾏评估程序运⾏效果。
鉴于MT4平台在国内已有应⽤,在国际上已有百余家公司采⽤,国内炒汇朋友不可避免要⽤到该平台,学习和应⽤MQL4语⾔就是⾼⼿们抢占先机、⾛向辉煌的必经之路。
一:MQL语言的主要程序类型1.共三种分别是:指标,EA(Expert, Advisors,智能交易系统),脚本(自动交易程序,只能执行一次),它们之间的区别。
2.怎么运行3.加载的问题4.作用运行原理5.其它: 效率测试实用性改进性回撤怎么运行EA:把.ex4的files放入MT4\experts\...把dll 文件放入MT4\experts\libraries\...点击导航器选中程序拖入货币对window.,在程序右上角出现X符号,说明EA没启动.点智能交易出现笑脸符号.说明EA可正常运行.怎么运行指标: 把.ex4的files放入MT4\experts\indicators…点击导航器\自定义指标选中程序拖入货币对怎么运行脚本: 把.ex4的files放入MT4\experts\scripts脚本无参数.作用:指标Indicator 主图,附图脚本Script 下单平仓一次性工作EA Expert 条件进去场资金管理仓位管理运行原理:指标:加载后从历史最左边的K线开始计算,计算完成,在当前动态K线,每一个Tick(报价)到来的时候,计算一次那些情况下会重新计算一次:1.第一次加载到图表2.改动参数3.重新编译4.重新打开加载有指标的K线图表5.切换K线周期指标计算要考虑效率,通过优化减少计算量EA:由五部分组成:1.变量定义2.EA init()3.EA deinit()4.EA 执行proaram , int start()5.自定变量指标:与EA不同之处:变量定义增加了所在的窗口,主副定义指标显示物件的模型执行时只计算输出变量,不能进行平仓,修改等。
二:MQL4编程核心:价格数据,调用指标数据,调用下单,操作定单function1.price function:货币对,buy,sell,time.open,close,high,low2.调用MT4的指标,和自定义.3.下单,操作定单functionEA框架由五部分组成:1.变量预定义:定义程序中使用的公共变量2.EA初始化程序:EA调入到图表后执行一次,之后不再执行,用来…定义…模型3.EA结束程序:EA退出图表时执行一次,用来删除图表中的….4.EA执行程序:每过来一个报价就执行一次5.自定义变量:用来编定一些自定义函数指标框架由五部分组成:1.在变量预定义里增加了指标所在窗口的语句,限定指标在主图或附图里显示2定义指标显示….的模型,如线型,颜色,输出变量名称等,3同上4增加:计算输出变量,不能进行开仓,平仓,修改止赢,止损等操作5同上.坐标系:定位:时间,价格,开仓量.横坐标:可以是时间,可以是K线序号,通常使用K线序号;开仓量通常在风险控制中考虑因此:编程的重点在时间和价格二维内置变量与函数整数相除的方法:double i=(1*0.01)/(3*0.01)市场函数:定义最低价变量myLow,并获取最低价。
MQL4 经典入门第5课预处理程序预处理程序是一个特殊MQL4的子程序,在程序执行之前预先准备的程序源代码。
预处理程序会尽可能地读取源代码。
代码的结构可能包括MQL4 程序源代码的特殊文件。
对于读取的代码尽可能地按照具体常数分配储存。
预处理程序允许MQL4 程序参量指定。
如果# 标志被使用在程序的第一线, 这条线是预处理程序方针。
预处理程序方向末端以换行字符结尾。
MQL4包括4种预处理程序:A、Constant declaration用#define定义常数可以在程序中指定货币对字串符并且定义货币对名称或货币对常数。
稍候,编辑器会按照相应的字串符名称还原所有显示。
事实上,这些名称可以由任意数组文本替换:此常数识别符符合变量名称的规则值可以是以下任意类型:B、C ontrolling compilation每个MQL4 程序允添加以#property名称特殊的参量来帮助客户端服务。
这是一个内设指标。
示例:在执行模板设定时,编译器将会写入值。
C、Including of files#include命令可以放置到程序的任意部分,但是通常所有文件的源代码被统一放置。
调用格式;示例:对于 WinUser32.mqh.文件内容预处理程序还原线。
三角括号表示WinUser32.mqh文件将会从默认目录调用(通常默认目录terminal_directory\experts\include)。
不需要搜索当前目录。
如果载开盘价栏内文件名称未锁,搜索将在当前目录中执行(加载的源代码主文件)。
不需要搜索标准目录。
D、Importing of functions函数从MQL4 编译模板 (*.ex4 文件) 和执行系统文件模板(*.dll文件)通过。
模板名称被指定在#import指令中。
来自输入函数和通过参量的兵役数据需要带有完整的描述部分。
函数描述会立即按照#import "模板"名称执行。
新的#import命令完成引入输入函数描述部分。
MQL4经典⼊门第2课MQL4 经典⼊门第2课By coders’ guru欢迎来到MQL4课程的第三课。
回顾下上⼀课的内容:你可以使⽤什么格式来书写MQL4代码?怎样通过注释使你的程序更加完善?什么是标识符?选择他们有什么规则?什么是MQL4的保留字?现在,让我们享受本课的乐趣“DATA TYPES”(数据类型)数据类型是什么意思?任何程序语⾔都有⼀套数据的内存表⽰的名称。
例如,如果内存保留⼀个-2147483648 到2147483647之间的数,那么⼤多数的程序语⾔将命名这个数据为“整型数据”(Integer)。
变量?变量是被提交到内存中的数据的名称。
你可以设想内存是连续的、⼤⼩不同的盒⼦。
●为了使⽤⼀个盒⼦存储数据,这个盒⼦必须被赋予⼀个名称,这个过程被称为“声明”。
●在“声明”过程,你⽤⼀个词告诉计算机你想使⽤的盒⼦类型和⼤⼩,这个词被称为“关键字”。
●你还可以给这个盒⼦起⼀个好记的或者跟存储数据有关系的名字,这可以⽅便你以后找到这个数据。
这个名字就叫“变量名”。
●通过“赋值”,可以把数据放进盒⼦⾥。
●我们可以在“声明”变量的同时就给它⼀个值,这个过程被称为“初始化”。
例如下⾯的这⾏代码:int MyVaraible=0;int ?关键字int ?整型数据类型int ?声明MyVaraible ?变量名=0 ?初始化MQL4包括以下数据类型:■整型数据(int)⼗进制: 数字0 - 9 ,包括负数。
⼗六进制: 数字0 - 9 , 字⾯ a - f 或者A - F 代表10 - 15; 以0x 或者0X 开头。
整型数据占⽤4 字节的空间,其数值范围介于-2147483648 ~2147483647 之间。
如果超出这个范围,则视为⽆效。
例如:int intInteger = 0;int intAnotherIntger = -100;int intHexIntger=0x12;■布尔数据(bool)Boolean ⽤来表⽰是和否, 还可以⽤数字1 和0 进⾏表⽰。
MQL4 Reference MQL4命令手册(本手册采用Office2007编写)2010年2月目录MQL4 Reference (1)MQL4命令手册 (1)Basics基础 (12)Syntax语法 (12)Comments注释 (12)Identifiers标识符 (12)Reserved words保留字 (13)Data types数据类型 (13)Type casting类型转换 (14)Integer constants整数常量 (14)Literal constants字面常量 (14)Boolean constants布尔常量 (15)Floating-point number constants (double)浮点数常量(双精度) (15)String constants字符串常量 (15)Color constants颜色常数 (16)Datetime constants日期时间常数 (16)Operations & Expressions操作表达式 (17)Expressions表达式 (17)Arithmetical operations算术运算 (17)Assignment operation赋值操作 (17)Operations of relation操作关系 (18)Boolean operations布尔运算 (18)Bitwise operations位运算 (19)Other operations其他运算 (19)Precedence rules优先规则 (20)Operators操作符 (21)Compound operator复合操作符 (21)Expression operator表达式操作符 (21)Break operator终止操作符 (21)Continue operator继续操作符 (22)Return operator返回操作符 (22)Conditional operator if-else条件操作符 (23)Switch operator跳转操作符 (23)Cycle operator while循环操作符while (24)Cycle operator for循环操作符for (24)Functions函数 (25)Function call函数调用 (26)Special functions特殊函数 (27)Variables变量 (27)Local variables局部变量 (28)Formal parameters形式变量 (28)Static variables静态变量 (29)Global variables全局变量 (29)Defining extern variables外部定义变量 (30)Initialization of variables初始化变量 (30)External functions definition外部函数的定义 (30)Preprocessor预处理 (31)Constant declaration常量声明 (31)Controlling compilation编译控制 (32)Including of files包含文件 (32)Importing of functions导入功能 (33)Standard constants标准常数 (35)Series arrays系列数组 (35)Timeframes图表周期时间 (35)Trade operations交易操作 (36)Price constants价格常数 (36)MarketInfo市场信息识别符 (36)Drawing styles画线风格 (37)Arrow codes预定义箭头 (38)Wingdings宋体 (39)Web colors颜色常数 (39)Indicator lines指标线 (40)Ichimoku Kinko Hyo (41)Moving Average methods移动平均方法 (41)MessageBox信息箱 (41)Object types对象类型 (43)Object properties对象属性 (44)Object visibility (45)Uninitialize reason codes撤销初始化原因代码 (45)Special constants特别常数 (46)Error codes错误代码 (46)Predefined variables预定义变量 (50)Ask最新卖价 (50)Bars柱数 (50)Bid最新买价 (50)Close[]收盘价 (51)Digits汇率小数位 (51)High[]最高价 (51)Low[]最低价 (52)Open[]开盘价 (53)Point点值 (53)Time[]开盘时间 (53)Volume[]成交量 (54)Program Run程序运行 (56)Program Run程序运行 (56)Imported functions call输入函数调用 (57)Runtime errors运行错误 (57)Account information账户信息 (68)AccountBalance( )账户余额 (68)AccountCredit( )账户信用点数 (68)AccountCompany( )账户公司名 (68)AccountCurrency( )基本货币 (68)AccountEquity( )账户资产净值 (68)AccountFreeMargin( )账户免费保证金 (69)AccountFreeMarginCheck()账户当前价格自由保证金 (69)AccountFreeMarginMode( )账户免费保证金模式 (69)AccountLeverage( )账户杠杆 (69)AccountMargin( )账户保证金 (69)AccountName( )账户名称 (70)AccountNumber( )账户数字 (70)AccountProfit( )账户利润 (70)AccountServer( )账户连接服务器 (70)AccountStopoutLevel( )账户停止水平值 (70)AccountStopoutMode( )账户停止返回模式 (71)Array functions数组函数 (72)ArrayBsearch()数组搜索 (72)ArrayCopy()数组复制 (72)ArrayCopyRates()数组复制走势 (73)ArrayCopySeries()数组复制系列走势 (74)ArrayDimension()返回数组维数 (75)ArrayGetAsSeries()返回数组序列 (75)ArrayInitialize()数组初始化 (75)ArrayIsSeries()判断数组连续 (75)ArrayMaximum()数组最大值定位 (76)ArrayMinimum()数组最小值定位 (76)ArrayRange()返回数组指定维数数量 (76)ArrayResize()改变数组维数 (77)ArraySetAsSeries()设定系列数组 (77)ArraySize()返回数组项目数 (78)ArraySort()数组排序 (78)Checkup检查 (79)GetLastError( )返回最后错误 (79)IsConnected( )返回联机状态 (79)IsDemo( )返回模拟账户 (79)IsDllsAllowed( )返回dll允许调用 (80)IsExpertEnabled( )返回智能交易开启状态 (80)IsLibrariesAllowed( )返回数据库函数调用 (80)IsOptimization( )返回策略测试中优化模式 (81)IsStopped( )返回终止业务 (81)IsTesting( )返回测试模式状态 (81)IsTradeAllowed( )返回允许智能交易 (81)IsTradeContextBusy( )返回其他智能交易忙 (82)IsVisualMode( )返回智能交易“图片模式” (82)UninitializeReason( )返回智能交易初始化原因 (82)Client terminal客户端信息 (83)TerminalCompany( )返回客户端所属公司 (83)TerminalName( )返回客户端名称 (83)TerminalPath( )返回客户端文件路径 (83)Common functions常规命令函数 (84)Alert弹出警告窗口 (84)Comment显示信息在走势图左上角 (84)GetTickCount获取时间标记 (84)MarketInfo在市场观察窗口返回不同数据保证金列表 (85)MessageBox创建信息窗口 (85)PlaySound播放声音 (86)Print窗口中显示文本 (86)SendFTP设置FTP (86)SendMail设置Email (87)Sleep指定的时间间隔内暂停交易业务 (87)Conversion functions格式转换函数 (88)CharToStr字符转换成字符串 (88)DoubleToStr双精度浮点转换成字符串 (88)NormalizeDouble给出环绕浮点值的精确度 (88)StrToDouble字符串型转换成双精度浮点型 (89)StrToInteger字符串型转换成整型 (89)StrToTime字符串型转换成时间型 (89)TimeToStr时间类型转换为"yyyy.mm.dd hh:mi"格式 (89)Custom indicators自定义指标 (91)IndicatorBuffers (91)IndicatorCounted (92)IndicatorDigits (92)IndicatorShortName (93)SetIndexArrow (94)SetIndexBuffer (94)SetIndexDrawBegin (95)SetIndexEmptyValue (95)SetIndexLabel (96)SetIndexShift (97)SetIndexStyle (98)SetLevelStyle (98)SetLevelValue (99)Date & Time functions日期时间函数 (100)Day (100)DayOfWeek (100)DayOfYear (100)Hour (100)Minute (101)Month (101)Seconds (101)TimeCurrent (101)TimeDay (102)TimeDayOfWeek (102)TimeDayOfYear (102)TimeHour (102)TimeLocal (102)TimeMinute (103)TimeMonth (103)TimeSeconds (103)TimeYear (103)Year (104)File functions文件函数 (105)FileClose关闭文件 (105)FileDelete删除文件 (105)FileFlush将缓存中的数据刷新到磁盘上去 (106)FileIsEnding文件结尾 (106)FileIsLineEnding (107)FileOpen打开文件 (107)FileOpenHistory历史目录中打开文件 (108)FileReadArray将二进制文件读取到数组中 (108)FileReadDouble从文件中读取浮点型数据 (109)FileReadInteger从当前二进制文件读取整形型数据 (109)FileReadNumber (109)FileReadString从当前文件位置读取字串符 (110)FileSeek文件指针移动 (110)FileSize文件大小 (111)FileTell文件指针的当前位置 (111)FileWrite写入文件 (112)FileWriteArray一个二进制文件写入数组 (112)FileWriteDouble一个二进制文件以浮动小数点写入双重值 (113)FileWriteInteger一个二进制文件写入整数值 (113)FileWriteString当前文件位置函数写入一个二进制文件字串符 (114)Global variables全局变量 (115)GlobalVariableCheck (115)GlobalVariableDel (115)GlobalVariableGet (115)GlobalVariableName (116)GlobalVariableSet (116)GlobalVariableSetOnCondition (116)GlobalVariablesDeleteAll (117)GlobalVariablesTotal (117)Math & Trig数学和三角函数 (119)MathAbs (119)MathArccos (119)MathArcsin (119)MathArctan (120)MathCeil (120)MathCos (120)MathExp (121)MathFloor (121)MathLog (122)MathMax (122)MathMin (122)MathMod (122)MathPow (123)MathRand (123)MathRound (123)MathSin (124)MathSqrt (124)MathSrand (124)MathTan (125)Object functions目标函数 (126)ObjectCreate建立目标 (126)ObjectDelete删除目标 (127)ObjectDescription目标描述 (127)ObjectFind查找目标 (127)ObjectGet目标属性 (128)ObjectGetFiboDescription斐波纳契描述 (128)ObjectGetShiftByValue (128)ObjectGetValueByShift (129)ObjectMove移动目标 (129)ObjectName目标名 (129)ObjectsDeleteAll删除所有目标 (130)ObjectSet改变目标属性 (130)ObjectSetFiboDescription改变目标斐波纳契指标 (131)ObjectSetText改变目标说明 (131)ObjectsTotal返回目标总量 (131)ObjectType返回目标类型 (132)String functions字符串函数 (133)StringConcatenate字符串连接 (133)StringFind字符串搜索 (133)StringGetChar字符串指定位置代码 (133)StringSetChar (134)StringSubstr提取子字符串 (134)StringTrimLeft (135)StringTrimRight (135)Technical indicators技术指标 (136)iAC比尔.威廉斯的加速器或减速箱振荡器 (136)iAD离散指标 (136)iAlligator比尔・威廉斯的鳄鱼指标 (136)iADX移动定向索引 (137)iATR平均真实范围 (137)iAO比尔.威廉斯的振荡器 (138)iBearsPower熊功率指标 (138)iBands保力加通道技术指标 (138)iBandsOnArray保力加通道指标 (139)iBullsPower牛市指标 (139)iCCI商品通道索引指标 (139)iCCIOnArray商品通道索引指标 (140)iCustom指定的客户指标 (140)iDeMarker (140)iEnvelopes包络指标 (141)iEnvelopesOnArray包络指标 (141)iForce强力索引指标 (142)iFractals分形索引指标 (142)iGator随机震荡指标 (142)iIchimoku (143)iBWMFI比尔.威廉斯市场斐波纳契指标 (143)iMomentum动量索引指标 (143)iMomentumOnArray (144)iMFI资金流量索引指标 (144)iMA移动平均指标 (144)iMAOnArray (145)iOsMA移动振动平均震荡器指标 (145)iMACD移动平均数汇总/分离指标 (146)iOBV能量潮指标 (146)iSAR抛物线状止损和反转指标 (146)iRSI相对强弱索引指标 (147)iRSIOnArray (147)iRVI相对活力索引指标 (147)iStdDev标准偏差指标 (148)iStdDevOnArray (148)iStochastic随机震荡指标 (148)iWPR威廉指标 (149)Timeseries access时间序列图表数据 (150)iBarShift开始时间的柱 (150)iClose (150)iHigh (151)iHighest (151)iLow (152)iLowest (152)iOpen (152)iTime (153)iVolume (153)Trading functions交易函数 (155)Execution errors (155)OrderClose (157)OrderCloseBy (158)OrderClosePrice (158)OrderCloseTime (158)OrderComment (159)OrderCommission (159)OrderDelete (159)OrderExpiration (160)OrderLots (160)OrderMagicNumber (160)OrderModify (160)OrderOpenPrice (161)OrderOpenTime (161)OrderPrint (162)OrderProfit (162)OrderSelect (162)OrderSend (163)OrdersHistoryTotal (164)OrderStopLoss (164)OrdersTotal (164)OrderSwap (165)OrderSymbol (165)OrderTakeProfit (165)OrderTicket (166)OrderType (166)Window functions窗口函数 (167)HideTestIndicators隐藏指标 (167)Period使用周期 (167)RefreshRates刷新预定义变量和系列数组的数据 (167)Symbol当前货币对 (168)WindowBarsPerChart可见柱总数 (168)WindowExpertName智能交易系统名称 (169)WindowFirstVisibleBar第一个可见柱 (169)WindowHandle (169)WindowIsVisible图表在子窗口中可见 (170)WindowOnDropped (170)WindowPriceMax (170)WindowPriceMin (171)WindowPriceOnDropped (171)WindowRedraw (172)WindowScreenShot (172)WindowTimeOnDropped (173)WindowsTotal指标窗口数 (173)WindowXOnDropped (173)WindowYOnDropped (174)Obsolete functions过时的函数 (175)MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。