评论

收藏

到达设定盈利点数平仓的函数

avatar 老周 | 1437 人阅读 | 0 人评论 | 2017-03-16

该函数可以执行对应图表下的订单到底指定盈利点数即平仓的效果。一般来说设定盈利超过止损水平的话不需要用到下面函数,直接修改订单设置盈利数值就可以。如果想在止损水平以内平仓该函数就可以执行。

  1. extern int 滑点 = 20;
  2. extern int 盈利点数 = 9;
  3. double pt;

  4. int OnInit()
  5.   {
  6. //-------------注意这里适应不同报价方式要添加------------
  7.    if(Digits==5) pt=0.0001;
  8.    else
  9.      {
  10.       if(Digits==3) pt=0.01;
  11.       else pt=Point;
  12.      }
  13. //--------------------适应不同报价方式结束----------
  14.    return(INIT_SUCCEEDED);
  15.   }
  16. void OnTick()
  17.   {
  18. //---
  19.       订单大于盈利数值平仓();
  20.   }
复制代码

  1. //+-----------------------订单大于盈利数值平仓函数-------------------------------------------+
  2. void 订单大于盈利数值平仓()
  3. {
  4.    double ld_closeprice = 0.0;
  5.     bool chenggong = false;

  6.         for (int pos = OrdersTotal() - 1; pos >= 0; pos--)
  7.          {
  8.             if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES))
  9.             {
  10.             RefreshRates();
  11.             ld_closeprice=OrderClosePrice();
  12.             if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && ld_closeprice-OrderOpenPrice() >= 盈利点数*pt)
  13.             {
  14.             chenggong =  OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 滑点, CLR_NONE);
  15.                 }
  16.             if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderOpenPrice()-ld_closeprice >= 盈利点数*pt)
  17.             {
  18.             chenggong =  OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 滑点, CLR_NONE);
  19.                 }
  20.             }
  21.         }
  22.         }
  23. //-----------------------订单大于盈利数值平仓函数结束---------------------
复制代码


""
还没有人打赏,支持一下
您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则