Библиотеки: SmoothAlgorithms

 

SmoothAlgorithms:

Библиотека алгоритмов усреднения, подробное описание работы с которыми в подробном виде было изложено в в статье "Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов". В Zip-архиве SmoothAlgorithms.zip представлена MQL4 версия этой библиотеки. В качестве примера использования алгоритмов усреднения этой библиотеки предлагается индикатор EMA.mq5. Код индикатора написан таким образом, что нет никакой разницы, под какой язык компилировать этот индикатор с соответствующей языку библиотекой усреднения и соответствующим расширением исходного файла индикатора.



Рис.1. Индикатор EMA в окне терминала MetaTrader5

Автор: Nikolay Kositsin

 
Добрый день!Подскажите пожалуйста...После обновления на последний билд стали вылетать ошибки в "SmoothAlgorithms". И перестали работать усреднения  sma, lwma, parma, vidya. Ругается на эту строчку: "array out of range in 'SmoothAlgorithms.mqh' (3394,9)". Как исправить? Спасибо!
 
007yurik:
Добрый день!Подскажите пожалуйста...После обновления на последний билд стали вылетать ошибки в "SmoothAlgorithms". И перестали работать усреднения  sma, lwma, parma, vidya. Ругается на эту строчку: "array out of range in 'SmoothAlgorithms.mqh' (3394,9)". Как исправить? Спасибо!

Никаких нарушений в работе кода и в его компиляции не фиксирую вообще. Абсолютно непонятно, об чём речь?

 
Nikolay Kositsin:

Никаких нарушений в работе кода и в его компиляции не фиксирую вообще. Абсолютно непонятно, об чём речь?

Учитывая мой низкий уровень владения mql попробую объяснить на пальцах)До последних обновлений терминала все было отлично.Теперь,уже после обновления,при добавления на график любого индикатора с использованием SmoothAlgorithms работают далеко не все методы усреднения.Например возьмем ваш индикатор XFisher_org_v1_Vol , скачиваю-компилироваю -все нормально,ошибок нет.При попытке изменить метод сглаживания на sma, smma, lwma, parma, vidya и ama. получаю пустое окно индикатора.Все остальные методы работают нормально.При этом на вкладке эксперты,которая в инструментах, появляется следующая строчка:2018.11.20 17:20:49.028    XFisher_org_v1_Vol_Supr (Si-12.18,M1)    array out of range in 'SmoothAlgorithms.mqh' (3394,9).


 
Конечно может я не по адресу и дело совсем не в SmoothAlgorithms,но других идей пока нет.Если что-то подскажите,то буду благодарен.
 
007yurik:
Конечно может я не по адресу и дело совсем не в SmoothAlgorithms,но других идей пока нет.Если что-то подскажите,то буду благодарен.

Если бы подобное воспроизводилось у меня на компьютере, то можно было бы что-то сделать, а так только один вариант решения проблемы - загрузить установочный файл с сайта Метаквотес и инсталлировать его в пустую папку. И проверить работу индикаторов в новом терминале.

Ну и количество баров в окне должно быть более менее приличным. Иначе усреднять будет просто нечего, а именно проблемные методы усреднения требуют бОльшего количества баров, чем остальные усреднения.

 

Если в коде добавить директиву #property strict

и в функции PriceSeries заменить Open на open, Low на low и т.д.

то будет компилироваться в MT4 без ошибок и предупреждений. Может автор сделает эту малость?

 
Sergey Tselikov:

Если в коде добавить директиву #property strict

и в функции PriceSeries заменить Open на open, Low на low и т.д.

то будет компилироваться в MT4 без ошибок и предупреждений. Может автор сделает эту малость?

Всё дело в том, что я вообще не отслеживаю изменений языка MQL4 и, по большому счёту им не занимаюсь вообще, по причине полного отсутствия времени на  подобное действо. В прицепе к публикации в Zip-файле есть вариант SmoothAlgorithms для mql4, но насколько он нормально работает, я не в курсе. Индикаторы то по большей части прямолинейно компилироваться всё-равно не будут.

 
Компилируется и работает библиотека. Не хватает только этой малости. Некорректно считаю выкладывать чужой косметически поправленный код.
 
Собственно предложенное никак не меняет работу Вашего кода. Косметика.
 
Nikolay Kositsin:

Если бы подобное воспроизводилось у меня на компьютере, то можно было бы что-то сделать, а так только один вариант решения проблемы - загрузить установочный файл с сайта Метаквотес и инсталлировать его в пустую папку. И проверить работу индикаторов в новом терминале.

Ну и количество баров в окне должно быть более менее приличным. Иначе усреднять будет просто нечего, а именно проблемные методы усреднения требуют бОльшего количества баров, чем остальные усреднения.

Подтверждаю. Ошибка возникает, но не всегда. Иногда отрабатывает нормально, иногда вылетает. Чаше ошибка возникает если запускать индикатор в тестере. Например, тот же  XFisher_org_v1_Vol_Supr после компиляции в последнем билде (1980) и запуске в тестере на инструменте RTS Splice, выдаёт ошибку "array out of range in 'SmoothAlgorithms.mqh' (3394,9)". Ошибка возникает не только на этом индикаторе, но и на многих других, использующих библиотеку SmoothAlgorithms.mqh. Николай, проверьте, пожалуйста.

XFisher_org_v1_Vol
XFisher_org_v1_Vol
  • www.mql5.com
Осциллятор XFisher_org_v1 в виде цветной гистограммы с использованием объемов. Формула вычисления: По вполне понятным причинам, в таком модифицированном осцилляторе пересчет уровней перекупленности и перепроданности должен происходить по этой же формуле, что и было выполнено. В итоговом варианте эти...