Centrifuga algoritmica - pagina 8

 
Per prima cosa, dobbiamo definire cosa sono i"punti di entrata ideali" e i"punti di uscita ideali".
 
Реter Konow:

2. ZigZag non mostrerà punti di entrata perfetti. Non è così. Ci sarà un grande margine di errore. Un ottimizzatore con un GA può fare molto meglio. IMHO.

ZigZag mostra solo i punti di entrata/uscita ideali e niente di più

Anche se se stiamo parlando di una ZZ specifica, allora sì, possiamo discutere, ho usato la mia - non ha impostazioni min.bar - solo da High a Low disegna una linea, l'impostazione è la distanza minima da High a Low

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

 
Avete bisogno di uno zigzag non per barre ma per punti, con una soglia di 1 punto in più dello spread e per minuti di esso, Sì, naturalmente, alcune fluttuazioni all'interno delle barre non lo prenderà... e questo è il problema!
 

Ops! 8888


 
Dmitry Fedoseev:
e sui verbali

Non proprio, ho testato tutto nell'ottimizzatore ;)

Su M1 con l'impostazione minima influenzerà notevolmente lo spread, è meglio prendere più impostazioni in pp o altri TF, ma non più vecchio di H1, su H4 e superiori saranno rendimenti inferiori

 
Igor Makanu:

Non proprio, ho testato tutto nell'ottimizzatore ;)

Su M1 con l'impostazione minima influenzerà notevolmente lo spread, è meglio prendere più impostazioni in pp o altri TF, ma non più vecchio di H1, su H4 e superiori saranno rendimenti inferiori

Cos'era lo zigzag?

 
Олег avtomat:
Per prima cosa, dobbiamo definire cosa sono i "punti di entrata ideali" e i"punti di uscita ideali".

Il punto di entrata ideale è il prezzo e il tempo di inizio del ''commercio ideale''.

Punto di uscita ideale - il prezzo e il tempo di completamento del ''trade ideale''.

Il trade ideale è il trade con il miglior rapporto tra durata del tempo e profitto.

imho.

 
Dmitry Fedoseev:

Cos'era lo zigzag?

per MT5 fatto molto tempo fa,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:

per MT5 fatto molto tempo fa,https://www.mql5.com/ru/forum/318267#comment_12508440

Sì, lo zigzag giusto per il compito.

 
Igor Makanu:

ZigZag mostra solo i punti di entrata/uscita ideali e niente di più

Anche se se stiamo parlando di una ZZ specifica, allora sì, possiamo discutere, ho usato la mia - non ha impostazioni min.bar - semplicemente disegna linee da High a Low, l'impostazione è la distanza minima da High a Low

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

ZigZag non si basa sui principi del "trade perfetto" - il miglior rapporto tra tempo di trading e profitto. ZZ dovrà entrare e uscire da tutti i suoi picchi e minimi. Non è una soluzione ideale.