
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Глубоко я не исследовал, сейчас говорю по логике:
- у меня стоит проверка перед началом построения индикатора в OnCalculate - построены ли все индикаторы, которые необходимы для корректного построения этого индикатора. если нет - выход из цикла, потому что ждать в том же запуске OnCalculate нельзя (что нельзя ждать факт - подтверждено Ренатом) из этого следует, что этот индикатор должен выйти из цикла и снова ждать обновления, правильно? и если там несколько таких уровней вложенности, то столько раз и нужно будет пользователю вызывать из меню графика эту опцию, это если допустить, что каждый раз индикаторы между соседними вызовами успевают построиться (а бывает что они далеко не мгновенно строятся, особенно мультивалютные и мультипериодные).
- то что в индикаторах, вызванных через iCustom не действуют OnTimer и OnChartEvent - тоже факт, подтверждено модераторами в соседней ветке и я сам проверял.
Глубоко я не исследовал, сейчас говорю по логике:
- у меня стоит проверка перед началом построения индикатора в OnCalculate - построены ли все индикаторы, которые необходимы для корректного построения этого индикатора. если нет - выход из цикла, потому что ждать в той же сессии OnCalculate нельзя (что нельзя ждать факт - подтверждено Ренатом) из этого следует, что этот индикатор должен выйти из цикла и снова ждать обновления, правильно? и если там несколько таких уровней вложенности, то столько раз и нужно будет пользователю вызывать из меню графика эту опцию, это если допустить, что каждый раз индикаторы между соседними вызовами успевают построиться (а бывает что они довольно долго строятся, особенно мультивалютные и мультипериодные).
- то что в индикаторах, вызванных через iCustom не действуют OnTimer и OnChartEvent - тоже факт, подтверждено модераторами в соседней ветке и я сам проверял.
Хорошо, а как Вы решили проблему таких построений?
У меня был набор взаимосвязанных сложных индикаторов в МТ4, который нужно было перенести в МТ5. Я решил сделать систему классов чтобы включать индикаторы друг в друга и рассчитывать их и без iCustom и без индикаторных буферов.
Радикально. А по поводу добавления во вложенные индикаторы доступ к таймеру что-нибудь говорили?
Я особо не спрашивал про подобные планы, потому что ждать возможности все равно не было.
И тогда уж сразу добавили бы возможность ожидания типа Sleep() в индикаторах, чтобы можно было как в скриптах дождаться построения используемых данных не выходя из OnCalculate. Кстати таймсерий это тоже касается - подгрузить необходимые данные без прихода новых тиков индикатор не сможет.
Я особо не спрашивал про подобные планы, потому что ждать возможности все равно нет.
И тогда уж сразу добавили бы возможность ожидания типа Sleep() в индикаторах, чтобы можно было как в скриптах дождаться построения используемых данных не выходя из OnCalculate. Кстати таймсерий это тоже касается - подгрузить необходимые данные без прихода новых тиков индикатор не сможет.
И это, как я понимаю, даже встраиванием друг в друга не решишь - в выходные, если не хочется жать на Обновить, придется сначала загружать скриптом историю по всем нужным парам/ТФ, и только потом запускать индикатор.
Sleep() точно бесполезно просить - один поток на все индикаторы. А переделывать эту систему вряд ли станут. Да и если реализовать таймер - необходимость слипа отпадет.
Только что пришла идея в голову. А если реализовать следующее. Каким-либо способом сообщить основному индикатору то, какие данные нужно получить, получить эти данные в таймере, а далее уже спокойно рассчитать все вложенные индикаторы?