Алгоритмическая ''центрифуга'' - страница 8

 
для начала надо дать определение, что такое "идеальные точки входа" и "идеальные точки выхода".
 
Реter Konow:

2. ЗигЗаг не покажет идеальные точки входа. Это не то. Там большая погрешность будет. Оптимизатор с ГА могут справиться гораздо лучше. ИМХО.

ЗигЗаг показывает только идеальные точки входа-выхода и ничего более

хотя если речь идет о конкретном ЗЗ, тут да, можно обсудить, я свой использовал - он не имеет настройки мин.баров - просто от High до Low рисует линии, настройка это минимальное расстояние от High до Low

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

 
Нужен зигзаг не по барам, а по пунктам, с порогом на 1 пункт больше спреда и на минутки его, Да, конечно, некоторые колебания внутри баров он не поймает... и такая беда от этого!
 

Оопс! 8888


 
Dmitry Fedoseev:
и на минутки его

не совсем так, я тестировал все это, причем в оптимизаторе ;)

на М1 с минимальной настройкой будет спред сильно влиять, лучше по больше брать настройку в пп или другой ТФ, но не старше Н1 , на Н4 и выше будет доходность ниже 

 
Igor Makanu:

не совсем так, я тестировал все это, причем в оптимизаторе ;)

на М1 с минимальной настройкой будет спред сильно влиять, лучше по больше брать настройку в пп или другой ТФ, но не старше Н1 , на Н4 и выше будет доходность ниже 

А зигзаг какой был?

 
Олег avtomat:
для начала надо дать определение, что такое " идеальные точки входа" и "идеальные точки выхода".

Идеальная точка входа   - ценовое и временное начало ''идеальной сделки''.

Идеальная точка выхода - ценовое и временное завершение "идеальной сделки".

Идеальная сделка - сделка с лучшим соотношением временной продолжительности и прибыли.

имхо.

 
Dmitry Fedoseev:

А зигзаг какой был?

для МТ5 сделал давно, 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:

для МТ5 сделал давно, https://www.mql5.com/ru/forum/318267#comment_12508440

Да, правильный зигзаг для этой задачи. 

 
Igor Makanu:

ЗигЗаг показывает только идеальные точки входа-выхода и ничего более

хотя если речь идет о конкретном ЗЗ, тут да, можно обсудить, я свой использовал - он не имеет настройки мин.баров - просто от High до Low рисует линии, настройка это минимальное расстояние от High до Low

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

ЗигЗаг не опирается на принципы "идеальной сделки" - лучшее соотношение времени сделки и ее прибыли. По ЗЗ нужно будет входить и выходить на всех его пиках и низах. Это не идеальное решение.
Причина обращения: