Ищу код чтобы вписать в советник. Торговое расписание. - страница 2

 
Eugene Maslyukov:

вот есть советник. я его перетянул на график. включил и настроил. затем беру сохраняю шаблон графика с экспертом со своим названием. потом на другой график кидаю ваш советник и указываю в настройках название моего шаблона? или я не так понял? а как тестировать в тестере всю эту конструкцию?

в тестере - только если вы объедините ваш с этим .

в один эксперт  

 
Eugene Maslyukov:
Ищу рабочий код. Что уже только не пробовал. Есть советник. Как мне сделать так чтобы он торговал и закрывал сделки по расписанию Московской биржи. Тоесть чтобы можно было задавать время отключения торговли и закрытия всех сделок допустим перед клирингами и перед закрытие рынка. Все что тут находил на форумах ничего не работает толком. Везде ошибки. Логика такая. Торговля разрешена с 10.01 до 13.59. в 13.59 закрываются все ордера. Затем торговля разрешена с 14.05 до 18.44. в 18.44 закрываются все ордера. Затем торговля разрешена с 19.00 по 23.49. в 23.49 закрываются все ордера. Нужно чтобы каждый рабочий промежуток можно было отключить и включить. чтобы время можно было редактировать тоже. как это сделать.  через TradeState ничего не получается. Или не хватает знаний.
//+------------------------------------------------------------------+
//| Expert Check Market Time function                                |
//+------------------------------------------------------------------+
bool CheckMarketTime()
{
  MqlDateTime cur_time, sv_time;
  cur_time.year = 0;
  TimeTradeServer(cur_time); //Возвращает расчетное текущее время торгового сервера.
  if(cur_time.year > 0)
  {
    sv_time.year = 0;
    TimeCurrent(sv_time); //Возвращает последнее известное время сервера
    if(sv_time.year > 0)
    {
    //  if((cur_time.day_of_week == int(FirstDay)) ||
    //     (cur_time.day_of_week == int(SecondDay))) return(false); //Проверка на выходные
      if(cur_time.day_of_week == sv_time.day_of_week)
      {
        ulong tr_time = sv_time.hour * 3600 + sv_time.min * 60 + sv_time.sec;
        if(((tr_time >= time_st_mon) && (tr_time < 50370)) ||  //10:00:01 - 13:59:30
           ((tr_time >= time_st_day) && (tr_time < 67470)) ||  //14:05:01 - 19:44:30 
           ((tr_time >= time_st_evn) && (tr_time < 85770)))    //19:05:01 - 23:49:30
        {
          return(true);
        }  
      }  
    } 
  }   
  return(false);
}
 

как этим пользоваться.? 

 
Eugene Maslyukov:

как этим пользоваться.? 

Вы не программируете?

 
Eugene Maslyukov:

как этим пользоваться.? 

хотите я вам объединю вашего эксперта ?

только вам нужно - вложить сюда ваш код эксперта  

 
Eugene Maslyukov:

как вот это все соединить и заставить работать?

сейчас попробую 

 
Eugene Maslyukov:

как вот это все соединить и заставить работать?

выставляете время когда нужно стартовать эксперту 

и выставляете время когда нужно все позиции закрыть 

как закроет все позиции, эксперт удалится и выставит другой шаблон графика

---------------------

а вот со скриптом я здесь уже ноль

Файлы:
 
Aleksandr Klapatyuk:

выставляете время когда нужно стартовать эксперту 

и выставляете время когда нужно все позиции закрыть 

как закроет все позиции, эксперт удалится и выставит другой шаблон графика

---------------------

а вот со скриптом я здесь уже ноль

а как убрать год месяц и день. меня просто только интересует время. 

 
а так спасибо. уже всеравно неплохо.
 
Eugene Maslyukov:

а как убрать год месяц и день. меня просто только интересует время. 

это для того, что было видно, эксперт в ожидание запуска, даты и времени  нет .

можно и вообще убрать или что не будь туда вписать 

вот здесь 

      MqlDateTime TimeLocal;
   if((HoursFrom<HoursTo && TimeLocal()>=HoursFrom && TimeLocal()<HoursTo) ||
      (HoursFrom>HoursTo && (TimeLocal()<HoursTo || TimeLocal()>=HoursFrom)))
     {
      OnTickOnTick();
      StringConcatenate(txt,"",TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES)); вот здесь --------------
      DrawLABEL(3,"cm 3",txt,5,30,Lime,ANCHOR_RIGHT);
     }

      StringConcatenate(txt,"",MaximumRisk); будет показывать ваш лот

или можете вообще удалить эти 2 нижние строчки 

Причина обращения: