8评论

0收藏

请教问题:为何我的EA会连续同一时间不断交易

avatar 大新新 | 3985 人阅读 | 8 人评论 | 2014-02-12

如题:
我这个ea是仿照原来的macd simple 来写的
if(Total<1)
if((macd1>0 && macd2<macd1 && force<=0 && High[0]>High[1])||(macd1<=0 && macd2<macd1 && force<=0 && High[0]>High[1]))
{
  MyBuyTicket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,888,"macd sample",16384,0,Green);
  if(MyBuyTicket>0)
    {
     if(OrderSelect(MyBuyTicket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
    }
   else Print("Error opening BUY order : ",GetLastError()); return(0);
}
if((macd1>0 && macd2>macd1 && force>0 && Low[0]<Low[1]) ||(macd1<=0 && macd2>macd1 && force>0 && Low[0]<Low[1]))
{
  MySellTicket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,0,"macd sample",16384,0,Red);
  if(MySellTicket>0)
    {
     if(OrderSelect(MySellTicket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
    }
  else Print("Error opening SELL order : ",GetLastError()); return(0);

   //当含有定单时         kkmacd 的值表示出来的时候是否永远为正数,导致判断macd为负时候出错。
       for(n=0;n<Total;n++)
          {
            OrderSelect(0, SELECT_BY_POS, MODE_TRADES); //这里用0是因为目前我只打算只做1笔交易,后期如果涉及到分部止盈止损的时候需要用到f o r 循环来选取。
            if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
              {
                if(OrderType()==OP_BUY)
                  {
                   if(Low[0]<Low[1])
                     {
                       OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
                        return(0);
                     }
                  }
                 else
                    {
                     if(High[0]>High[1])
                       {
                       OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
                       return(0);
                       }
                    }   
              }
          }
}         

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

评论|共 8 个

億秒

发表于 2014-2-14 11:00:26 | 显示全部楼层

订单管理没有做好
按你现有的条件执行EA,是每tick都会执行一次,符合条件时,自然就是每个tick都会下单

谢逢升

发表于 2014-6-1 19:29:33 | 显示全部楼层

利用 Bars 來管理,開倉時加入 myBars != Bars
開完倉後寫一條 myBars = Bars;

iubpw7

发表于 2014-6-23 15:43:37 | 显示全部楼层


希望论坛多些这样的无私奉献的人

lili

发表于 2014-11-15 13:30:06 | 显示全部楼层

路过。。看下先。

qq272285293

发表于 2014-11-24 06:32:56 | 显示全部楼层

EA真的能赚钱么?

ghost

发表于 2014-11-24 11:56:20 | 显示全部楼层

围观中~~~

苍老师学外汇

发表于 2014-11-24 21:20:55 | 显示全部楼层

赚钱,赚积分。顶....

wdvka

发表于 2014-11-24 21:21:27 | 显示全部楼层

看看怎么样

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

EA之家评论守则