Le filtre parfait - page 4

 

Si c'est le cas, regardez ma dinde, petite et douce comme les fesses d'un bébé))))).

Sur un principe si simple qu'il en est effrayant...

Dossiers :
vaMA.ex5  8 kb
 
J.B:

Sur un principe aussi simple, c'est effrayant...

Indicateur intéressant, peut-être même pas inférieur au JJMA, comme il m'a semblé à première vue, les paramètres de période sont trop disproportionnés, mais si vous le prenez, vous pouvez obtenir une image assez similaire, et dans certains endroits l'un est plus rapide que l'autre. Mais vous avez vraisemblablement mélangé le fichier, afin que les gens puissent estimer la qualité du principe d'effroi:) Vous avez besoin d'un fichier *.mql5.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
 
EvMir:

afin que les gens puissent évaluer la qualité du principe d'effroi:) J'ai besoin d'un fichier *.mql5.

Ouais, je suis un peu timide... ils feront rire un débutant, ils seront énervés((((

 
J.B:

Je suis un peu timide... ils vont se moquer d'un nouveau venu, me faire sentir mal((((

Ils ne devraient pas, c'est une chute trop basse pour se permettre d'être embarrassés par un érudit novice.
 
server:
Ils ne devraient pas, c'est une chute trop basse pour se permettre d'être déshonoré comme un érudit novice.

Ok, je vais tenter ma chance. Le code est petit, il n'y a pas de quoi avoir honte.

//+------------------------------------------------------------------+
//|                                                              vaMA|
//|                                              Copyright 2013,  J.B|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2013, J.B"

#property version   "1.00"

#include <MovingAverages.mqh>

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   1

#property indicator_type1   DRAW_LINE
#property indicator_color1  Blue

input int vaMA_period=15;
input bool use_double_smooth=1;

double vaMA_buffer[],EMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+  
void OnInit()
  {
   SetIndexBuffer(0,vaMA_buffer,INDICATOR_DATA);
   SetIndexBuffer(1,EMA,INDICATOR_CALCULATIONS);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const int begin,const double &price[])
  {

   int first,bar;
   double vel,acc,aaa;

   ExponentialMAOnBuffer(rates_total,prev_calculated,begin,vaMA_period,price,EMA);                                   //Сгененрировать EMA c прайса

   if(rates_total<vaMA_period-1)return(0);                                                                            //
   if(prev_calculated==0)first=vaMA_period-1+begin;                                                                  //Проверка количества данных для цикла                                                                                      //
   else first=prev_calculated-1;                                                                                     //

   for(bar=first; bar<rates_total; bar++)                                                                            //Цикл по массиву баров
     {
      vel = EMA[bar]-EMA[bar-vaMA_period/4];                                                                         //Приращение между барами
      acc = EMA[bar]-2*EMA[bar-vaMA_period/4]+EMA[bar-vaMA_period/8];                                                //Приращение приращения между барами
      aaa = EMA[bar]-3*EMA[bar-vaMA_period/4]+3*EMA[bar-vaMA_period/8]-EMA[bar-vaMA_period/12];                      //Приращение приращения приращения...                                                                                         
      vaMA_buffer[bar] = EMA[bar]+vel+acc/2+aaa/6;                                                                   //Алхимический микс
     }
     
   if(use_double_smooth)  
   ExponentialMAOnBuffer(rates_total,prev_calculated,begin,vaMA_period/4,vaMA_buffer,vaMA_buffer);                   //Повторное EMA сглаживание


   return(rates_total);
  }
 
J.B:

Je suis un peu timide... ils vont se moquer d'un nouveau venu, me faire sentir mal((((

Je ne pense pas. Ils peuvent recevoir beaucoup de critiques constructives, oui. C'est pour le mieux. Coda.
 

Je voulais faire cela comme une fonction à partir d'un tableau à la"ExponentialMAOnBuffer" dans un fichier de bibliothèque séparé, mais ce n'était pas si facile pour moi(((

 

L'idée est de compenser l'EMA par des "dérivés" à coefficients à la manière de la décomposition de Taylor... Techniquement simple, mais tout à fait plausible par rapport auJJMAnon trivial , considéré comme le meilleur.

 

Version en couleur.


Dossiers :
vaMAColor.mq5  5 kb
 

Bon filtre, j'approuve. L'idée est concise et efficace. Le déplacement par élan est un sujet bien connu, mais par incréments d'ordre supérieur, je n'ai pas vu.

Mais de toute façon, nous devrons (de manière adaptative) dans les zones plates, augmenter la période de lissage pour éviter de nombreux signaux erronés. C'est-à-dire que vous ne pourrez pas l'éviter si facilement :) Faites ZZ sur les points où la couleur change et vous verrez comment un simple TS fonctionnerait avec un tel filtre.