Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ума даже не представляю как можно написать собственный индикатор без помощи других индикаторов.Тот же MACD использует 2 хэндла.
Да уж...великий и могучий MQL язык...
Всё рассчитывается. MACD - это разница двух MA. МА можно рассчитать самому по данными таймсерий. И так любой индикатор. Например, в СБ в файле MovingAverages.mqh есть все расчёты МА.
Подключайте его к вашему файлу (#include <MovingAverages.mqh>) и используйте.
Только что добавил в MACD копирование хендлов стандартных индикаторов т.е. НЕ через iCustom() - ВСЕ РАБОТАЕТ МОМЕНТАЛЬНО И БЫСТРО. В чем же все таки дело??
iCustom работает медленно. Именно это я и имел в виду, когда предлагал вынести код из индикатора-обертки. А если устраивают стандартные, так конечно надо их и использовать .
Всё рассчитывается. MACD - это разница двух MA. МА можно рассчитать самому по данными таймсерий. И так любой индикатор. Например, в СБ в файле MovingAverages.mqh есть все расчёты МА.
Подключайте его к вашему файлу (#include <MovingAverages.mqh>) и используйте.
Артем прав, в вашем случае все действительно элементарно.
Артем прав, в вашем случае все действительно элементарно.
у меня есть 6 индикаторов, по сигналам которых я хочу написать мультитаймфреймового советника (индикаторы не по пересечению МА, как MACD и др., а более сложные, МАСD был взят для простоты понимания проблемы) то мне необходимо создавать отдельный индикатор и вытягивать код и 6-ти этих же индикаторов в один свой индикатор, разбираясь в логике работы каждого индикатора? Вы это предлагаете?
P/S/
какие негодяи придумали тогда хэндлы))
у меня есть 6 индикаторов, по сигналам которых я хочу написать мультитаймфреймового советника (индикаторы не по пересечению МА, как MACD и др., а более сложные, МАСD был взят для простоты понимания проблемы) то мне необходимо создавать отдельный индикатор и вытягивать код и 6-ти этих же индикаторов в один свой индикатор, разбираясь в логике работы каждого индикатора? Вы это предлагаете?
P/S/
какие негодяи придумали тогда хэндлы))
Если стандартные работают быстро, оставьте все, как есть. Это негодяи, которые используют индикаторы для отображения на экране, а не чисто для расчетов.
Хотите быстро - приложите усилия. Я расчетные индикаторы всегда препарирую и вставляю в код только расчетную часть.
Если стандартные работают быстро, оставьте все, как есть. Это негодяи, которые используют индикаторы для отображения на экране, а не чисто для расчетов.
Хотите быстро - приложите усилия. Я расчетные индикаторы всегда препарирую и вставляю в код только расчетную часть.
Спасибо за помощь!
Если стандартные работают быстро, оставьте все, как есть. Это негодяи, которые используют индикаторы для отображения на экране, а не чисто для расчетов.
Хотите быстро - приложите усилия. Я расчетные индикаторы всегда препарирую и вставляю в код только расчетную часть.
А если расчётная часть зависит от предыдущего значения? А та в свою очередь зависит от своей предыдущей...
А если расчётная часть зависит от предыдущего значения? А та в свою очередь зависит от своей предыдущей...
Значит надо это учесть и модифицировать расчеты. Простое избавление от индикаторной обертки ускоряет расчеты, которые внутри индикатора до 2-х раз.
А если расчётная часть зависит от предыдущего значения? А та в свою очередь зависит от своей предыдущей...
Расчётный буфер. В индикаторе естественно.
В функции - переменная, хранящая прошлое рассчитанное значение.
Внёс изменения в советник: теперь можно вызывать или "Examples\\MACD" или "Examples\\MACD handels".
"Examples\\MACD handels" - это стандартный MACD в котором есть этот код:
В самом советнике в OnInit() прописал "дёргать нужные символы по всем таймфреймам":
Теперь можно быстро сравнивать быстродействие при вызове или "Examples\\MACD" или "Examples\\MACD handels".