10$ para atualização do indicador - página 7

 
Todos vocês devem estar fazendo a média com expoentes. Leve-o mais baixo, pelo menos por uma ordem de grandeza.
 
Svinozavr >>:

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

Por favor, me perdoe generosamente por ser analfabeto.

É apenas a maneira como Alexei define a tarefa. ;)

E já pegamos a resposta - como, semelhante às médias anteriores.

 
Shhhhhhhh:))))
 
Bem, aqui está um interruptor adicional EMA com um período fracionário. Quem o quiser, pode continuar. Restam dois métodos)))) E então você pode fazer uma substituição completa do iMA embutido com o tipo de preço, turno, etc.
#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];   
        }
     }   
  }
Arquivos anexados:
rma.mq4  2 kb
 
avatara >>:

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

A questão da EMA foi provocadora e eu a coloquei deliberadamente no final da lista :)

 
Eu sou jovem. Eu sou verde. Não me julgue com dureza. Eu amo a matemática.
E apenas elementar.
 
Mathemat >>:

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

Bem, não fui eu que você provocou, afinal de contas)).
Sim, experimentou meu indicador com o peso fracionário na barra alta? Parece-me lógico. Especialmente se você pensar nisso como uma série, e como o período fracionário rasteja sobre o membro mais velho)).

 
Sim, isso faz sentido. Não difere muito da solução da Grell.
 
Talvez eu esteja sendo bobo.... mas não acho que nem as frações de SMA devam ser contadas dessa forma.
 
Sugira algo mais, chiclete.