1评论

0收藏

计算若干个持仓多单或空单平均成本价格的函数

avatar 老周 | 1986 人阅读 | 1 人评论 | 2017-03-16

该函数模块可以计算出多个同方向订单的平均成本价格,所谓平均成本价格也就是多个订单在这个价位盈亏为0.获取平均交易成本价格,后面需要对多个订单做止损或盈利修改就方便调用了。

  1. double AveragePrice(string as_0) {
  2. double ld_8 = 0;
  3. double ld_16 = 0;
  4. for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {
  5. bool cg = OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);
  6. if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
  7. if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
  8. if (as_0 == "buy") {
  9. if (OrderType() == OP_BUY) {
  10. ld_8 += OrderOpenPrice() * OrderLots();
  11. ld_16 += OrderLots();
  12. }
  13. }
  14. if (as_0 == "sell") {
  15. if (OrderType() == OP_SELL) {
  16. ld_8 += OrderOpenPrice() * OrderLots();
  17. ld_16 += OrderLots();
  18. }
  19. }
  20. }
  21. }
  22. ld_8 = NormalizeDouble(ld_8 / ld_16, Digits);
  23. return (ld_8);
  24. }
复制代码


""
还没有人打赏,支持一下

评论|共 1 个

老船长不开船

发表于 2024-3-4 18:52:25 | 显示全部楼层

不是很完善 没加入手续费和隔夜的数据

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则