Индикаторы: Advanced_Fractal_Envelopes

 

Advanced_Fractal_Envelopes:

Индикатор Advanced Fractal Envelopes

Advanced_Fractal_Envelopes

Автор: Scriptor

 

AVG в данном случае это SMA( Простое МА) ? Просто для уточнения .

И её можно заменять на любое другое МА?

 
Urman Ru #:

AVG в данном случае это SMA( Простое МА) ? Просто для уточнения .

И её можно заменять на любое другое МА?

Ну, судя по расчёту - простое SMA. Но чтобы заменить на другое, придётся делать либо новый правильный расчёт другого МА, либо привлекать ещё один буфер - расчётный для расчёта другого МА с использованием iMA

 
Artyom Trishkin #:

Ну, судя по расчёту - простое SMA. Но чтобы заменить на другое, придётся делать либо новый правильный расчёт другого МА, либо привлекать ещё один буфер - расчётный для расчёта другого МА с использованием iMA

Спасибо.Мои излишние сомнения отпали.)

 
Возможно ли изменить код индикатора так, чтобы линии не "падали" ?Я так понимаю, что это из-за фрактала. Очень неудобно постоянно перегружать индикатор. Это во всех "фрактальных" индикаторах так или только конкретно в этом?
Файлы:
 
Urman Ru #:
Возможно ли изменить код индикатора так, чтобы линии не "падали" ?Я так понимаю, что это из-за фрактала. Очень неудобно постоянно перегружать индикатор. Это во всех "фрактальных" индикаторах так или только конкретно в этом?

Возможно. В код не глядел, но обычно такое решается предварительной инициализацией всех рисуемых буферов пустым значением на каждом тике. Сначала в буфера заносятся значения, которые используются в индикаторе как "пустое", а уже затем идёт основной расчёт индикатора.

 
Artyom Trishkin #:

Возможно. В код не глядел, но обычно такое решается предварительной инициализацией всех рисуемых буферов пустым значением на каждом тике. Сначала в буфера заносятся значения, которые используются в индикаторе как "пустое", а уже затем идёт основной расчёт индикатора.

Устал? 

 
Artyom Trishkin #:

Возможно. В код не глядел, но обычно такое решается предварительной инициализацией всех рисуемых буферов пустым значением на каждом тике. Сначала в буфера заносятся значения, которые используются в индикаторе как "пустое", а уже затем идёт основной расчёт индикатора.

Спасибо. А можно пример такого индикатора или хотя бы "куска" кода из него?Или где про это прочитать поподробней?

 
Urman Ru #:

Спасибо. А можно пример такого индикатора или хотя бы "куска" кода из него?Или где про это прочитать поподробней?

Попробуйте добавить эти строки в код:

//--- Расчёт индикатора
   for(int i=limit; i>=0 && !IsStopped(); i--)
     {
      BufferTop[i]=EMPTY_VALUE;
      BufferCentral[i]=EMPTY_VALUE;
      BufferBottom[i]=EMPTY_VALUE;
      BufferFractUP[i]=EMPTY_VALUE;
      BufferFractDN[i]=EMPTY_VALUE;
      double average=0, fractal=BufferFractUP[i];
      int k=1,total=1;
      if(fractal>0 && fractal<EMPTY_VALUE)
        {
         average=fractal;
      //--- Average
         while(total<period_avg && i+k<rates_total-2)
           {
 
Artyom Trishkin #:

Попробуйте добавить эти строки в код:

Благодарю! Кажется , я что то начинаю понимать.)