Новая версия платформы MetaTrader 5 build 2815: Доступ к стакану цен из Python, улучшения в отладчике и профилировщике - страница 7
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сегодня тоже самое искал но не нашел. В некоторые индикаторах, на высоких таймфремах, вообще ничего не меняется, но многие часы в течении дня не нужно вызывается функция OnCalculate. Хотя может и есть решение
Таким образом, в OnCalculate() можно делать экономные расчёты:
Таким образом, в OnCalculate() можно делать экономные расчёты:
Варианты игнорировать очередной(на каждом тике) OnCalculate и принудительно return_ить могут быть индивидуальные, но до появления нового бара товар - FMCG). И это даже не экономия, а целесообразность - расчёты кривятся.
Таким образом, в OnCalculate() можно делать экономные расчёты:
Нужно другое решение, таких индикаторов может быть штук 30 и более
Варианты игнорировать очередной(на каждом тике) OnCalculate и принудительно return_ить могут быть индивидуальные, но до появления нового бара товар - FMCG). И это даже не экономия, а целесообразность - расчёты кривятся.
Платформой заложено, что индикаторы срабатывают на каждый тик. И их не пропускают.
В то же время, в OnCalculate() очень просто и быстро обнаружить факт открытия нового бара. Зачем для этого вводить ещё одну бесполезную функцию?
Нужно другое решение, таких индикаторов может быть штук 30 и более
У меня таких индикаторов - с таким расчётом, написано несколько тысяч. И даже переписанных со старых с иными расчётами. В том числе, и работающих только на открытии бара.
Нужно просто понимать что делаете и сто переделываете.
Впрочем, это уже не по теме.
У меня таких индикаторов - с таким расчётом, написано несколько тысяч. И даже переписанных со старых с иными расчётами. В том числе, и работающих только на открытии бара.
Нужно просто понимать что делаете и сто переделываете.
Впрочем, это уже не по теме.
Парадокс - у Вас несколько тысяч индикаторов которые ограничивают срабатывание OnCalculate на каждом тике, т.е. работают БЕСПОЛЕЗНО каждый тик чтоб НЕ СРАБОТАТЬ, и Вы при этом утверждаете что событие/функция будет бесполезной. Вчера вообще пришла мысль предложить ввести пользовательское событие с некими настройками на которое сделать возможность подписываться из индикаторов и экспертов. И обойтись тогда во многом без глобальных переменных, файлов и т.п. в пределах одного терминала.
Парадокс - у Вас несколько тысяч индикаторов которые ограничивают срабатывание OnCalculate на каждом тике, т.е. работают БЕСПОЛЕЗНО каждый тик чтоб НЕ СРАБОТАТЬ, и Вы при этом утверждаете что событие/функция будет бесполезной. Вчера вообще пришла мысль предложить ввести пользовательское событие с некими настройками на которое сделать возможность подписываться из индикаторов и экспертов. И обойтись тогда во многом без глобальных переменных, файлов и т.п. в пределах одного терминала.
У меня вот такое работает: один эксперт создаёт до тысячи экземпляров объектов, каждый из которых работает как отдельный эксперт, учитывает свои сделки, пишет свои логи и файлы состояния, но все они пользуются общими индикторами.
У меня таких индикаторов - с таким расчётом, написано несколько тысяч. И даже переписанных со старых с иными расчётами. В том числе, и работающих только на открытии бара.
Нужно просто понимать что делаете и сто переделываете.
Впрочем, это уже не по теме.
В некоторых индикаторах ничего не меняется 1-2 месяца и их пересчет не имеет смысла
Иметь возможность строить независимые от тика, индикаторы, и иметь глобальное воздействие на индикаторы, запушенные на разных чартах, через сервис, решило бы эти задачи
Парадокс - у Вас несколько тысяч индикаторов которые ограничивают срабатывание OnCalculate на каждом тике, т.е. работают БЕСПОЛЕЗНО каждый тик чтоб НЕ СРАБОТАТЬ, и Вы при этом утверждаете что событие/функция будет бесполезной. Вчера вообще пришла мысль предложить ввести пользовательское событие с некими настройками на которое сделать возможность подписываться из индикаторов и экспертов. И обойтись тогда во многом без глобальных переменных, файлов и т.п. в пределах одного терминала.
OnCalculate() - системная функция, обрабатывающая событие Calculate. Она срабатывает на каждом тике.
И выход из расчётов не создаёт проблем и бесполезной работы - индикатор просто не рассчитывается и не перерисовывается.
Но системная функция обязана сработать на каждый тик. И уже вам решать - обработать этот тик, или нет.
Но за вас, и для вас никто не будет делать экономного расчёта в ваших собственных программах - вам дали инструмент, и вам решать как его использовать, особенно тогда, когда всё для этого есть.
Куда мне писать по поводу найденной ошибке в описании? А то куда не пишу везде игнорируют.