Используйте, пожалуйста < pre > .... < / pre > , а не < pre > < pre >
У-упс.
В общем про обратеный слеш не сказано .
В общем про обратеный слеш не сказано .
Ренат - напишите эту инфу большими жирными красными буквами :) Сверху
to wellx
1.На 1min фрэйме 2005.01.06 11:00:47 kaufman EURUSD,M1: zero divide
2. Рекомендую G объявлять как double. Визуально оптимальное значение G=1.5
1.На 1min фрэйме 2005.01.06 11:00:47 kaufman EURUSD,M1: zero divide
2. Рекомендую G объявлять как double. Визуально оптимальное значение G=1.5
Глубоко не копал, но чтобы не было деления на ноль, подправил noise
noise=0.000000001;
for(i=0;i<periodAMA;i++)
{
noise=noise+MathAbs(Close[pos+i]-Close[pos+i+1]);
};
noise=0.000000001;
for(i=0;i<periodAMA;i++)
{
noise=noise+MathAbs(Close[pos+i]-Close[pos+i+1]);
};
Ренат - напишите эту инфу большими жирными красными буквами :) Сверху
Напишем, спасибо.
To AGK
дайте правильное мыло - а то все время отбивает назад что нет такого.
дайте правильное мыло - а то все время отбивает назад что нет такого.
Новый и исправленный индикатор + сигналы.
//+------------------------------------------------------------------+ //| Kaufman.mq4 | //| Copyright © -2005, by konKop & wellx | //| https://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, by konKop,wellx" #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Sienna #property indicator_color2 DeepSkyBlue #property indicator_color3 Gold //---- input parameters extern int periodAMA=9; extern int nfast=2; extern int nslow=30; extern double G=2.0; extern double dK=2.0; //---- buffers double kAMAbuffer[]; double kAMAupsig[]; double kAMAdownsig[]; //+------------------------------------------------------------------+ int cbars=0, prevbars=0, prevtime=0; double slowSC,fastSC; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,159); SetIndexStyle(2,DRAW_ARROW); SetIndexArrow(2,159); //SetIndexDrawBegin(0,nslow+nfast); SetIndexBuffer(0,kAMAbuffer); SetIndexBuffer(1,kAMAupsig); SetIndexBuffer(2,kAMAdownsig); IndicatorDigits(4); //slowSC=0.064516; //fastSC=0.2; //cbars=IndicatorCounted(); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,pos=0; double noise=0.000000001,AMA,AMA0,signal,ER; double dSC,ERSC,SSC,ddK; if (prevbars==Bars) return(0); //---- TODO: add your code here slowSC=(2.0 /(nslow+1)); fastSC=(2.0 /(nfast+1)); cbars=IndicatorCounted(); if (Bars<=(periodAMA+2)) return(0); //---- check for possible errors if (cbars<0) return(-1); //---- last counted bar will be recounted if (cbars>0) cbars--; pos=Bars-periodAMA-2; AMA0=Close[pos+1]; while (pos>=0) { if(pos==Bars-periodAMA-2) AMA0=Close[pos+1]; signal=MathAbs(Close[pos]-Close[pos+periodAMA]); noise=0.000000001; for(i=0;i<periodAMA;i++) { noise=noise+MathAbs(Close[pos+i]-Close[pos+i+1]); }; ER =signal/noise; dSC=(fastSC-slowSC); ERSC=ER*dSC; SSC=ERSC+slowSC; AMA=AMA0+(MathPow(SSC,G)*(Close[pos]-AMA0)); kAMAbuffer[pos]=AMA; ddK=(AMA-AMA0); if ((MathAbs(ddK)) > (dK*Point) && (ddK > 0)) kAMAupsig[pos] =AMA; if ((MathAbs(ddK)) > (dK*Point) && (ddK < 0)) kAMAdownsig[pos]=AMA; AMA0=AMA; pos--; }; //---- prevbars=Bars; return(0); }
to wellx
Адрес правильный aliko32@mail.ru Может они так со спамом борются.
Я проверил с noise=0.000000001; Все нормально. Поздравляю
В последнем варианте поправил SetIndexStyle(0,DRAW_LINE,0,2); а то почти не видно.
Кроме того надо обнулять double kAMAupsig[]; double kAMAdownsig[]; т.к. при смене таймфрэймов весь экран превращается в звездное небо.
К сожалению, разработчики после МТ3 забыли как правильно инициировать индикаторные массивы, или нам плохо объяснили.
запасной адрес aliko2@bezeqint.net
Адрес правильный aliko32@mail.ru Может они так со спамом борются.
Я проверил с noise=0.000000001; Все нормально. Поздравляю
В последнем варианте поправил SetIndexStyle(0,DRAW_LINE,0,2); а то почти не видно.
Кроме того надо обнулять double kAMAupsig[]; double kAMAdownsig[]; т.к. при смене таймфрэймов весь экран превращается в звездное небо.
К сожалению, разработчики после МТ3 забыли как правильно инициировать индикаторные массивы, или нам плохо объяснили.
запасной адрес aliko2@bezeqint.net
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь