有谁知道OrderProfit()内部是如何运算的?

 

一直以为OrderProfit()的值就是OrderClosePrice()-OrderOpenPrice(),

但好像数据对不上,有谁知道具体是怎么运算的吗?

拜托了!

 
xin2014:

一直以为OrderProfit()的值就是OrderClosePrice()-OrderOpenPrice(),

但好像数据对不上,有谁知道具体是怎么运算的吗?

拜托了!

还要乘上交易量,最后还要将此交易品种换算成你账户本金对应的货币值(比如有些人本金为USD,有些则是EUR啥的)。
 
tradelife:
还要乘上交易量,最后还要将此交易品种换算成你账户本金对应的货币值(比如有些人本金为USD,有些则是EUR啥的)。

非常感谢,但可以给出具体的计算式吗?

我从别处看到下面这个算式:

      (OrderClosePrice()-OrderOpenPrice())*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)/Point;


请问这个算式正确吗?如果不正确可否告知正确算式?非常感谢!

 
xin2014:

非常感谢,但可以给出具体的计算式吗?

我从别处看到下面这个算式:

      (OrderClosePrice()-OrderOpenPrice())*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)/Point;


请问这个算式正确吗?如果不正确可否告知正确算式?非常感谢!

你需要用此公式来验证,这比问来的答案更理解深刻。

找几个典型货币对,如 EURUSD,USDCHF,EURJPY,XAUUSD。

然后再用模拟账户,测试本币不同时,会有何变化。即,分别用USD,EUR,JPY 开账户。

 
xin2014:

非常感谢,但可以给出具体的计算式吗?

我从别处看到下面这个算式:

      (OrderClosePrice()-OrderOpenPrice())*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)/Point;


请问这个算式正确吗?如果不正确可否告知正确算式?非常感谢!

不准确,区别在于并不是所有交易标的的TICKSIZE都等于Point :

 //------每point价值

double tick_value = MarketInfo(Symbol(),MODE_TICKVALUE);

double tick_size  = MarketInfo(Symbol(),MODE_TICKSIZE);

double value_per_point = tick_value/(tick_size/Point());   

然后计算:

  (OrderClosePrice()-OrderOpenPrice())/Point()*value_per_point*OrderLots();

要求某订单的最终盈亏,还要考虑swap和comission 。

原因: