La "centrifugeuse" algorithmique - page 8

 
Tout d'abord, nous devons définir ce que sont les"points d'entrée idéaux" et les"points de sortie idéaux".
 
Реter Konow:

2. ZigZag ne montre pas de points d'entrée parfaits. Ce n'est pas ça. Il y aura une grande marge d'erreur. Un optimiseur avec un GA peut faire beaucoup mieux. IMHO.

ZigZag ne montre que les points d'entrée/sortie idéaux et rien de plus.

Bien que si nous parlons d'une ZZ spécifique, alors oui, nous pouvons discuter, j'ai utilisé la mienne - elle n'a pas de paramètres min.bar - juste du haut au bas dessine une ligne, le paramètre est la distance minimale du haut au bas.

https://www.mql5.com/ru/forum/318267#comment_12508440

 
Il faut un zigzag non pas par barres mais par points, avec un seuil de 1 point de plus que le spread et par minutes de celui-ci, Oui, bien sûr, certaines fluctuations à l'intérieur des barres qu'il n'attrapera pas.... et c'est là le problème !
 

Oups ! 8888


 
Dmitry Fedoseev:
et sur le procès-verbal il

Pas vraiment, j'ai tout testé dans l'optimiseur ;)

Sur M1 avec le réglage minimum affectera grandement l'écart, il est préférable de prendre plus de paramètres dans pp ou d'autres TF, mais pas plus vieux que H1, sur H4 et au-dessus seront des rendements inférieurs

 
Igor Makanu:

Pas vraiment, j'ai tout testé dans l'optimiseur ;)

Sur M1 avec le réglage minimum affectera grandement l'écart, il est préférable de prendre plus de paramètres dans pp ou d'autres TF, mais pas plus vieux que H1, sur H4 et au-dessus seront des rendements inférieurs

C'était quoi le zigzag ?

 
Олег avtomat:
Tout d'abord, nous devons définir ce que sont les "points d'entrée idéaux" et les"points de sortie idéaux".

Le point d'entrée idéal est le prix et l'heure de départ de la "transaction idéale".

Point de sortie idéal - le prix et l'heure d'achèvement de la "transaction idéale".

La transaction idéale est celle qui présente le meilleur rapport entre la durée et le bénéfice.

imho.

 
Dmitry Fedoseev:

C'était quoi le zigzag ?

pour MT5 fait il y a longtemps,https://www.mql5.com/ru/forum/318267#comment_12508440

//+------------------------------------------------------------------+
//|                                                     ZigZagZZ.mq5 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

// plot ZigZagZZ
#property indicator_label1  "ZigZagZZ"
#property indicator_type1   DRAW_SECTION
#property indicator_color1  clrDarkBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  3
// input parameters
input int   Deviation=100;
// indicator buffers
double         ZZBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
// indicator buffers mapping
   SetIndexBuffer(0,ZZBuffer,INDICATOR_DATA);
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int        rates_total,
                const int        prev_calculated,
                const datetime   &time[],
                const double     &open[],
                const double     &high[],
                const double     &low[],
                const double     &close[],
                const long       &tick_volume[],
                const long       &volume[],
                const int        &spread[])
  {
   static bool UP;
   static double max,min;
   static int LastExt=0;
   static const double dev=NormalizeDouble(Deviation*_Point,_Digits);
   int limit=prev_calculated-1;
   if(prev_calculated==0)
     {
      ArrayInitialize(ZZBuffer,0.0);
      limit=2; LastExt=0;
      if(low[0]<high[1]) { min=low[0];  max=high[1];   UP=true;  }
      else               { max=high[0]; min  = low[1]; UP=false; }
     }
   for(int i=limit; i<rates_total; i++)
     {
      ZZBuffer[i]=0.0;
      if(UP)
        {
         if(low[i]-min<=0.0) { min=low[i]; ZZBuffer[LastExt]=0.0; LastExt=i; ZZBuffer[i]=min; }
         else
           {
            if(high[i]-min-dev>0.0) { max=high[i]; LastExt=i; ZZBuffer[i]=max; UP=false; }
           }
        }
      else
        {
         if(high[i]-max>=0.0) { max=high[i]; ZZBuffer[LastExt]=0.0; LastExt=i; ZZBuffer[i]=max; }
         else
           {
            if(low[i]-max+dev<0.0) { min=low[i]; LastExt=i; ZZBuffer[i]=min; UP=true; }
           }
        }
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Igor Makanu:

pour MT5 fait il y a longtemps,https://www.mql5.com/ru/forum/318267#comment_12508440

Oui, le zigzag correct pour cette tâche.

 
Igor Makanu:

ZigZag ne montre que les points d'entrée/sortie idéaux et rien de plus.

Bien que si nous parlons d'une ZZ spécifique, alors oui, nous pouvons discuter, j'ai utilisé la mienne - elle n'a pas de paramètres min.bar - elle dessine simplement des lignes du haut au bas, le paramètre est la distance minimale du haut au bas.

https://www.mql5.com/ru/forum/318267#comment_12508440

ZigZag ne s'appuie pas sur les principes du "trade parfait" - le meilleur rapport temps/profit. ZZ devra être entré et sorti à tous ses sommets et bas. Ce n'est pas une solution idéale.