kl800.com省心范文网

MQ语言简单说明与教程


MQ 语言简单说明与教程 -------------------------------------------------------------------------------2015-01-13 23:39:55 MQL II 语言包括大量的用于控制现在和过去的报价、主要算法、逻辑运算的变量,并在建 立主要指示器以及指示开立和控制头寸方面起关键作用。这种语言是同 TRADERSTION 技 术公司开发的 EASY 语言是相类似的,但它有一些特殊功能。 程序代码是由 METAEDITOR 文字编辑器编写的, 它能将 MQL II 不同部分设定为不同颜色, 因而,可帮助用户以 // 标记(双斜线)开始通过专家系统文本注释。注释也可以用斜线星 号星号斜线(/*(注释)*/,即如 C 语言一样)来标记。编辑器是固定以灰色显示注释。 为了建立和控制投资交易战略, 客户必须有一有关记录信号产生、 变动的进行交易的结果的 信息的日志文件。人工智能系统的日志是在环球银行客户目录中的 /logs/YYYYMMDD.log 文件下。当前日志可直接访问下级终端窗口。 若要访问 MQL II 语言的目录系统, 就需要打开 METAQOUTES 语言窗口或者按下字典按钮 或从工具菜单中查找,这使得用户能获取每一用该语言的信息的详细数据。 1.主要语言结构 同其它语言一样,MQL II 有一套主要的元素来构建他的主要结构。这些元素应以特殊的方 式组合与安排,用以表示特定的语句和公式。 语言的主要对象是数据,即三种类型的数据:数值型、逻辑型、字符型。所有的数值型都用 双重格式, 逻辑型数据为真或假, 字符串是用省略号标记的一串字符。 字符串又名为文本串。 数据可包括不同类型的变量,也可直接表示为源程序正本。 每一个 METAQUOTES 语句都是一完整结构,可以包含固定词、操作指令、数据、变量、 表达式、标点符号,通常是以分号结束。 固定语句是指预先确定的具有特殊和具体意义的词汇。 操作指令是指定特定数据、变量、表达式操作的符号。 变量通常包含数值、字符、逻辑型数据。 表达式是指固定语句、变量、操作指令、数据的联合体,是语言中三种类型数据即数值型、 字符型、逻辑型数据综合运用的结果。 标点符号是用来描述表达式、定义参量、划分句子以及数列再排序的。

2.标点符号 符号 名称 描述 ; 分号 在 METAQUOTES II 中标记一段的结束 ( ) 括号 在表达式的一组数据中改变计算顺序, 标记函数中的参量以及在描述变 量的初始表达式,标记变量的初始值和变数描述段的排列。 , 逗号 当函数已引用时,分开参量,在变量描述段中分开变量,在描述数列 长度时分开数据,在存取数组元素时分开指数。 : 冒号 用在变量描述段中标记一变量表的开始。 "" 引号 标记一个字符串(文本串) 。 [ ] 方括号 标记特定数组长度的数值,标记一个数组中特定元素的存取数,标记访 问历史数据的期数。 {} 大括号 用做算术括号。 可以用来代替 “开始?结束 ” 将一段指令单独划做一区。 /* */ 注释括号 标记注释 // 双斜线 表明一单字元注释的开始 3.运算 运算可分为 5 种形式:赋值运算、字符运算、数学运算、比较运算和逻辑运算。 3.1 赋值运算 赋值运算的“=” (等于)是用来给变量赋予一特定的值(可为数值型、字符型、逻辑型, 即取决于变量类型)这种赋值可能是一表达式。例如:变数 COUNTER(0) ; Counter=counter+1;因而,COUNTER 变量即被赋值为 1。 数值同样也能被赋值给数列。 3.2 字符运算 操作字符串时,只有运算符可使用“+” 。特用于连接两个字符。例如: Variable: String(" "); ... String = "some_" + "text"; 因此,字符变量可以是字符,也可是包含数值和逻辑型数据的复合字符串,而后者在连接数 值和逻辑数据之前需将它们转化为字符型。例如: String = "string" + 1; 这样,这个字符变量就可以包含“string 1”字符了。 操作数不仅可以是数值,还可以是相应的变量以及操作后的表达式。

3.3 数学运算 4 种主要的数学运算是:加‘+’ ,减‘-’ ,乘‘*’ ,除‘/’ ;它们是在数学表达式中用来计 算数值的。例如:( Ask + Bid ) / 2 , High + 20 * Point 3.4 比较运算 比较运算是用于同类型数据之间的比较。第一个数与第二个数比较得出“真”或“假” ,小 于“ 〈” ,大于“〉 ” ,等于“=” ,不等于“ 〈〉 ” ,小于等于“ 〈= ” ,大于等于“〉=” 。逻辑值 是 METAQUOTES 语言控制下比较表达式运算的结果。例如:if FreeMargin < 1000 then exit; 字符型数据是按字母顺序比较的,如“AAA”字符就小于字符“ZZZ” 。当逻辑型数据进行 比较时,必须记住逻辑值“真”用数值表达就是 1,而逻辑值“假”则用 0 表示。 3.5 逻辑运算 逻辑运算将逻辑数据连接起来。OR—“|” (或者) ,AND—“&” (并且) ,NOT—“! ” (非) 。 逻辑运算有相应的固定词 OR,AND,NOT。如:If FreeMargin > 100 and FreeMargin < 1000 then print( "Free margin is ", FreeMargin );记住,当 OR 和 AND 是重置的,那么,数据就得计 算两次。NOT 是第一次序的,即 NOT 仅仅适用于单一值。例如: Variable: Condition1( True ); ... Condition1 = FreeMargin >= 1000; (注:freemargin 大于等于 1000 时,condition1 为 true; 否则为 false) If not Condition1 then exit 下面是逻辑运算的结果表格。(即:freemargin<1000 时退出) value1 value2 value1 OR value2 True 真 True 真 True 真 True 真 False 假 True 真 False 假 True 真 True 真 False 假 False 假

False 假 value1 value2 value1 AND value2 True 真 True 真 True 真 True 真 False 假 False 假 False 假 True 真 False 假 False 假 False 假 False 假 value1 NOT value1 True 真 False 假 False 假 True 真 4.固定词 METAQUOTES II 语言有几组固定词 1). 逻辑算式 AND、OR、NOT 2). MQL II 命令 Array, Begin, Break, Continue, Define, Downto, Else, End, Exit, For, If, Input, Then, To, Variable,

While 定义语句结构的固定词语又名关键词 3). 固定函数 Abs, AccName, AccountName, Alert, Ceil, CloseOrder, Comment, Cos, CurTime, Day, DayOfWeek, DeleteOrder, Exp, Floor, Highest, Hour, iADX, iATR, iBANDS, iCCI, iMA, iMACD, iMFI, iMOM, iRSI, iSAR, iSTO, iWPR, IsDemo, IsIndirect, LastTradeTime, Log, Lowest, Minute, Mod, ModifyOrder, Month, MoveObject, NumberToStr, Ord, Ordervalue, Period, Pow, Print, PrintTrade, Rand, Round, ServerAddress, SetArrow, SetObjectText, SetOrder, SetText, Sin, Sqrt, Srand, Symbol, Tan, TimeToStr, Year 4). 预设变量(用户自定义变量) Lots, StopLoss, TakeProfit, TrailingStop 5). 预设交易终端变量 AccNum, AccountNumber, Ask, Balance, Bars, Bid, Close, Credit, Equity, FreeMargin, High, Low, Margin, Open, Point, PriceAsk, PriceBid, PriceHigh, PriceLow, PriceTime, Time, TotalProfit, TotalTrades, Volume. 6). 预设固定函数的参量(宏) MODE_CLOSE, MODE_EMA, MODE_HIGH, MODE_LOW, MODE_MAIN, MODE_MINUSDI, MODE_OPEN, MODE_PLUSDI, MODE_SIGNAL, MODE_SMA, MODE_STOPLOSS, MODE_TAKEPROFIT, MODE_VOLUME, MODE_WMA, OBJ_HLINE, OBJ_SYMBOL, OBJ_TEXT, OBJ_TRENDLINE, OBJ_VLINE, OP_BUY, OP_BUYLIMIT, OP_BUYSTOP, OP_SELL, OP_SELLLIMIT, OP_SELLSTOP, SYMBOL_ARROWDOWN, SYMBOL_ARROWUP, SYMBOL_CHECKSIGN, SYMBOL_STOPSIGN, SYMBOL_THUMBSDOWN, SYMBOL_THUMBSUP, VAL_CLOSEPRICE, VAL_CLOSETIME, VAL_COMISSION, VAL_COMMENT, VAL_LOTS, VAL_OPENPRICE, VAL_OPENTIME, VAL_PROFIT, VAL_STOPLOSS, VAL_SWAP, VAL_SYMBOL, VAL_TAKEPROFIT, VAL_TICKET, VAL_TYPE. 事实上,上述固定词是宏命令,语法分析器用数值代替它们。宏命令是用来简化用户编写程 序引用函数的: 即用一些方便赋有含义的词来代替一些函数参量数值。 这也同样适用于颜色 的名称。 7). 颜色 liceBlue, AntiqueWhite, Aqua, Aquamarine, Azure, Beige, Bisque, Black, BlanchedAlmond, Blue, BlueViolet, Brown, BurlyWood, CadetBlue, Chartreuse, Chocolate, Coral, CornflowerBlue,

Cornsilk, Crimson, Cyan, DarkBlue, DarkCyan, DarkGoldenrod, DarkGray, DarkGreen, DarkKhaki, DarkMagenta, DarkOliveGreen, DarkOrange, DarkOrchid, DarkRed, DarkSalmon, DarkSeaGreen, DarkSlateBlue, DarkSlateGray, DarkTurquoise, DarkViolet, DeepPink, DeepSkyBlue, DimGray, DodgerBlue, FireBrick, FloralWhite, ForestGreen, Fuchsia, Gainsboro, GhostWhite, Gold, Goldenrod, Gray, Green, GreenYellow, Honeydew, HotPink, IndianRed, Indigo, Ivory, Khaki, Lavender, LavenderBlush, LawnGreen, LemonChiffon, LightBlue, LightCoral, LightCyan, LightGoldenrod, LightGreen, LightGrey, LightPink, LightSalmon, LightSeaGreen, LightSkyBlue, LightSlateGray, LightSteelBlue, LightYellow, Lime, LimeGreen, Linen, Magenta, Maroon, MediumAquamarine, MediumBlue, MediumOrchid, MediumPurple, MediumSeaGreen, MediumSlateBlue, MediumSpringGreen, MediumTurquoise, MediumVioletRed, MidnightBlue, MintCream, MistyRose, Moccasin, NavajoWhite, Navy, OldLace, Olive, OliveDrab, Orange, OrangeRed, Orchid, PaleGoldenrod, PaleGreen, PaleTurquoise, PaleVioletRed, PapayaWhip, PeachPuff, Peru, Pink, Plum, PowderBlue, Purple, Red, RosyBrown, RoyalBlue, SaddleBrown, Salmon, SandyBrown, SeaGreen, Seashell, Sienna, Silver, SkyBlue, SlateBlue, SlateGray, Snow, SpringGreen, SteelBlue, Tan, Teal, Thistle, Tomato, Turquoise, Violet, Wheat, White, WhiteSmoke, Yellow, YellowGreen. 所有的固定词都是不计较格式的,它们可以用大写字母也可用小写字母。 4.1 预设变数 通常,已编写完毕的人工智能系统是需要改变某一参数的,这将影响系统的运作。为避免每 次都以手动编辑系统代码和基本变量来改变参数,一个类似于 METAQUOTES 系统中所用 的 方 法 应 运 而 生 : 有 4 种 参 量 置 于 人 工 智 能 系 统 的 properties table( 工 具 台 ) 下 的 METAEDITOR 的菜单档 - Properties(用具)... - Processing tab(程序卷标) Lots –手数 StopLoss – 止蚀点 TakeProfit – 目标位 TrailingStop – 移动止损指令 这些变量的初始值可以在人工智能系统的 PROPERTIES TABLE(工具台)中直接键入或在 按 F7 时弹出的特别设置对话框中或是在菜单(Charts - Expert Advisors - Properties)中修改。 这些变量不能在程序中修改。 ★4.2 METAQUOTES II 语言的命令结构 4.2.1 变量说明和描述 在计算过程中储存临时数据需要用到变量。变量是在程序的最开头用关键词、数组、定义来 描述。这些词是可以用复数形式的。这些词通常在描述变数语句的开端。而这些词之间的区 别在于: “variable” 是用来描述变量, “ array”是用来描述数组 “define”是用以描述用 户自定义变量,(这种自定义变量类似于预设变量可以通过设置对话框来修改即外部修改, 但不同点在于自定义变量可在程序计算过程中改变)

变量描述语法 NAME(初始值) , “NAME”是变量的名称, “初始值”是变量的初始值。这个初始值界定 了变量的类型——数值型、字符型、逻辑型 举例: COUNTER(0) ; 数值变数 STRING1( “SOME STRING” ) ;字符变量 MYCONDITION(FALSE) 逻辑变量 Array : ArrayName[rows,columns]( Initialvalue );数组长度一个或多个数值决定—数值]] 在 MetaQuotes 语言中数组有可能有一、二、三、四位数值长度。在一般术语中,数组是指 一组排列成行的拥有同一名称(数组名)且按顺序给定每一数值序号的变数组。数列在理清 同一类型的数据的顺序时是非常方便的。交易终端的历史记录就是数列功能的很好的范例, 如开盘价、收盘价、最高价、最低价、成交量。这些数据是以单个元素的形式存取。例如: CLOSE 过去 5 个时点的收盘价。两个元素的数列可以是一个第一次排横序第二次排纵序的 结果。例如: Array : MyTable[10,5]( 0 ); // a 10 rows by 5 columns table (1 个 10 行 5 列的表) print( MyTable ); // print the fourth element in the second row 数列可以包含不同类型的数据——数值型、字符型、逻辑型,但是,它需为同一类型,数列 建立之初起初使值已经确定化了。 附加用户名的描述语法: Define : Name( InitialNumber );NAME 名称变量,INITIALNUMBER 是变量的初始值。 需要指出的是附加用户名变量仅仅是数值型数据。 上面已经提到, 用户名变量可以在程序的 计算过程中修改, 这样的修改仅仅在人工智能系统的当前部分有效直到特定智能系统从客户 终端操作中撤销。当再次启动人工智能系统时,附加用户名变量又会初始化为新值。 4.2.2 EXIT 语句 EXIT 语句是终止系统运作的语句,也就是所谓的预设终止程序。 4.2.3 IF-THEN 条件语句 IF-THEN 条件语句实现了控制运行系统指令的顺序的功能。这个语句可以由不同方式编写。 语法如下:

if Condition then Statement;or if Condition then begin //推荐使用 Statement; Statement; ... end; 当条件是逻辑表达式使用了“True” 或 “False”时;STATEMENT(语句)可以是 MQL II 语言中的任何指令。算式括号(Begin – End)可以由大括号{}代替。 条件句可以用来分写程序。为此,必须再用到另外一关键词 Else : if Condition then Statement1 else Statement2; if Condition then begin Statement; Statement; ... end else Statement; Statement; ... end;or if Condition then begin Statement; Statement; ... end else Statement2;or if Condition then Statement1 else Statement; Statement; .可以使用嵌套式的条件语句。通常,MQL II 语言中的任意语句都代表一合法指令,变量描 述除外。因为,严格的讲,变量描述不是一可执行指令。 4.2.4 The WHILE 循环 ★ While loop 语句是确保只要循环条件为“真”包含循环本体的语句就一直执行的语句。一个 循环在遇 BREAK 语句是终止。反复循环也可以可用 CONTINUE 语句终止。这个语句使得 下一个循环开始。也就是说,这种语句之后会出现 CONTINUE 并且跳至循环末而不再执行 这个循环。因而,在条件句中毕会使用使用 BREAK 和 CONTIMUE。语法:

while Condition begin Statement; ... end; 当条件是循环执行条件句时,每一循环的逻辑表达计算式是以“真” 、 “假”值表示。该条件 句可以是 MQL II 语言中的任何指令。算式括号(Begin – End)表示循环本体且可以由大 括号{}代替。 BREAK 和 CONTINUE 不是必用的。例子: Counter = 1; while Counter <= Bars begin print( Close ); Counter = Counter + 1; end; 4.2.5 FOR 循环 FOR 循环是确保包含特定次数的循环本体的语句的执行。语法: for NumberVariable = Initialvalue to|downto Limitvalue begin Statement; ... end: 数值变量在循环中是可变的,在每次循环之后,它会增加或减少(取决于关键词是用 TO 还 是 DOWNTO) ; 初始值是循环变量的初始数据; 语句可以是 MQL II 语言编写的任何指令; TO 或 DOWNTO 指定循环变量每次增加或减少 1 LIMITvalue 是循环变量的边际数值 算式括号(Begin – End)表示循环本体且可以由大括号{}代替。 BREAK 和 CONTINUE 不是必用的。例子: for Counter = 1 to 10 begin

if Counter > Bars then break; print( Close ); end; 这个例子是说可以循环 10 次。但若 BARS 值小于 10,循环就会提前终止,也就是说循环执 行 BARS 次。 4.2.6 BREAK 语句 BREAK 语句是使 FOR 和 WHILE 循环中断的语句。 前面的例子不仅说明 LOOP 循环的运作, 还说明 BREAK 语句的用法。BREAK 语句仅仅可以在循环体中使用。循环也可以是嵌套式 的。BREAK 语句使与它最接近的循环中断。换句话说,BREAK 语句中断内部循环而不中 断外部循环。 4.2.7 CONTINUE 语句 CONTINUE 语句就是提前终止循环而开使执行下一个循环。换句话说,CONTINUE 句之后 的语句即被忽视掉。例如: for Counter = 1 to 10 begin ... if Counter > Bars then continue; print( Close ); ... end; 这说明这个 循环将执行 10 次。但是,CLOSE 值不会超过 BARS 次。 4.3 交易终端的预设变数 为了方便用户,人工智能系统提供一些交易终端的变量。 AccountNumber – 账号(又名 ACCNUM) Ask – 卖出价(沽盘价) Balance –交易账户余额 Bars – 图表上棍的数量—是一非常重要的填充图表数据的变量 Bid – 买入价(买价) Close – 收盘价

Credit – 保证金 Equity – 账户的资金状况,包括未实现润 FreeMargin – 交易账户的自由保证金—也用来账户资金的实用率 High – 一段时间的最高价 Low – 一段时间的最低价 Margin – 用于支撑未平仓合约的资金 Open – 开盘价 Point –当前金融工具 (人工智能系统现在正在使用的金融工具 )的点数,如 D/JPY - 0.01, USD/CHF - 0.0001 PriceAsk – 在 MARKET WATCH(市场观察)窗口显示的现时卖出价 PriceBid - c 在 MARKET WATCH(市场观察)窗口显示的现时买入价 PriceHigh – 24 小时内最高卖出价 PriceLow - 24 小时内最高买入价 PriceTime - 在 MARKET WATCH(市场观察)窗口显示的当前时间 Time –报价表上的棍所表时间 TotalProfit – 所有未平仓合约的总未实现利润 TotalTrades – 在交易终端的未平仓合约以及延迟了的买卖盘指令的总数 Volume – 交易总额(过去一段时间的交易总额) 须指出的是在过去一段时间内 Close, Open, High, Low, Volume, Time 是历史数据数列(级数 树列)且允许存取这样的数据。 4.4. 构建函数 MetaQuotes LanguageII 为不同的用途提供了不同的函数。 包括技术指针, 交易函数, 时间函 数, 数学和三角函数, 数据转换和输出函数等。 Abs- 返回这个数值的绝对值(模块)

语法 : Abs(nExpression) 参数: 数值。 AccountName –返回到包含用户名的文本串(与 AccName 同义) 。 ★Alert- 生成包含用户定义的数据的屏幕。 语法: Alert(...) 例子:alert("FreeMargin is ", FreeMargin); 弹出警告窗 freemargin 的值。 任何非零数字都可作为参数。 Ceil – 返回等于或大于这个指定的数值的最小的最接近的整数。 语法: Ceil(nExpression) 参量: 数值。 CloseOrder – 平仓单。 语法: CloseOrder( order, lots, price, slippage, color ) 参量: order-开立头寸的顺序号; lots- 手数; ?价格 - 优先平仓价; slippage- 最大价格滑动; color- 表框的颜色。 Comment- 在图表的左上角产生一个用户自定义的数据。 语法 : Comment(...) 任何非零数字都可作为参数。 Cos –计算并返回用弧度表示的角的余弦。 语法: Cos(nExpression)

参数: 数值 CurTime – 返回自 1970 年 1 月 1 日以来所经过的秒数 。 ★Day- 返回当天的月份数值。 DayOfWeek – 返回当天的星期数值。1 - 星期天 , 2 - 星期一..., 7 - 星期六。 DeleteOrder – 删除过期定单。 语法 : DeleteOrder ( order) 参数: order:过期的订单号。 Exp –返回对具体的数值进行说明的数字 语法 : Exp(nExpression) 参数: 数值。 ★Floor- 返回小于或等于特定数值的最接近的最大的整数值。 语法: Floor(nExpression) 参数: 数值。 ★Highest-返回指定时期最高开盘价、 最高最低价、 最高最高价、 最高收盘价及总交易量 (取 决于参数类型) 语法: Highest ( type, beginbar, periods ) 参数: type — 可 采 用 以 下 形 式 返 回 变 数 :MODE_OPEN, MODE_LOW, MODE_HIGH, MODE_CLOSE, MODE_VOLUME beginbar –相对于当前棒的位移,从中可以获取数据 periods-计算的时期 ★Hour-返回当前小时数值。

iADX – 一般活动指标 语法: iADX ( period, mode, shift ) 参数: period – 计算期间数 mode –可采用以下数据类型 : MODE_MAIN(main indicator), MODE_PLUSDI(line +DI), MODE_MINUSDI(line -DI). shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iATR –平均时间间隔指标 语法:iATR( period, shift ) 参数: period – 计算期间数 shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iBANDS – 滚动带指标 语法: iBANDS( period, deviation, mode, shift ) 参数: period – 计算期间数 deviation – 偏移 mode – 可 采 用 以 下 数 据 类 型 : MODE_MAIN( 主 指 标 ), MODE_PLUSDI(line +DI), MODE_MINUSDI(line -DI). shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iCCI – 交易记录指针 语法: iCCI( period, shift ) period – 计算期间数

shift –相对于当前棒(时间向后推移)的位移,数据来源于此 ★iMA – 平均移动指标 语法: iMA( period, mode, shift ) period – 计算期间数 mode –可采用以下计算模式: MODE_SMA 简单, MODE_EMA 指数, MODE_WMA 有利的. shift –相对于当前棒(时间向后推移)的位移,数据来源于此 ★iMACD –平均移动收敛/发散指标 语法:iMACD( fast_ema_period, slow_ema_period, signal_period, mode, shift ) 参数: fast_ema_period –计算快速移动平均线的期间数(通常为 12) slow_ema_period –计算慢速移动平均线的期间数(通常为 26) signal_period –计算信号移动平均线的期间数 mode –数据源可采取的形式: MODE_MAIN (主指标), MODE_SIGNAL (单线); shift –相对于当前棒(时间向后推移)的位移,数据来源于此 period -计算期间数 iMFI – 现金流量指标 语法: iMFI( period, shift ) period – 计算期间数 shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iMOM – 要素指标 语法: iMOM( period, shift ) period – 计算期间数

shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iRSI – 相对强弱指数 语法: iRSI( period, shift ) period – 计算期间数 shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iSAR - Parabolic SAR. 语法: iSAR( step, maximum, shift ) 参数: step – 增量,一般为 0.02 maximum –最高价,一般为 0.2 iSTO – 随机指数. 语法: iSTO( %Kperiod, %Dperiod, slowing, method, mode, shift ) 参数: %Kperiod - %K 线时期; %Dperiod - %D 线时期; slowing –不活跃价格; method – 可 采 用 以 下 计 算 方 法 : MODE_SMA ( 简 单 平 均 ), MODE_EMA ( 指 数 ), MODE_WMA (weighted); mode –可采用以下形式的数据源: MODE_MAIN (主指标线), MODE_SIGNAL (单一指标 线); shift –相对于当前棒(时间向后推移)的位移,数据来源于此 iWPR - Williams 百分比范围指标 语法: iWPR( period, shift )

period – 计算期间的数值 shift –相对于当前棒(时间向后推移)的位移,数据来源于此 IsDemo – 如果 Expert Advisor 正在运行交易账户,返回逻辑真值;否则,返回假值 IsIndirect – 如果使用相反的方法计算指定商品,返回逻辑真值;否则,返回假值 LastTradeTime – 返回最近一次活动(下单、取消单、平仓、修改单) ,距离 1970 年 1 月 1 日零点的秒数 Log – 返回指定正数的对数 语法: Log( nExpression ) 参数:正数 ★Lowest –返回指定期间最低开盘价、最低最低价、最低最高价、最低平仓价、交易量(取 决于参数类型) 语法: Lowest( type, beginbar, periods ) 参数: type – 可 采 用 以 下 形 式 : MODE_OPEN, MODE_LOW, MODE_HIGH, MODE_CLOSE, MODE_VOLUME beginbar –相对于当前棒的位移,从中可以获取数据 periods – 计算期间数 Minute –当前分钟数 Mod – 返回余数 语法: Mod( nExpression1, nExpression2 ) 参数:数值 1,数值 2 ModifyOrder –修改以前开立的定单或过期单 语法: ModifyOrder( order, price, stoploss, takeprofit, color )

参数: order –以前开立单的号码; price –新价格(仅对过期单); stoploss – 止损水平; takeprofit –止盈水平; color – 图表颜色. Month –返回当前月数 MoveObject –指定对象的移动. 语法: MoveObject( name, type, time, price, time2, price2 ) 参数: name –以文本串形式表示的名称; type – 对 象 类 型 可 采 用 以 下 形 式 的 : OBJ_HLINE ( 水 平 线 ), OBJ_VLINE ( 垂 直 线 ), OBJ_TRENDLINE (趋势线), OBJ_SYMBOL(设置符号), OBJ_TEXT (文本串); time –第一个图表指定点的时间; price -第一个图表指定点的价格; time2 -第二个图表指定点的时间; price2 -第二个图表指定点的价格 NumberToStr –以指定长度形式将数值返回为文本串形式 语法: NumberToStr( number, precision ) 参数: number –指定数值; precision –精确格式,小数点后的位数. Ordervalue –返回指定定单的价值.

语法: Ordervalue( position, mode ) 参数: position –交易终端列表中定单的头寸,初始值为 1; mode –数值返回的形式可采用以下几种: VAL_TICKET (定单号), VAL_OPENTIME (开单 时间), VAL_TYPE (定单类型), VAL_LOTS (请求的手数), VAL_SYMBOL (商品名称,用本文 形式表示), VAL_OPENPRICE (开盘价), VAL_STOPLOSS (止损水平), VAL_TAKEPROFIT (止盈水平), VAL_CLOSEPRICE (收盘价格), VAL_COMISSION (佣金数量), VAL_SWAP (头 寸转滚费用 ), VAL_PROFIT ( 交易利润 ), VAL_COMMENT ( 头寸具体说明,文本形式 ), VAL_CLOSETIME (平仓时间). Ord – 同 Ordervalue. Period – 返回所定义的使用期间的分钟数 Pow –返回 nBaseExpression 乘以 nBaseExpression 的幂. 语法: Pow( nBaseExpression, nExponentExpression ) 参数:数值 1,数值 2 Print – 将用户定义的数据录入系统日志. 语法: Print(...) 可使用任意非零数值. PrintTrade – 将头寸详细数据储存到日志中. 语法: PrintTrade( position ) 参数:交易终端开仓号 Rand –返回产生的伪随机号.使用这个函数之前,必须使用 Srand 函数,将伪随机号发生器 设置到初始头寸。 一旦初始头寸中设置了伪随机号发生器, 随机号发生器将在开始程序中出 现。 Round –返回指定数值的四舍五入的整数. 语法: Round( nExpression )

参数:数值. ServerAddress – 以文本串形式返回服务器 IP 地址. ★★SetArrow – 在图表上设置符号. 语法: SetArrow( time, price, symbol, color ) 参数: time – 图表上指定点的时间; price –图表上指定点的价格; symbol – 字体设置中符号的数值号 color –符号颜色. SetObjectText –将指定对象定义为文本串 语法: SetObjectText( name, text, font, size, color ) 参数: name –对象名称; text –指定文本; font –字体名称; size – 字体大小; color –文本颜色. ★★SetOrder – 开立头寸或设置定时单的主函数 语法: SetOrder( operation, lots, price, slippage, stoploss, takeprofit, color ) 参数: operation – 操作类型可采用以下形式:: OP_BUY(开立买入单), OP_SELL (开立卖出单), OP_BUYLIMIT(开立买入限价单), OP_SELLLIMIT(开立卖出限价单), OP_BUYSTOP (开立买入止损单), OP_SELLSTOP (开立卖出止损单);

lots –手数; price – 优先平仓价格; slippage – 最大 OP_BUY 及 OP_SELL 滑动价格; stoploss – 止损水平; takeprofit – 止盈水平; color – 调用函数时,图表上箭头的颜色. ★SetText –为指定头寸在图表上设置文本串. 语法: SetText( time, price, string, color ) 参数: time –图表上指定点的时间; price -图表上指定点的时间; string –文本串; color –文本颜色. Sin – 计算返回以弧度表示的角的正弦. 语法: Sin( nExpression ) 参数:.数值 Sqrt –计算返回指定正数的平方根. 语法: Sqrt( nExpression ) 参数:正数 Srand – 为初始头寸设置伪随机发生器,一旦发生器被设置,它将出现在开始程序中。初 始设置使用的最佳值是时间函数返回的值。语法:Syntax: Srand( Time ) 参数:正数 Symbol –返回 Expert Advisor 中运行的金融商品的文本串.

Tan -计算返回以弧度表示的角的正切. 语法: Tan( nExpression ) 参数:数值. TimeToStr –返回当前距 1970 年 1 月 1 日零时经历的时间,以文本串“年年年年.月月.日日 时时:分分”表示 语法: TimeToStr( Time ) 参数:正数. Year –返回当前年份的数值.


赞助商链接

Websphere MQ入门经典教程---经典_图文

Websphere MQ入门经典教程---经典_计算机软件及应用...119 10.2 平台和语言......2, 介绍 WebSphere MQ 的原理。 3, 介绍 WebSphere MQ 的特性和优点...

IBM MQ简单配置教程

IBM MQ简单配置教程_计算机软件及应用_IT/计算机_专业资料。图文介绍IBM MQ 在windows下的简单入门配置 MQ 连接 SWIFT 实施方案 1.1 MQ 版本信息 IBM WebSphere...

ActiveMQ入门教程

ActiveMQ入门教程_计算机软件及应用_IT/计算机_专业...ActiveMQ 介绍 ActiveMQ 是 Apache 出品,最流行的,...多种语言和协议编写客户端。语言: Java, C, C++,...

MQ开发C教程

MQ开发C教程_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 MQ开发C教程_计算机软件及应用_IT/计算机_专业资料。MQ 发送消息和接收...

ActiveMQ入门教程

ActiveMQ入门教程_计算机软件及应用_IT/计算机_专业...ActiveMQ 介绍 ActiveMQ 是 Apache 出品,最流行的,...多种语言和协议编写客户端。语言: Java, C, C++,...

按键精灵Android版MQ语言基础说明

按键精灵Android版MQ语言基础说明_计算机软件及应用_IT/计算机_专业资料。按键精灵Android版MQ语言基础说明想在手机上用按键精灵的快来看看按键...

WebSphere MQ一小时快速入门

WebSphere MQ 一小时快速入门一、什么是中间件中间件是处于应用软件和系统软件之间的通用服务,是一类以自己的复杂换取企业应用简单化的可复 用的基础软件。 中间件...

MQ安装指南

文档包含:MQ在windowslinux安装说明,在linux下还...Docs 文件夹包含相关文档资料,以及演示教程。 Windows...MQSeriesMsg_Zh_CN-6.0.0-0.i386.rpm MQ 语言...

IBM+WebSphere+MQ安装使用教程

IBM+WebSphere+MQ安装使用教程_IT/计算机_专业资料...简称 WAS6.0)在 WINDOS 系统上的安装部署说明。...或可以使用一个队列管 理器和一个队列的简单配置来...

MQ7.0 安装教程

执行 ./mqlicense.sh -accept,以阅读和接受许可证 3.执行 4.执行 5.执行 6.执行 7.执行 8.执行 rpm -ivh MQSeriesRuntime-7.0.1-0.i386.rpm,安装 Run...