в индикаторах можно использовать WinAPI функцию SleepEx()
в индикаторах можно использовать WinAPI функцию SleepEx()
Насколько я понимаю, Вы не сможете использовать функции WinAPI на чемпионате
Важно! Эксперты "Ex_Timer_OrderLimits_TrailByTime" и "Ex_Timer_OrderSend_wMinTimeLimit" расчитаны на работу только на демо счетах!
Важно! Эксперты "Ex_Timer_OrderLimits_TrailByTime" и "Ex_Timer_OrderSend_wMinTimeLimit" расчитаны на работу только на демо счетах!
Оба эти советника написаны с демонстрационной целью и не более.
Ex_Timer_OrderLimits_TrailByTime
Не предполагает наличие открытых ордеров на символе отличном от выбранного в окне с установленным советником.
Ex_Timer_OrderSend_wMinTimeLimit
Проверяет лишь отсутствие открытых ордеров, какие-либо иные условия (даже торговые) не проверяются. Если нет открытых позиций, то производится выбор направления (для четных секунд - BUY, для нечетных - SELL) и попытка открыться. В случае удачи, запускается таймер с выдержкой равной выбранному на графике периоду (т.е. для M5 выдержка составит 300 секунд, для H1 - 3600 секунд и т.д.). Пока есть открытые или отложенные ордера или не истекло время выдержки после предыдущего открытого этим советником ордера, Ex_Timer_OrderSend_wMinTimeLimit не открывает новых.
Важно! Эксперты "Ex_Timer_OrderLimits_TrailByTime" и "Ex_Timer_OrderSend_wMinTimeLimit" расчитаны на работу только на демо счетах!
Оба эти советника написаны с демонстрационной целью и не более.
Ex_Timer_OrderLimits_TrailByTime
Не предполагает наличие открытых ордеров на символе отличном от выбранного в окне с установленным советником.
Ну да- это большие проблемы.
Мне лично больше нравятся скрипты в while цикле чем советники зависимые от тиков.
А статья дельная.
Похожая статья - Пауза между торговыми операциями.
И стоило упомянуть, что Sleep() имеет встроенную проверку на IsStopped() - иногда это может быть важно.
Мне лично больше нравятся скрипты в while цикле чем советники зависимые от тиков.
Советника тоже можно зациклить ;)
static int _time_waiting=0; // ... if ( ... ) // условие, при выполнение которого требуется выдержать паузу _time_waiting = TimeLocal() + 10; // окончание паузы через 10 секунд от текущего локального времени if ( TimeLocal() >= _time_waiting ) { // программный блок, выполнение которого не произойдет ранее времени окончания паузы // ... }
Для тех кто в поезде, обясните плз.
1) Где обнуление _time_waiting`a?
На каком тике исполнится условие:
_time_waiting = TimeLocal() + 10; // окончание паузы через 10 секунд от текущего локального времени if ( TimeLocal() >= _time_waiting )
ведь как я понял, каждый тик, переменная _time_waiting будет на 10сек больше текущего времени.
сенк.
Для тех кто в поезде, обясните плз.
1) Где обнуление _time_waiting`a?
На каком тике исполнится условие:
_time_waiting = TimeLocal() + 10; // окончание паузы через 10 секунд от текущего локального времени if ( TimeLocal() >= _time_waiting )
ведь как я понял, каждый тик, переменная _time_waiting будет на 10сек больше текущего времени.
Обнуление не нужно.
Строка " _time_waiting = TimeLocal() + 10;" выполнится только внутри if ( условие, при выполнение которого требуется выдержать паузу ).
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
New article Спать или не спать? has been published:
Author: Sergey Gridnev