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());
|
|
|
|
|