![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рассчитывать индикатор в советнике и с теми же настройками сделать индикатор, который навешивать на график после теста, для визуализации.
iCustom с разным периодом это однозначно будут тормоза. Вообще где-то читал, что в мт5, индикатор будет рассчитываться всегда, даже, если копировать в буффер значения в советнике, после ряда срабатываний условных операторов.
Рассчитывать индикатор в советнике и с теми же настройками сделать индикатор, который навешивать на график после теста, для визуализации.
iCustom с разным периодом это однозначно будут тормоза. Вообще где-то читал, что в мт5, индикатор будет рассчитываться всегда, даже, если копировать в буффер значения в советнике, после ряда срабатываний условных операторов.
да там кругом попадалово в сотни строк кода
советник тики пропускает, индикатор вроде бы нет, но в тестере его хэндл нельзя удалить
да там кругом попадалово в сотни строк кода
советник тики пропускает, индикатор вроде бы нет, но в тестере его хэндл нельзя удалить
Вам же индикаторы все равно на ТФ, а не на тиках. Боевые советники, вызывая через iCustom индикатор, также пропускают тики.
А почему так? стандартный индикатор не создает больше i окон, а если вызывать кастомный то создается огромное кол-во и тестер начинает тормозить
каст. индикатор:
Проверка в советнике:
Меня бы устроил случай со стандартным индикатором, когда создалось бы ограниченное число окон на каждый период, которые можно убрать.. но с кастомным так не получается
П.С. и стандартный показывает одинаковые значения так при разных периодах, хороче так работать не будет, можно создать просто много хэндлов и посмотреть будут ли тормоза. По идее если расчеты в индикаторах быстрые то не должно тормозить. Для проверки стратегии не хочется переписывать все индикаторы в классы
по 200 периодов для 3-х индикаторов, 600 хэндлов.. удачи мне :)
Вам же индикаторы все равно на ТФ, а не на тиках. Боевые советники, вызывая через iCustom индикатор, также пропускают тики.
А будет ли разница если я создам n объектов классов или n хэндлов индикаторов.. вот в чем вопрос.. все равно и то и другое будет пересчитываться
Если индикатор так прост, можно в нем вычислить все значения, расположить их в одном буфере по порядку. Индикатор не для смотрения на него, а исключительно для советника.
А будет ли разница если я создам n объектов классов или n хэндлов индикаторов.. вот в чем вопрос.. все равно и то и другое будет пересчитываться
Разница принципиальная. В случае с классами все будет считаться в одной песочнице.
Если индикатор так прост, можно в нем вычислить все значения, расположить их в одном буфере по порядку. Индикатор не для смотрения на него, а исключительно для советника.
а это мысль. А сколько там буферов в мт5 вообще создать можно, 64 вроде? а нет 512, это же все решает :)
3 индикатора с кучей буферов, в 1 буфер все пихать не удобно.. так вроде норм будет
а с другой стороны опять же нафиг это надо, когда можно создать кучу хэндлов, работы меньше а по скорости вычислений не понятно
Один хэндл, это как минимум один индикаторный буфер, а один буфер это массив с размером соответствующим количеству баров. Надо ориентироваться на доступный объем оперативной памяти, ее может не хватить.
Сразу создать много хэндлов или перебирать в цикле с присвоением хэндлу индикатора с разными параметрами, или есть другие способы?
Я пользуюсь СБ, в частности коллекцией индикаторов типа CIndicators. Очень удобно, особенно для "освежевания" данных.
Там есть такой метод:
С его помощью создаётся любой индикатор.
Потом добавляем его в коллекцию.
И при необходимости получить новое значение любого индикатора из коллекции просто предварительно вызываем int CIndicators::Refresh(void).