MQL4 Reference MQL4命令手册(完整版)
 
 
 
| 
 
| OrderProfit订单净利 double OrderProfit( )
 对于选择定单返回净盈利值 (除掉期和佣金外)。对于开仓位当前不真实盈利。对于平仓为固定盈利。
 对于当前选择定单返回盈利。
 注解:定单必须用OrderSelect()函数提前选定。
 示例:
 if(OrderSelect(10, SELECT_BY_POS)==true)
 Print("定单 10 盈利",OrderProfit());
 else
 Print("OrderSelect返回的错误",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderSelect选择订单 bool OrderSelect( int index, int select, void pool)
 函数选择定单。如果函数成功,返回的值为TRUE。如果函数失败,返回的值为FALSE。获得详细错误信息,请查看GetLastError()函数。
 如果定单编号被选定,此pool参量被认知。此定单编号为唯一识别符。找出所选定单的列表,它的平仓时间必须进行分析。如果定单卖出时间为零, 开单和挂单将从终端位置列表打开。可以从定单类型区别开挂单和开单。 如果定单的卖出时间不等于0, 平单和删除定单是在终端历史中被选择。他们同样可以区分定单类型。
 参量:
 index   -   定单索引。
 select   -   选定模式。可以为以下的任意值:
 SELECT_BY_POS
 SELECT_BY_TICKET 。
 pool   -   可选择定单索引。当选择SELECT_BY_POS参量时使用。可以为以下的任意值:
 MODE_TRADES (default)- 来自交易的定单(开单和挂单),
 MODE_HISTORY - 来自历史的定单(平仓和取消定单)。
 
 示例:
 if(OrderSelect(12470, SELECT_BY_TICKET)==true)
 {
 Print("定单 #12470 开价格", OrderOpenPrice());
 Print("定单 #12470 收盘价格 ", OrderClosePrice());
 }
 else
 Print("OrderSelect 返回的错误 ",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderSend开仓 int OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, void comment, void magic, void expiration, void arrow_color)
 参量:
 symbol          -          交易货币对。
 cmd          -          购买方式。可以是购买方式列举的任意值。
 volume          -          购买手数。
 price          -          收盘价格。
 slippage          -          最大允许滑点数。
 stoploss          -          止损水平。
 takeprofit          -          赢利水平。
 comment          -          注解文本。注解的最后部分可以由服务器改变。
 magic          -          定单指定码。可以作为用户指定识别码使用。
 expiration          -          定单有效时间(只限挂单)。
 arrow_color          -          图表上箭头颜色。如果参量丢失或存在CLR_NONE价格值不会在图表中画出。
 对于OrderSend()函数的交易类型。可以是以下任意值:
 常数                        值                                描述
 OP_BUY                        0                        买仓
 OP_SELL                        1                        卖仓
 OP_BUYLIMIT                2                        买挂单交易
 OP_SELLLIMIT                3                        卖挂单交易
 OP_BUYSTOP                4                        买停挂单交易
 OP_SELLSTOP                5                        卖停挂单交易
 示例:
 int ticket;
 if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)
 {
 ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);
 if(ticket<0)
 {
 Print("OrderSend 失败错误 #",GetLastError());
 return(0);
 }
 }
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrdersHistoryTotal int OrdersHistoryTotal( )
 在账户历史返回关闭定单数加载进入终端。历史列表的大小取决于终端的"帐户历史" 表格的当前的设置.
 示例:
 // 来自交易历史的恢复信息
 int i,hstTotal=OrdersHistoryTotal();
 for(i=0;i<hstTotal;i++)
 {
 //---- 检查选择结果
 if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
 {
 Print("带有 (",GetLastError(),")错误的历史失败通道");
 break;
 }
 // 定单的一些工作
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderStopLoss double OrderStopLoss( )
 对于当前选择定单返回止损值。
 注解:定单必须用OrderSelect()函数提前选定。
 示例:
 if(OrderSelect(ticket,SELECT_BY_POS)==true)
 Print("对于10 止损值", OrderStopLoss());
 else
 Print("OrderSelect 失败错误代码是",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrdersTotal int OrdersTotal( )
 返回市场和挂单的总数
 
 示例:
 int handle=FileOpen("OrdersReport.csv",FILE_WRITE|FILE_CSV,"\t");
 if(handle<0) return(0);
 // 写标题
 FileWrite(handle,"#","开价格","买入时间","货币对","手数");
 int total=OrdersTotal();
 // 编写定单命令
 for(int pos=0;pos<total;pos++)
 {
 if(OrderSelect(pos,SELECT_BY_POS)==false) continue;
 FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots());
 }
 FileClose(handle);
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderSwap double OrderSwap( )
 对于当前选择定单返回掉期值。
 注解:定单必须用OrderSelect()函数提前选定。
 示例:
 if(OrderSelect(order_id, SELECT_BY_TICKET)==true)
 Print("对于定单 #掉期", order_id, " ",OrderSwap());
 else
 Print("OrderSelect 失败错误代码是",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderSymbol string OrderSymbol( )
 对于选择定单返回定单货币对值。
 注解:定单必须用OrderSelect()函数提前选定。
 示例:
 if(OrderSelect(12, SELECT_BY_POS)==true)
 Print("定单 #货币对", OrderTicket(), " is ", OrderSymbol());
 else
 Print("OrderSelect 失败错误代码是",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderTakeProfit double OrderTakeProfit( )
 对于当前选择定单返回赢利值。
 注解:定单必须用OrderSelect()函数提前选定。
 示例:
 if(OrderSelect(12, SELECT_BY_POS)==true)
 Print("定单 #",OrderTicket()," 盈利: ", OrderTakeProfit());
 else
 Print("OrderSelect() 返回错误 - ",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| OrderTicket int OrderTicket( )
 对于当前选择定单返回定单编号。
 注解:定单必须用OrderSelect()函数提前选定。
 示例:
 if(OrderSelect(12, SELECT_BY_POS)==true)
 order=OrderTicket();
 else
 Print("OrderSelect 失败错误代码",GetLastError());
 
 | 
 | 
|  | 
|
|  | 
|  |