Предложение разработчикам

 
Уважаемые разработчики!
Прошу Вас включить в состав библиотеки MQL IV функции для вызова встроенных и пользовательских индикаторов с возможность передачи им массива ценовых значений (Rates Array), на основе которых будет производится расчет индикаторов.
Данная возможность позволила бы, например:
1. реализовать на 15М графике индикатор, отображающий характер изменений в течении дня индикатора, работающего на дневном графике
2. Прогнозировать показания индикатора на следующий ценовой бар (моделировать появление нового ценового бара)

Надеюсь на поддержку других экспертописателей
 
Прошу Вас включить в состав библиотеки MQL IV функции для вызова встроенных и пользовательских индикаторов с возможность передачи им массива ценовых значений (Rates Array), на основе которых будет производится расчет индикаторов.

К сожалению, это не получится, так как требует изменения архитектуры в доставке/обновлении/пересчете данных.
 
К сожалению, это не получится, так как требует изменения архитектуры в доставке/обновлении/пересчете данных.


Особенно ничего менять не нужно.
Достаточно в классах, реализующих индикаторы добавить функцию с другим кортежем.
Например, в класс реализующий Accelerator Oscillator, к имеющейся функции
double iAC( string symbol, int timeframe, int shift);
добавить
double iAC( double& sourc_array[], int shift);
Доставлять/обновлять данные для нее не нужно, т.к. передается ссылка на массив с подготовленными данными. Нужно лишь вызвать метод расчета индикатора подставив в качестве исходных данных указатель на массив

Если же все-таки средствами MQL IV это будет проблематично, то можно ли ожидать появления подобной функции в API MT4
 
К сожалению, это не получится, так как требует изменения архитектуры в доставке/обновлении/пересчете данных.


Нашел вот такую функцию
double iBandsOnArray( double array[], int total, int period, double deviation, int bands_shift, int mode, int shift)
Для полос Боллинджера не требуется изменение архитектуры :)
В документации очень скупо описано назначение функции. Не понятно что из себя должен представлять массив и для чего нужен параметр total.
 
К сожалению, это не получится, так как требует изменения архитектуры в доставке/обновлении/пересчете данных.


Нашел вот такую функцию
double iBandsOnArray( double array[], int total, int period, double deviation, int bands_shift, int mode, int shift)
Для полос Боллинджера не требуется изменение архитектуры :)
В документации очень скупо описано назначение функции. Не понятно что из себя должен представлять массив и для чего нужен параметр total.

array - массив из double чисел, для которых расчитывается болинджер, total - размер буфера.
 
Это понятно, что массив из чисел. Не понятно что за числа в нем должны быть. По идее там должна быть скользящая средняя, на основе которой боллинджер рассчитывается, но в документации об этом ничего не говорится.
 
Это понятно, что массив из чисел. Не понятно что за числа в нем должны быть. По идее там должна быть скользящая средняя, на основе которой боллинджер рассчитывается, но в документации об этом ничего не говорится.

Болинджер посчитается от тех данных что вы ему подсунете.
Нет никаких ограничений в том, что именно вы положите в буфер.

А документация вот здесь:
"Bollinger Bands — BB"
 
Особенно ничего менять не нужно.
Достаточно в классах, реализующих индикаторы добавить функцию с другим кортежем.
Например, в класс реализующий Accelerator Oscillator, к имеющейся функции
double iAC( string symbol, int timeframe, int shift);
добавить
double iAC( double& sourc_array[], int shift);
Доставлять/обновлять данные для нее не нужно, т.к. передается ссылка на массив с подготовленными данными. Нужно лишь вызвать метод расчета индикатора подставив в качестве исходных данных указатель на массив

Если же все-таки средствами MQL IV это будет проблематично, то можно ли ожидать появления подобной функции в API MT4

на самом деле существуют разные индикаторы. конечно, все индикаторы считаются на ценовых таймсериях, однако для некоторых индикаторов необходим один такой массив (яркий пример Moving Average ил указанный Вами Bollinger Bands). для других же индикаторов таких массивов нужно несколько. например, для Accelerator Oscillator необходимо 2 массива с мувингами. Поэтому у таких индикаторов нет аналога ...OnArray
 
на самом деле существуют разные индикаторы. конечно, все индикаторы считаются на ценовых таймсериях, однако для некоторых индикаторов необходим один такой массив (яркий пример Moving Average ил указанный Вами Bollinger Bands). для других же индикаторов таких массивов нужно несколько. например, для Accelerator Oscillator необходимо 2 массива с мувингами. Поэтому у таких индикаторов нет аналога ...OnArray


Тогда имеет смысл:
1. исключить iBandsOnArray из библиотеки функций, т.к. Bollinger Bands можно строить как на основе только массива ценовых значений, так и на основе массивов скользящей средней и стандартного отклонения (кому как нравится)
2. включить в дистрибутив исходники всех индикаторов используемых в MT. В MT сейчас 30 индикаторов, в то время как в папке ..\experts\samples\indicators присутствует только 18 исходников - не хватает 12.
Тогда пользователи, желающие знать как работает тот или иной индикатор, смогут их изучить и модифицировать под свои потребности
 
1. исключить iBandsOnArray из библиотеки функций, т.к. Bollinger Bands можно строить как на основе только массива ценовых значений, так и на основе массивов скользящей средней и стандартного отклонения (кому как нравится)

не понял. зачем исключать? он как раз и введён по той причине, чтобы можно было на любых массивах данных считать


2. включить в дистрибутив исходники всех индикаторов используемых в MT. В MT сейчас 30 индикаторов, в то время как в папке ..\experts\samples\indicators присутствует только 18 исходников - не хватает 12.
Тогда пользователи, желающие знать как работает тот или иной индикатор, смогут их изучить и модифицировать под свои потребности

обязательно сделаем. мы уже давно объявили о том, что все наши индикаторы будут представлены в виде mql4 кода
 
обязательно сделаем. мы уже давно объявили о том, что все наши индикаторы будут представлены в виде mql4 кода

Буду с нетерпением ждать!
не понял. зачем исключать? он как раз и введён по той причине, чтобы можно было на любых массивах данных считать

Тогда нужно написать аналогичные функции для всех индикаторов, но как Вы сами писали
для некоторых индикаторов необходим один такой массив (яркий пример Moving Average ил указанный Вами Bollinger Bands). для других же индикаторов таких массивов нужно несколько

Чем Bollinger Bands "лучше" других индикаторов?