Скачать MetaTrader 5

Блокировка торговли после стоплосса

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся история MQL5.community в одном месте!
Forex Trader
114255
Forex Trader 2006.09.29 01:47 
Товарищи, написал советника, все хорошо но бывает такое что он после одной неудачной позиции открывает другую, третью... и сливает весь счет.

Поскольку на уровне индикаторов я как смог, точки слива уже перекрыл, возникла идея, а может просто заблокировать советник на неделю после первого стоплосса?

Заблокировать получилось, но хочется чтобы он еще сам разблокировался . Идеи будут?

вот код
идея в том чтобы жестко установленный стоп-лосс перехватить, и поставить паузу.
Проблема в том что советник просто блокируется и не разблокируется через 7 дней (работаем на дневном графике)

////////////////////////////////////////STOP LOSS INTERCEPTION\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
IfClosed=false;
if (OrderOpened==True && Bid-10*Point<OrderStopLoss()) 
IfClosed=OrderClose(OrderTicket(), OrderLots(), Bid, 5, Red);

////////////////////////////////////////////TIME PAUSE\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
       if (IfClosed==true)
     {Alert("AfterLoss time pause is on.", OrderSymbol());
      LossDay=DayOfYear();
      Comment(TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS)+"  AfterLoss pause activated"+".   Restart the advisor 7 days later");
      while (LossDay+7>DayOfYear())
      {}
     }



спасибо

Forex Trader
114255
Forex Trader 2006.09.29 03:58  
Надо просто запоминать CurTime() в момент срабатывания СЛ, а в самом начале функции старт добавить строку
if ( CurTime() - SLTime <= 7 * 24 * 60 * 60 ) return(0);



DayOfYear() нельзя использовать, потому что в начале года он будет меньше дня срабатывания СЛ, и система остановится ;)

Forex Trader
114255
Forex Trader 2006.09.29 05:06  
Merci beaucoup, я про недочеты DayOfYear тоже подумал, но решил что потом улажу, а что касается простого If, то это действительно лучший способ, надо было просто SLTime объявить перед стартом. Спасибо.
Forex Trader
114255
Forex Trader 2006.09.29 12:24  
ИМХО, SLTime лучше сделать глобальной, соответствующим образом поименовав, особенно если предполагается одновременная работа нескольких экземпляров эксперта.
Forex Trader
114255
Forex Trader 2006.09.29 12:38  
ИМХО, SLTime лучше сделать глобальной, соответствующим образом поименовав, особенно если предполагается одновременная работа нескольких экземпляров эксперта.
Да, правильно. И чтоб после перезапуска терминала пауза работала ;)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий