Как определить разрешена ли торговля? - страница 2

 
Juriy Iziymov:
а чем тебе метод выше не угодил , проверяешь разрешена ли торговля по инструменту - плюс рекомендую проверить есть ли цена Ask или Bid , если всё это есть то можно торговать, да и по сути если торговли еще нет  - не прийдет ни одного тика для того что бы твой советник стартанул
проблема в то ,что тик может поступить и во время клиринга видел такое не раз ,особенно во время вечернего . а если совпадение условий и робот будет пытаться сделать сделку по приходе очередного тика во время клиринга или буквально перед закрытием  ? для себя я решил void OnTick() +
bool Trading_Time()
   {
     MqlDateTime tick_time;
     TimeTradeServer(tick_time);
     uint trade_time=tick_time.hour*3600+tick_time.min*60+tick_time.sec;
     
     if(( tick_time.day_of_week==0) || (tick_time.day_of_week==6))               // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
     {
      return( false );
     }
     if(((trade_time > (10*3600))&&(trade_time < (13*3600+59*60))) ||            // с 10:00 до 13:59
         (trade_time > (14*3600+60*4))&&(trade_time < (18*3600+44*60)) ||        // с 14:04 до 18:44
         (trade_time > (19*3600))&&(trade_time < (23*3600+49*60)))               // с 19:00 до 23:49
          {
            return( true );
          }
          return( false );
   }

 
Juriy Iziymov:
а чем тебе метод выше не угодил , проверяешь разрешена ли торговля по инструменту - плюс рекомендую проверить есть ли цена Ask или Bid , если всё это есть то можно торговать, да и по сути если торговли еще нет  - не прийдет ни одного тика для того что бы твой советник стартанул
Есть брокер у которого в течении первых двух минут в понедельник тики идут, но ордера выставлять ещё нельзя.
 
Я для себя полюбасу отключил торговлю в пятницу после 22:55 и до понедельника 0:05 
В любой другой день с 23:55 до 00:05 
По условиям брокера
Причина обращения: