mengzaifei6 发表于 2024-9-16 21:21:28

浮亏加仓策略挂单开仓,挂单价格随实时价格进行更新,求大神指导

请教各位大神一个问题,ea策略浮亏加仓,黄金加仓的方式为每次下跌两个点加仓一次,现在我想改为每次下跌两个点后挂单开多,挂单价位和现价相差一美金或者0.5美金,如果行情一路下跌,挂单价格也会向下移动,实时价格波动一定幅度再更新挂单价格,防止挂单价格频繁被更新。比如:黄金价格现在为1580,下跌到1578,开始挂单1579做多,如果行情没触发到1579,继续下跌到1577,挂单价格变更为1578,如果继续下跌到1575,挂单做多价格变更为1576多。怎么可以实现,现在已实现固定两个点浮亏加仓。

以下为部分代码


if(selldanshu<亏损加仓次 && (Bid-sellop)>=亏损加仓间隔点数*Point && buydanshu<4)
         {

            sell(flots(selllots*亏损加仓下倍数),0,0,Symbol()+"sell"+selldanshu,magic);

         }
   sell函数如何调整
int sell(double lots,double sl,double tp,string com,int sellmagic)
{
    int a=0;
    bool zhaodan=false;
   for(int i=0;i<OrdersTotal();i++)
      {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
          {
            string zhushi=OrderComment();
            int ma=OrderMagicNumber();
            if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && zhushi==com && ma==sellmagic)
            {
                zhaodan=true;
                break;
            }
          }
      }
    if(zhaodan==false)
      {
      if(sl==0 && tp!=0)
         {
         a=OrderSend(Symbol(),OP_SELL,lots,Bid,50,0,Bid-tp*Point,com,sellmagic,0,Red);
         }
      if(sl!=0 && tp==0)
         {
         a=OrderSend(Symbol(),OP_SELL,lots,Bid,50,Bid+sl*Point,0,com,sellmagic,0,Red);
         }
      if(sl==0 && tp==0)
         {
         a=OrderSend(Symbol(),OP_SELL,lots,Bid,50,0,0,com,sellmagic,0,Red);
         }
      if(sl!=0 && tp!=0)
         {
         a=OrderSend(Symbol(),OP_SELL,lots,Bid,50,Bid+sl*Point,Bid-tp*Point,com,sellmagic,0,Red);
         }
      }
    return(a);
}   
    OrderType()==OP_SELL   如果改为OP_SELLSTOP,可以实现挂单,无法进行价格跟新,求大神协助!!

页: [1]
查看完整版本: 浮亏加仓策略挂单开仓,挂单价格随实时价格进行更新,求大神指导