Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ни че не понял. Я-то как раз не путаю.
Как будто праздники не случаются по будням, а в выходные не бывает рабочих дней.
Не подсовывайте людям лажовый путь... Не к тому надо привязываться. Оставьте его для своих клиентов.
Для тех, кто умеет читать только последние комментарии, а не всю предисторию. Вопрос был:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Порционное вычисление в индикаторе
elugovoy, 2014.04.13 10:59
Приветствую всех!
У меня вопрос следующий.
...
2. На время weekend конечно можно зарядить таймер OnTimer для вызова OnCalculate... наверное... но... как эта каша будет себя вести при вызове из торгового робота? Кушать ресурсы системы... Непрактично.
Может кто сталкивался с подобной проблемой, пните в нужную сторону для размышлений.
И соответственно ответ именно для weekend:
weekend
Развернуть статью | LingvoUniversal (En-Ru)[]
1. сущ.
выходные дни, уикэнд
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Порционное вычисление в индикаторе
barabashkakvn, 2014.04.13 12:36
Насчет работы в выходные.
Нужно использовать OnTimer() плюс проверка по дням недели:
А как вообще можно программно определить, что сейчас выходные или праздники (кроме анализа даты и отсутствия тиков)?
А если в индикатор встроить блок, при вызове которого будет происходить порционная обработка +10 баров в прошлое
плюс текущий (при условии, что он(текущий бар) изменился с момента прошлого вызова этого блока).
Каждый вызов этого блока увеличивает счётчик на единицу. И при переполнении счётчика отключить обработку прошлого,
оставить лишь обработку текущего бара.
Сигналы в этот блок идут одновременно с таймера (с периодом 2-3 сек) и от OnCalculate.
Пока счётчик блока не переполнится - этот блок реагирует на свой запуск лишь от таймера (с периодом 2-3 сек),
когда переполнится - то таймер игнорим, а от OnCalculate запускаемся.
А как вообще можно программно определить, что сейчас выходные или праздники (кроме анализа даты и отсутствия тиков)?
Ну это зависит от того, зачем это нужно. определить разрешена ли торговля можно и без этого.
А в данном случае вообще не нужно ничего определять. Запускать расчеты в таймере до окончания, потом остановить его, если для других целей не нужен.
Никогда нельзя забывать, что на некоторых инструментах OnTick()(OnCalculate) может происходить и раз в неделю. Исходить надо из этого.
Определение торговых дней недели
А если в индикатор встроить блок, при вызове которого будет происходить порционная обработка +10 баров в прошлое
плюс текущий (при условии, что он(текущий бар) изменился с момента прошлого вызова этого блока).
Каждый вызов этого блока увеличивает счётчик на единицу. И при переполнении счётчика отключить обработку прошлого,
оставить лишь обработку текущего бара.
Сигналы в этот блок идут одновременно с таймера (с периодом 2-3 сек) и от OnCalculate.
Пока счётчик блока не переполнится - этот блок реагирует на свой запуск лишь от таймера (с периодом 2-3 сек),
когда переполнится - то таймер игнорим, а от OnCalculate запускаемся.
Другое дело - сколько дней топикстартер готов ждать пересчета индюка по таймеру, если в цикле это занимает 15 секунд. ))
Или, как вариант:
действительно перенести логику расчётов на MQL5 и пробовать увеличивать
производительность за счёт нативной поддержки OpenCL.
Правда не все алгоритмы вычислений туда удаётся переложить с выигрышем в скорости расчётов...
Ребята, речь шла о выходных днях (они же weekend) как наиболее частое время когда рынок закрыт.
В это время функция OnCalculate вызывается лишь однажды, а посему первичная обработка полного массива баров занимает достаточно длительное время.
Выход использовать - OnTimer. Тут я согласен, приемлемо для отложенных расчетов, так как нужно просто для визуализации.
Роботу лишь текущее значение нужно знать (т.е. для текущего бара).
Всем спасибо.