📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    给EA增加一个新的功能测试的时候发现没好用,请大佬帮忙看下

    2020-06-16 · 1600 阅读


    //写这个是为了当信号出现后进场的单子止损掉后,再进场的,在满足进场条件下,第二单半仓,第三单在第二单基础上再减半(变量在程序中都有声明的这里不写了)


    int _GetLastError = 0, _OrdersTotal = OrdersTotal();
            if(是否多次开仓!=0)
            {
             
       for(int z=_OrdersTotal-1; z>=0; z--)
    {
              //多单止损
               if(OrderType() == OP_BUY)
               {
                if(Bid<=OrderOpenPrice()-止损点数*Point)
                {
                   
                   
                   if(Close[0] )//止损被扫掉了,但是当时不进场,等当前时间周期K线走完再进场
                   {
                     i++; //为了计数,当第三次止损并且符合进场条件不进场
                     if(A>0&& C>0 )//这是下单条件
                     {
                       if(i<=2)
                       {
                         if(是否开启半仓!=0) //这是一个开半仓的一个开关,关掉就是按照设定的开仓
                         {
                            if(i==1)
                            {
                               lots=lots/2;
                            }else{
                               lots=(lots/2)/2;
                            }
                         }
                         printf("多单");
                         bool OPENBUY=OrderSend(Symbol(),OP_BUY,lots,Ask,5,0,0,"buy",_MagicNumber,0,Green);
                         return;
                       }
                     }
                   }
                }
               }
               //如果空单止损
               if(OrderType() ==  OP_SELL)
               {
                if(Ask>=OrderOpenPrice()+止损点数*Point)
                {
                   
                   if(Close[0]  )
                   {
                      i++;
                      if(A<0 && C<0 )//这是下单条件
                     {
                       if(i<=2)
                       {
                         if(是否开启半仓!=0)
                         {
                            if(i==1)
                            {
                               lots=lots/2;
                            }else{
                               lots=(lots/2)/2;
                            }
                         }
                         printf("空单");
                         bool OPENSELL=OrderSend(Symbol(),OP_SELL,lots,Bid,5,0,0,"sell",_MagicNumber,0,Red);
                         return;
                       }
                     }
                   }
                }
               }
            }
    }

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

    举报

     

    回答|共 2 个

    benkeputuo LV3

    发表于 2020-6-16 03:44:02 | 显示全部楼层

    新的K线开始下单用这个条件是不是也行:
    Time[0]-TimeCurrent()==0

    benkeputuo LV3

    发表于 2020-6-16 22:37:18 | 显示全部楼层

    今天运行了一天发现了不少问题:
    首先EA不能自动下单了
    其次里面计数,当满足指标时进场第几单,计数有问题
    要加上那个货币兑,魔术号要一样(区分货币兑和时间周期)
    判断止损的条件可能有问题,我是小白,没有写过只有一点写代码的基础
    应该还要加上判断当前货币兑当前周期是否有新单进场,如果有证明信号有中断并且新出来的这个信号已经下了一单。在这种信号中断后是不能再重新补仓的。
    求大神大概给一个框架。
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服