коллеги в МТ 5 надо, если не сложно можно пример в коде или ссылку я разберусь... сам смотрю оптимальный вариант в док-ии пока как-то все сложно через классы не знаю как подключить ограничение работы робота по времени,
типа этого на МТ 4 сделано
datetime thisDay=0; // время начала текущего дняdatetime nextDay=0; // время начала следующего дняdatetime tradeAllowedFrom=0; // время с которого разрешена торговляdatetime tradeAllowedTo=0; // время с которого торговля запрещенаbool tradeAllowed=true; // признак - разрешена/нет торговля прямо сейчас// проверить время и выставить признак tradeAllowed// вызывать начале OnTick, OnTimer, OnXXX...void CheckTime() {
datetime now=TimeCurrent();
if (now==0) {
// такое тоже бывает ;-)
tradeAllowed=false;
return;
}
if (now>=nextDay) {
MqlDateTime dt; TimeToStruct(now,dt);
dt.hour=dt.min=dt.sec=0;
thisDay=StructToTime(dt);
nextDay=thisDay+24*60*60;
tradeAllowedFrom=thisDay+HourStart*60*60+MinStart*60;
tradeAllowedTo=thisDay+HourEnd*60*60+MinEnd*60;
}
if (UseTime) {
if (now>=tradeAllowedFrom && now<tradeAllowedTo) tradeAllowed=true;
else tradeAllowed=false;
} else {
tradeAllowed=true;
}
}
только учти, это не "боевой код" - это с руки написано как демонстрация принципа..там есть что улучшить, уточнить и оптимизировать. По крайней мере чтобы отрабатывало только по смене секунд и в проверке условий сравнивать с Max(now,TimeTradeServer())
коллеги в МТ 5 надо, если не сложно можно пример в коде или ссылку я разберусь... сам смотрю оптимальный вариант в док-ии пока как-то все сложно через классы не знаю как подключить ограничение работы робота по времени,
вот в п.11 статьи переход с МТ 4 есть кое что - может есть что то поэлегантнее... )
Tretyakov Rostyslav #: Я использую такой вариант. Если стартовое время больше, то торговля ночью.
спасибо большое - взял к себе в робота, мне как раз и надо что в течение суток, у меня будет время начала меньше времени окончания типа с 11.30 час до 20.30 час - так котируется по времени бывает символ брокером
коллеги в МТ 5 надо, если не сложно можно пример в коде или ссылку я разберусь... сам смотрю оптимальный вариант в док-ии пока как-то все сложно через классы не знаю как подключить ограничение работы робота по времени,
вот в п.11 статьи переход с МТ 4 есть кое что - может есть что то поэлегантнее... )
коллеги в МТ 5 надо, если не сложно можно пример в коде или ссылку я разберусь... сам смотрю оптимальный вариант в док-ии пока как-то все сложно через классы не знаю как подключить ограничение работы робота по времени,
типа этого на МТ 4 сделано
dt.hour=dt.min=dt.sec=0;
А что, так можно было? )
конечно можно, как в C/C++, все dt.hour dt.min dt.sec инты и можно присваивать константу всем сразу справа на лево.
спс большое - взял в работу
только учти, это не "боевой код" - это с руки написано как демонстрация принципа..там есть что улучшить, уточнить и оптимизировать. По крайней мере чтобы отрабатывало только по смене секунд и в проверке условий сравнивать с Max(now,TimeTradeServer())
конечно можно, как в C/C++, все dt.hour dt.min dt.sec инты и можно присваивать константу всем сразу справа на лево.
круть
коллеги в МТ 5 надо, если не сложно можно пример в коде или ссылку я разберусь... сам смотрю оптимальный вариант в док-ии пока как-то все сложно через классы не знаю как подключить ограничение работы робота по времени,
вот в п.11 статьи переход с МТ 4 есть кое что - может есть что то поэлегантнее... )
https://www.mql5.com/ru/articles/81
типа этого на МТ 4 сделано
Tretyakov Rostyslav #:
Я использую такой вариант. Если стартовое время больше, то торговля ночью.
Не знал, что существует такое время.
[edit]
23 часа разницы между 00:00 и 24:00. Похоже, оно работает не совсем так, как вы ожидаете
А что, так можно было? )
в справке есть:
Оператор присваивания:
Идентификатор = выражение;
В выражении оператор присваивания может присутствовать много раз. В этом случае обработка выражения ведется справа налево.
Я использую такой вариант. Если стартовое время больше, то торговля ночью.
коллеги в МТ 5 надо, если не сложно можно пример в коде или ссылку я разберусь... сам смотрю оптимальный вариант в док-ии пока как-то все сложно через классы не знаю как подключить ограничение работы робота по времени,
вот в п.11 статьи переход с МТ 4 есть кое что - может есть что то поэлегантнее... )
https://www.mql5.com/ru/articles/81
типа этого на МТ 4 сделано
Вот этот код, хорошо тем, что его можно оптимизировать в тестере, в отличии от тех в которых время задаётся стринговой переменной.