客服热线:18391752892

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

   日期:2019-01-12     浏览:901    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 如题:
我这个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);
               }
             }   
         }
        }
}       

订单管理没有做好
按你现有的条件执行EA,是每tick都会执行一次,符合条件时,自然就是每个tick都会下单
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情快递
推荐行情快递
点击排行