Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Миллиард задач уже выполнено в MQL5 Cloud Network. Тестируй роботов еще быстрее!
522230
4
522230 2015.12.16 11:18 

Помогите, если возможно: Проблема - при открытии ордеров по сигналу МА терминал не закрывает ордера по сигналу той же МА, а закрывает только по SL ил TP. При этом В тестере от момента открытия ордера до его закрытия по SL или TP нет истории  по барам. Выглядит так, как если бы ордер открылся и тут же закрылся по Стопу или  Профиту.

Выписка из Logs ниже: 

0 10:41:02 2015.01.02 09:00  проба-2 EURUSD,M15: ====================================================

0 10:41:02 2015.01.02 09:00  проба-2 EURUSD,M15: MA27>Bid => cls_buy && opn_sell

2 10:41:02 2015.01.02 09:00  проба-2 EURUSD,M15: open #1 sell 1.00 EURUSD at 1.20538 sl: 1.21350 tp: 1.19388 ok

0 10:41:02 2015.01.02 09:15  проба-2 EURUSD,M15: ====================================================

0 10:41:02 2015.01.02 09:15  проба-2 EURUSD,M15: Alert: ords=1 sells(1)=1; prf_sell=117.0

0 10:41:02 2015.01.02 09:15  проба-2 EURUSD,M15: MA27>Bid => cls_buy && opn_sell

2 10:41:02 2015.01.02 09:15  проба-2 EURUSD,M15: open #2 sell 1.00 EURUSD at 1.20409 sl: 1.21221 tp: 1.19259 ok

2 10:41:02 2015.01.05 00:15  Tester: take profit #1 at 1.19388 (1.19359 / 1.19371)

2 10:41:02 2015.01.05 00:15  Tester: take profit #2 at 1.19259 (1.19359 / 1.19371) 

код без изысков:

   if(Bid>MA27)

   {   for(i=OrdersTotal(); i>0; i--)

      {    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))      continue;

           if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)

           {     tic=OrderTicket();

                  Print("(Bid > MA27)=> Close SELL (",tic,") SELL_Profit=",OrderProfit());

                 if(!OrderClose(tic,OrderLots(),Ask,slip,Red))

               {   Print("Close SELL mistake #",ErrorDescription(GetLastError()));

               Sleep(6000);

               RefreshRates();

       }   }  }

      {   Print("Bid > MA27 => opn_buy");

          tic=OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-SL*Point,Ask+TP*Point,comment,magic,0,Blue);

          if(tic==-1)

           {   Print("Open BUY - Ошибка #",ErrorDescription(GetLastError()));

               Sleep(6000);

               RefreshRates();

   }   }   }

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий