MQL4 Reference MQL4命令手册(完整版)
 
 
 
| 
 
| OrderType int OrderType( )
 对于当前选择定单返回定单类型。可以是以下的任意值:
 OP_BUY -买进,
 OP_SELL - 卖出,
 OP_BUYLIMIT - 挂单买入限定,
 OP_BUYSTOP - 挂单停止限定,
 OP_SELLLIMIT - 挂单卖出限定,
 OP_SELLSTOP - 挂单停止限定。
 注解: 定单必须由OrderSelect()函数选择。
 示例:
 int order_type;
 if(OrderSelect(12, SELECT_BY_POS)==true)
 {
 order_type=OrderType();
 // ...
 }
 else
 Print("OrderSelect() 返回错误 - ",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| Window functions窗口函数 当前图表窗口的一组函数。
 HideTestIndicators隐藏指标
 void HideTestIndicators( bool hide)
 函数设置使用智能交易隐藏指标。在交易被测试以后打开相应的图表,标出的指标将不会出现在测试图表中。 查看每个指标需应用当前隐藏的标记和第一个标记。
 必须注明只有这些指标才可以在测试图表中画出。
 参量:
 hide   -   如果需要隐藏指标为TRUE,否则为FALSE。
 示例:
 HideTestIndicators(true);
 MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0);
 MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1);
 HideTestIndicators(false);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| Period使用周期 int Period( )
 返回使用 周期 (图表周期)的分钟总数。
 示例:
 Print("时间周期 ", Period());
 RefreshRates刷新预定义变量和系列数组的数据
 bool RefreshRates( )
 刷新预定义变量和系列数组的数据。在智能交易计算时间过长时,这个功能可以自动更新数据。如果数据刷新,返回到TRUE, 否则返回到FALSE。只有在客户端内的数据不被更新。如果数据已经更新,接下来输入的行情也一样被更新。
 智能交易和脚本只管理本身历史数据的复制本。在智能交易和脚本第一次开启 的时候,当前的商品数据已经复制。 每次智能或脚本开启时,最初的复制本会更新。智能和脚本运作时,数据可能已经过期。
 示例:
 int ticket;
 while(true)
 {
 ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
 if(ticket<=0)
 {
 int error=GetLastError();
 //---- 资金不足
 if(error==134) break;
 //---- 10 秒钟等待
 Sleep(10000);
 //---- 刷新价格数据
 RefreshRates();
 break;
 }
 else
 {
 OrderSelect(ticket,SELECT_BY_TICKET);
 OrderPrint();
 break;
 }
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| Symbol当前货币对 string Symbol( )
 带有当前货币对名称返回字串符文本。
 示例:
 int total=OrdersTotal();
 for(int pos=0;pos<total;pos++)
 {
 // 因为此时可能平单或删除定单,检测选择结果!
 if(OrderSelect(pos, SELECT_BY_POS)==false) continue;
 if(OrderType()>OP_SELL || OrderSymbol()!=Symbol()) continue;
 // 执行过程...
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| WindowBarsPerChart可见柱总数 int WindowBarsPerChart( )
 在图表上函数返回可见柱总数。
 示例:
 // 对于可见柱工作。
 int bars_count=WindowBarsPerChart();
 int bar=WindowFirstVisibleBar();
 for(int i=0; i<bars_count; i++,bar--)
 {
 // ...
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| WindowExpertName智能交易系统名称 string WindowExpertName( )
 从调用函数返回MQL4程序中独立执行智能交易,脚本,客户指标和数据库的名称。
 示例:
 string name=WindowExpertName();
 GlobalVariablesDeleteAll(name);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| WindowFind返回名称 int WindowFind( string name)
 如果发现指标 名称,函数返回包含特殊指标的窗口索引,否则返回 -1。
 注解: 如果当init()函数运行时,客户指标搜索到本身,则WindowFind()函数返回 -1 。
 参量:
 name   -   指标简称。
 示例:
 int win_idx=WindowFind("MACD(12,26,9)");
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| WindowFirstVisibleBar第一个可见柱 int WindowFirstVisibleBar( )
 在当前图表窗口函数返回第一个可见柱。必须考虑到价格柱的逆序编号,即从最后一 价格数组中的最后一个指示为0。最老得柱被索引为柱-1。如果第一个柱的编码为2 或少于图表中可见柱的总数,意味着图表窗口没有被完整填充。
 示例:
 // 可见柱的工作
 int bars_count=WindowBarsPerChart();
 int bar=WindowFirstVisibleBar();
 for(int i=0; i<bars_count; i++,bar--)
 {
 // ...
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| WindowHandle int WindowHandle( string symbol, int timeframe)
 返回包含特定图表的系统窗口。 如果货币对和 时间周期的图表暂时还没有开启,显示为0。
 参量:
 symbol   -   货币对名称。
 timeframe   -   时间周期。可以是时间周期列举的任意值。 0意味着当前图表的时间周期。
 示例:
 int win_handle=WindowHandle("USDX",PERIOD_H1);
 if(win_handle!=0)
 Print("发现带有USDX,H1 的窗口。数组将会被立即复制。");
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| WindowIsVisible图表在子窗口中可见 bool WindowIsVisible( int index)
 如果图表在子窗口中可见,返回TRUE,否则返回FALSE。 子图表窗口可以隐藏于指标的可见属性位置。
 参量:
 index   -   图表自窗口索引。
 示例:
 int maywin=WindowFind("MyMACD");
 if(maywin>-1 && WindowIsVisible(maywin)==true)
 Print("MyMACD窗口可见");
 else
 Print(" MyMACD窗口未发现或不可见");
 
 | 
 | 
|  | 
|
|  | 
|  |