10$ für die Aktualisierung des Indikators - Seite 7

 
Ihr solltet alle mit Exponenten einen Mittelwert bilden können. Senken Sie sie, zumindest um eine Größenordnung.
 
Svinozavr >>:

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

Bitte verzeihen Sie mir großzügig, dass ich ungebildet bin.

Alexej hat die Aufgabe einfach so gestellt. ;)

Und wir haben die Antwort bereits gefunden - ähnlich wie bei den vorherigen Durchschnittswerten...

 
Schhhhhhhh:)))
 
Nun, hier ist ein zusätzlicher Schalter EMA mit einer gebrochenen Periode. Wer es will, kann weitermachen. Zwei Methoden übrig.))) Und dann können Sie den eingebauten iMA mit Preisart, Schicht usw. vollständig ersetzen.
#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];   
        }
     }   
  }
Dateien:
rma.mq4  2 kb
 
avatara >>:

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

Die EMA-Frage war provokativ und ich habe sie absichtlich an das Ende der Liste gesetzt :)

 
Ich bin jung. Ich bin grün. Urteilen Sie nicht zu hart über mich. Ich liebe Mathe einfach.
Und nur elementar.
 
Mathemat >>:

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

Immerhin haben Sie nicht mich provoziert.))
Ja, ich habe meinen Indikator mit dem fraktionierten Gewicht am Reck ausprobiert. Das erscheint mir logisch. Vor allem, wenn man es als eine Serie betrachtet, und wie die Periodenbruchteile auf das älteste Mitglied krabbeln).

 
Ja, das macht Sinn. Sie unterscheidet sich nicht wirklich von Grells Lösung.
 
Vielleicht bin ich ja dumm.... aber ich glaube nicht, dass selbst SMA-Fraktionen auf diese Weise gezählt werden sollten...
 
Schlagen Sie etwas anderes vor, Kaugummi.