- Вопросы от "чайника"
- to MetaQuotes
- FOREX - Тенденции, прогнозы и следствия 2016
Добрый день уважаемые программисты, хотел бы попросить вас кинуть пример кода, в котором бы в выходные дни(когда рынок закрыт) таймер бы не работал
void OnTimer() { int nDayOfWeek = TimeDayOfWeek(TimeLocal()); if (nDayOfWeek == 0 || nDayOfWeek == 6) return; // код, выполняемый в рабочие дни }
Добрый день уважаемые программисты, хотел бы попросить вас кинуть пример кода, в котором бы в выходные дни(когда рынок закрыт) таймер бы не работал
EventKillTimer()
только не забудьте его потом снова включить
EventKillTimer()
только не забудьте его потом снова включить
Если рынок закрыт, то не получится включить, нет события.
когда рынок откроется (то есть пойдут котировки) придёт первый OnTick
да и ChartEvevnt никто не отменял :-) то есть события какие-никакие а всё равно приходят. На них можно даже эмуляцию таймера делать если EventSetTimer зафейлил
когда рынок откроется (то есть пойдут котировки) придёт первый OnTick
да и ChartEvevnt никто не отменял :-) то есть события какие-никакие а всё равно приходят. На них можно даже эмуляцию таймера делать если EventSetTimer зафейлил
Нужно помнить об этом в разных кусках кода. А здесь решение локальное, не нужно тиражировать в другие функции.
когда рынок откроется (то есть пойдут котировки) придёт первый OnTick
да и ChartEvevnt никто не отменял :-) то есть события какие-никакие а всё равно приходят. На них можно даже эмуляцию таймера делать если EventSetTimer зафейлил
а как узнать что рынок закрылся?)
насколько помню в МТ4 нет универсального решения чтобы определять закрыт или открыт рынок.
Это универсальное, но нечёткое решение - тиков может не быть несколько минут. Надо ждать хотя бы 5 мин.
Я выключаю по таймеру, в субботу в 1:00, а включаю по первому тику в понедельник.
Добрый день уважаемые программисты, хотел бы попросить вас кинуть пример кода, в котором бы в выходные дни(когда рынок закрыт) таймер бы не работал
Вам нужно сначала определить - закрыт рынок или нет, а потом применить команду включения/отключения таймера.
На форуме есть ветки на тему определения работает рынок или нет.
Воспользуйтесь поиском по форуму.
Вам нужно сначала определить - закрыт рынок или нет, а потом применить команду включения/отключения таймера.
На форуме есть ветки на тему определения работает рынок или нет.
Воспользуйтесь поиском по форуму.
Универсальных решений нет и это все знают, даже разработчики.
Это как один из вариантов:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как выключить таймер когда рынок закрыт?
Edgar, 2019.01.23 16:56
Это универсальное, но нечёткое решение - тиков может не быть несколько минут. Надо ждать хотя бы 5 мин.
Я выключаю по таймеру, в субботу в 1:00, а включаю по первому тику в понедельник.
Я изучил старую ветку того обсуждения. Там народ старался придумать совершенный и универсальный способ определения закрытия рынка, совершенно не заботясь эффективностью и экономией. А ведь это предлагается делать на каждом тике!
Я замерил - один только вызов IsTradeAllowed(_Symbol, time) в 2.5 раза дольше, чем вычисление, что сейчас N часов субботы. Стандартное расписание мы знаем, а исключения (праздники) мы заметим по ошибке "market closed" и установим флаг. Этот флаг сбросим в OnTick().
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования