外汇EA
平均持仓价格
回复:0  浏览:281
  • 楼主admin 圈主
  • 2019-05-05 15:02
循环查询持仓单,计算每一个持仓单的 开仓价格*开仓量 汇总。然后除以 持仓总量。
此计算方法考虑了不同持仓单量不同的影响,将价格分摊到不同持仓量上。
补充:
算出平均持仓价格,就可以计算平均盈利点数。(用现价与平均持仓价格相减即可)。这里要注意的是,总持仓量的不同,所以平均盈利点数只是针对价格,未考虑持仓量的因素。

  1. double HoldingOrderAvgPrice()
  2. {
  3. double Tmp=0;
  4. double TotalLots=0;
  5. for(int i=OrdersTotal()-1;i>=0;i--)
  6. {
  7.   OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  8.   if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic )
  9.     {      
  10.      Tmp+==OrderOpenPrice()*OrderLots();
  11.      TotalLots+=OrderLots();
  12.     }
  13. }
  14. return(Tmp/TotalLots);
  15. }