Фракталы на меньшем тф

 

Есть много индикаторов с фракталами МТФ,
но почему они все не верно показывают сигналы, если выбрать меньший тф для анализа?

Есть индикатор фракталов, который корректно работает на любом ТФ ?

Например, если в сравнении поставить индикатор на М15 с тф М1 и так же поставить индикатор на М1 с текущим тф,
то на графике М15 будут пропущены сигналы которые есть на М1

 

Каждый бар в терминале - это неделимая точка. Ей может соответствовать только одно какое-то значение, а не 15 сразу. Если нужна более высокая точность отображения, то для этого и существуют меньшие ТФ.

MTF-индикаторы обычно используют наоборот: на более мелких ТФ отображают показания более крупных ТФ. Исключение: если индикатор не отображает данные непосредственно на свечах (отдельная панель, к примеру).

 
Ihor Herasko #:

Каждый бар в терминале - это неделимая точка. Ей может соответствовать только одно какое-то значение, а не 15 сразу. Если нужна более высокая точность отображения, то для этого и существуют меньшие ТФ.

MTF-индикаторы обычно используют наоборот: на более мелких ТФ отображают показания более крупных ТФ. Исключение: если индикатор не отображает данные непосредственно на свечах (отдельная панель, к примеру).

отдельный бар : проекция всего что  происходило за время от T-n до T на одну вертикальную линию.. 

"фракталы" меньшего ТФ вполне имеют право там располагаться,  например как засечки. Более того - считать и видеть такие засечки имеет смысл.

 
Maxim Kuznetsov #:

отдельный бар : проекция всего что  происходило за время от T-n до T на одну вертикальную линию.. 

"фракталы" меньшего ТФ вполне имеют право там располагаться,  например как засечки. Более того - считать и видеть такие засечки имеет смысл.

Считать никто не запрещает. Осталось только определиться с тем, как в одну точку впихнуть 15 показаний. Напомню, речь про индикатор. Там, скорее всего, индикаторный буфер, у которого каждый элемент - один бар. Запишите в один элемент сразу 15 показаний. А еще интереснее, как все это отобразить нормально, без каши на графике.

 
Делается немного по другому. Например рабочий ТФ М5, на него выводятся фракталы с М5, Н1, Н4, Дневки и т.д.
 

Так возможно сделать так, чтобы в настройках с меньшим тф правильно показывал индикатор фракталы?
Например индикатор на М15 установлен, в настройках М1 указано и если за 15 баров есть оба фрактала, то они должны быть оба отображены на М15
У меня есть два разных кода и они оба не совпадают с меньшим тф и даже многие пики пропущены

Поделитесь пожалуйста рабочим кодом, или дайте правильное направление мыслей, как это реализовать.

 
fxfreelife #:

Так возможно сделать так, чтобы в настройках с меньшим тф правильно показывал индикатор фракталы?
Например индикатор на М15 установлен, в настройках М1 указано и если за 15 баров есть оба фрактала, то они должны быть оба отображены на М15
У меня есть два разных кода и они оба не совпадают с меньшим тф и даже многие пики пропущены

Поделитесь пожалуйста рабочим кодом, или дайте правильное направление мыслей, как это реализовать.

Сначала определитесь, как должна выглядеть ситуация, когда на свече М15 больше двух фракталов меньшего ТФ. Далее усложняем: ТФ D1, а фракталы хотите видеть на М1. То есть теоретически может быть порядка 1 000 фракталов. Как их отобразить на одной единственной свече D1?

 
Ihor Herasko #:

может быть порядка 1 000 фракталов. Как их отобразить на одной единственной свече D1?

По одному фракталу на текущей свече, т.е. верхний и нижний фрактал

 
fxfreelife #:

По одному фракталу на текущей свече, т.е. верхний и нижний фрактал

Каков критерий выбора отображаемого фрактала из нескольких?

 
Ihor Herasko #:

Каков критерий выбора отображаемого фрактала из нескольких?

Если есть на меньшем тф первый фрактал,
то отобразить его на текущем тф
и далее не анализировать это направление до текущего нового бара, а искать только противоположный фрактал

 
//+------------------------------------------------------------------+
#property strict 
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Gold
#property indicator_color2 Gold
#property indicator_width1 1
#property indicator_width2 1

extern ENUM_TIMEFRAMES TF = PERIOD_CURRENT; 

double FrUp[],FrDn[]; 
//+------------------------------------------------------------------+
int init()
  {
   IndicatorBuffers(2);
   //
   SetIndexBuffer(0,FrUp); 
   SetIndexStyle (0,DRAW_ARROW);   
   SetIndexArrow (0,217); 

   SetIndexLabel (0,"FrUP");
   SetIndexEmptyValue(0,0.0);
   //
   SetIndexBuffer(1,FrDn); 
   SetIndexStyle (1,DRAW_ARROW);   
   SetIndexArrow (1,218); 
   SetIndexLabel (1,"FrDN");
   SetIndexEmptyValue(1,0.0);      
return(0);}
//+------------------------------------------------------------------+
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[])
  {
   if(rates_total<=0) return(0);
   
   if(prev_calculated!=0)
     { 
      if(rates_total>prev_calculated)
        { 
         const int n=rates_total-1;  
         FrUp[n]=0.0;
         FrDn[n]=0.0;
        }
         else return(prev_calculated);   
     } else {                           
      ArrayInitialize(FrUp,0.0);
      ArrayInitialize(FrDn,0.0);
     }
//---
   int BarFr=2,
       i=rates_total-1;

   while(i>=0)
   {
      if(i==iHighest(NULL,TF,MODE_HIGH,BarFr*2+1,i-BarFr)) 
         FrUp[i]=High[i];
         
      if(i==iLowest(NULL,TF,MODE_LOW,BarFr*2+1,i-BarFr)) 
         FrDn[i]=Low[i];
      i--;
   }
return(rates_total);}
//+------------------------------------------------------------------+

Этот код правильно показывает фракталы на текущем тф и старшем тф,
а вот с младшим тф проблемы 

Файлы:
1z.png  21 kb
Причина обращения: