10$ за модернизацию индикатора - страница 7

 
Все бы вам экспонентами усреднять. Берите ниже, как минимум на порядок.
 
Svinozavr >>:

А чего для экпоненциальной? Она и так изначально с "дробным" периодом, которого у нее, собственно, и нет - там только коэфф. обратной связи. Это в МТ так сделали, что EMA не дробная. А так она всегда имела дробный параметр. Пересчитывайте из дробного периода этот коэфф-т и все дела. k=2.0/(1+period);
Ну, а остальные из стандартных - элементарно уже делаются.

Прошу великодушно простить за безграмотность.

Просто Алексей так задачу поставил. ;)

И мы ответ уже подобрали - типа, аналогично как и с предыдущими средними...

 
Тсссссссс:)))
 
Ну, вот добавил по switch EMA с дробным периодом. Кто хочет, может продолжить. Два метода осталось.))) А потом можно сделать полную замену встроенной iMA с типом цены, сдвигом и пр.
#property indicator_chart_window // в окне инструмента
#property indicator_buffers 1
#property indicator_color1 Blue  

// входные параметры
extern double MAperiod=3; // 
extern int Method=0; 
 int History=0; // 0- все бары

double   MA[]; // массив буфера
double k; // коэфф. EMA
double rt; // дробная часть периода
int per; // целая часть периода

void init() { // инициализация
   per=MathFloor(MAperiod);
   rt=MAperiod-per;
   k=2.0/(1+MAperiod);
   SetIndexBuffer(0,MA); // индикатор
   SetIndexLabel(0,"MA("+DoubleToStr(MAperiod,2)+")");
  }

void start() {
   int limit=Bars-IndicatorCounted()-1; 
   if(History!=0 && limit>History) limit=History-1; // кол-во пересчетов по истории

   for(int i=limit; i>=0; i--) { // цикл пересчета по ВСЕМ барам
      switch(Method) {
         case 0: // SMA
            int j=i+per;
            double ma=rt*Close[j];
            j--;
            for(; j>=i; j--) ma+=Close[j];
            ma/=MAperiod;
            MA[i]=ma;
            break;
         case 1: // EMA
            MA[i]=k*Close[i]+(1-k)*MA[i+1];   
        }
     }   
  }
Файлы:
rma.mq4  2 kb
 
avatara >>:

Просто Алексей так задачу поставил. ;)

Вопрос с ЕМА был провокационным, и я его спецом поставил в конец списка :)

 
Я молод. Я зелен. Не судите строго. Просто люблю математику.
Причем только элементарную.
 
Mathemat >>:

Вопрос с ЕМА был провокационным, и я его спецом поставил в конец списка :)

Ну, не меня же ты провоцировал, в конце концов.)))
Да, попробовал мой индикатор с дробным весом в старшем баре? По-моему, логично. Особенно, если это представить в виде ряда, и как период дробно заползает на самый старый член.)))

 
Да, логично. Он на самом деле не сильно отличается от решения grell'a.
 
Может я глупость скажу.... но я думаю даже SMA дроб. не так надо считать...
 
Предлагай что-то другое, gumgum.