Не бери в голову. Это один из первых индикаторов, которые я попробовал перенести в четверку. Все остальные работают. ASCTrend, все "Силверы". А АМА не рисует. Я "пронюхал" весь код программы посимвольно. Все верно, но не рисует. Отсюда совет - обожди пока с АМА. Дождемся более-менее рабочей беты. Потом будем копья ломать.
Похоже что явная ошибка в реализации формул расчета.
Я попробовал - получается горизонтальная линия, которая очень далека от рыночных цен
(поэтому ее не видно). Пример: рынок на 1.3640, а расчетное значение АМА 1.3035 .
Проверьте, пожалуйста, формулы. И переменную AMA0 надо изначально инициализовать!
Я попробовал - получается горизонтальная линия, которая очень далека от рыночных цен
(поэтому ее не видно). Пример: рынок на 1.3640, а расчетное значение АМА 1.3035 .
Проверьте, пожалуйста, формулы. И переменную AMA0 надо изначально инициализовать!
Уважаемый Ренат!
Вы совершенно правы в смысле отображения графика этого индикатора. Но дело в том, что я "перенёс" кучку аналогичных индикаторов в четверку из тройки. Все работают на ура, кроме этого. Алгоритм АМА (как и прочих) соблюл один к одному, как в тройке. В тройке рисует шарики на положенных местах. В четверке нету шариков. Моя интерпретация троешного варианта чуть-чуть отличается от приведённого выше г-ном wellx'ом и полностью совпадает с "шарикоподобным" троешным вариантом. Если хотите, вышлю Вам в мыло троешный и четвёрошный варианты. Но пока, лично мне, не хотелось бы Вас грузить излишне. На 90% всё что хочется, работает. Хотелось бы получить побыстрее рабочую (хотя бы бету) версию, которая "поддержала" бы наши реальные счета. А с мелочёвкой типа этой мы (или Вы) разберёмся потом в рабочем порядке. Как в тройке. Она же (тройка) была совершенно функциональной независимо от того, что были 3.40, 3.50, 3.60 ... 3.83 версии.
Вы совершенно правы в смысле отображения графика этого индикатора. Но дело в том, что я "перенёс" кучку аналогичных индикаторов в четверку из тройки. Все работают на ура, кроме этого. Алгоритм АМА (как и прочих) соблюл один к одному, как в тройке. В тройке рисует шарики на положенных местах. В четверке нету шариков. Моя интерпретация троешного варианта чуть-чуть отличается от приведённого выше г-ном wellx'ом и полностью совпадает с "шарикоподобным" троешным вариантом. Если хотите, вышлю Вам в мыло троешный и четвёрошный варианты. Но пока, лично мне, не хотелось бы Вас грузить излишне. На 90% всё что хочется, работает. Хотелось бы получить побыстрее рабочую (хотя бы бету) версию, которая "поддержала" бы наши реальные счета. А с мелочёвкой типа этой мы (или Вы) разберёмся потом в рабочем порядке. Как в тройке. Она же (тройка) была совершенно функциональной независимо от того, что были 3.40, 3.50, 3.60 ... 3.83 версии.
К сожалению, я не совсем в курсе - что это за индикатор и как он считается.
Могу начать разбираться только через дня 3 - Новый Год уже.
Могу начать разбираться только через дня 3 - Новый Год уже.
AMA = adaptive MA by Kaufman.
или по русски адаптивная средняя скользящая.
Прочитать можно здесь:
http://forum.viac.ru/viewtopic.php?p=21166#21166
Спасибо за ответы, а то я уже начал думать что совсем плох стал в программинге.
Если логика права ,то похоже проблема в функции MathPow or Mathabs.
To renat: когда писал индикатор, то долго ломал голову над логикой indikcator-counted, Bars & etc.
Также долго вникал с особенностями инит и старт функций. Может имеет смысл написать более обширный материал по философии работы модулей при инициализации и старта, подсчета баров и оптимизаций , какие переменные видны при инит и старт функциях и т.д. так сказать developer guide from authors. И может встроите какой никакой отладчик, если не пошаговый хоть инспектор для отслеживания переменных. А то малейшая ошибка и лог уходит в ГИГАБАЙТЫ.
Спасибо всем за ответы .
С Новым годом и удач в Новом Году!!!
или по русски адаптивная средняя скользящая.
Прочитать можно здесь:
http://forum.viac.ru/viewtopic.php?p=21166#21166
Спасибо за ответы, а то я уже начал думать что совсем плох стал в программинге.
Если логика права ,то похоже проблема в функции MathPow or Mathabs.
To renat: когда писал индикатор, то долго ломал голову над логикой indikcator-counted, Bars & etc.
Также долго вникал с особенностями инит и старт функций. Может имеет смысл написать более обширный материал по философии работы модулей при инициализации и старта, подсчета баров и оптимизаций , какие переменные видны при инит и старт функциях и т.д. так сказать developer guide from authors. И может встроите какой никакой отладчик, если не пошаговый хоть инспектор для отслеживания переменных. А то малейшая ошибка и лог уходит в ГИГАБАЙТЫ.
Спасибо всем за ответы .
С Новым годом и удач в Новом Году!!!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почемуто не работает и не рисует. Ткните носом где ошибка
//+------------------------------------------------------------------+ //| Kaufman.mq4 | //| Copyright © 2004, by konKop & wellx | //| "http://www.metaquotes.net" | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, by konKop, GOODMAN, Mstera, af + wellx" #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //---- input parameters extern int periodAMA=9; extern int nfast=2; extern int nslow=30; extern int G=2; //---- buffers double kAMAbuffer[]; int cbars=0; double slowSC,fastSC; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); //SetIndexDrawBegin(0,nslow+nfast); SetIndexBuffer(0,kAMAbuffer); slowSC=2/(nslow+1); fastSC=2/(nfast+1); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,pos=0; double noise,noise0,AMA,AMA0,signal,ER,SSC; //---- TODO: add your code here if (Bars<=(periodAMA+2)) return(0); cbars=IndicatorCounted(); //---- check for possible errors if (cbars<0) return(-1); //---- last counted bar will be recounted if (cbars>0) cbars--; pos=Bars-periodAMA-2; Print("cbars: ", cbars); while (pos>=0) { if(pos==Bars-periodAMA-2) AMA0=Close[pos+1]; signal=MathAbs(Close[pos]-Close[pos+periodAMA]); noise=0; for(i=0;i<periodAMA;i++) { noise=noise+MathAbs(Close[pos+i]-Close[pos+i+1]); }; ER =signal/noise; SSC=(ER*(fastSC-slowSC))+slowSC; AMA=AMA0+(MathPow(SSC,G)*(Close[pos]-AMA0)); kAMAbuffer[pos]=AMA; AMA0=AMA; pos--; }; //---- return(0); }