怎么确认一张单子平仓后的赢利与亏损?

 

如果

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

if(OrderProfit()>0)...........

这样可以吗?


还有怎么区分挂单与已经成交的单子,成交后的单子的选择代码都是OP_SELL或OP_BUY?而不是OP_SELLLIMIT或OP_BUYLIMIT?是这样吗?

 
chqyld 写道 >>

如果

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

if(OrderProfit()>0)...........

这样可以吗?

还有怎么区分挂单与已经成交的单子,成交后的单子的选择代码都是OP_SELL或OP_BUY?而不是OP_SELLLIMIT或OP_BUYLIMIT?是这样吗?

if(OrderProfit()>0)用这个确认是不对的,这个函数只能对未平仓的单来计算,而且是依据即时的行情不断变化的。要确认一张单平了后亏还是赚要对历史记录进行分析,要用到OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)这样的函数。

区分挂单和成交单没错,多自学点吧

 
oazj 写道 >>

if(OrderProfit()>0)用这个确认是不对的,这个函数只能对未平仓的单来计算,而且是依据即时的行情不断变化的。要确认一张单平了后亏还是赚要对历史记录进行分析,要用到OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)这样的函数。

区分挂单和成交单没错,多自学点吧

用历史记录分析明白了,可是怎么才能判断刚刚平掉的一张单子的赢利与亏损呢?