Как ввести эти данные в " iMAOnArray( double array[]" ?
Можно через копирование массивов. Но это муторно и надо делать сдвиг "новый выпихивает самого старого".
Close[] этоделает сам.
В общем случае надо получить производную МА.
Может у кого есть более простой метод ?
А просто iMA() не подходит?
Посмотри внимательно вот этот индикатор https://www.mql5.com/ru/code/7534
Как ввести эти данные в " iMAOnArray( double array[]" ?
Можно через копирование массивов. Но это муторно и надо делать сдвиг "новый выпихивает самого старого".
Close[] этоделает сам.
В общем случае надо получить производную МА.
Может у кого есть более простой метод ?
Вот есть какой то пример выдернул с советника, правда понятия не имею какая там логика сидит может поможет.
double Bears_array[30]; int cx=0; while (cx<31) {Bears_array[cx]= iBearsPower(NULL, 0, PeriodPower,Price_,cx); cx++; } ArraySetAsSeries(Bears_array,true); double MA_Bears =iMAOnArray(Bears_array,0,Period_Bears,1,MA_,0); double Bulls_array[30]; int lx=0; while (lx<31) {Bulls_array[lx]= iBullsPower(NULL, 0, PeriodPower,Price_,lx); lx++; } ArraySetAsSeries(Bulls_array,true); double MA_Bulls =iMAOnArray(Bulls_array,0,Period_Bulls,1,MA_,0); double Delta = MA_Bears + MA_Bulls;
Спасибо.
Просто в этом случае надо самому следить за всеми индексами.
А хотелось изящного решения ;)
Вариант Гана красивее, хоть и с тем же доп.буфером-массивом.
Еще вопрос: какая стандартная функция показывает "начало" или "окончание" текущего бара ?
По этому признаку буду накапливать историю МА (сдвигать стек).
А то перерыл вроде хелпер, но не увидел ответа.
ЗЫ. Кстати про индикаторный буфер. Пробовал. ПРинимает данные только если явно указать размер буфера.
Еще вопрос: какая стандартная функция показывает "начало" или "окончание" текущего бара ?
По этому признаку буду накапливать историю МА (сдвигать стек).
А то перерыл вроде хелпер, но не увидел ответа.
ЗЫ. Кстати про индикаторный буфер. Пробовал. ПРинимает данные только если явно указать размер буфера.
Когда истинно, тогда и сдвигать:
Bars!=BarsPrev или Time[i]!=TimePrev, где ***Prev - стат переменная, пред. значение ***.
Т.е. дальше по тексту нужно их синхронизировать. ***Prev=***
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Можно через копирование массивов. Но это муторно и надо делать сдвиг "новый выпихивает самого старого".
Close[] этоделает сам.
В общем случае надо получить производную МА.
Может у кого есть более простой метод ?