Indicadores: AutoGannAutoTrend

 

AutoGannAutoTrend:

El indicador construye el canal de precio, los niveles de Fibonacci y el abanico de Gann en las últimas cimas de ZigZag.

Fig. 1. Indicador AutoGannAutoTrend

Autor: Nikolay Kositsin

 

Gran indicador. Hecho algunos cambios para la versión que utilizo, a saber, un ventilador de gann y fib retracement para las oscilaciones actuales y anteriores también, y la adición de arcos fib y timexones


 

Después de probarlo, parece que hay un error en el código.

Utilizando ingenuamente los tiempos del marco de tiempo zigzag (no sé lo que "// Òàéìôðåéì Çèãçàãà äëÿ ðàñ÷åòà èíäèêàòîðà" significa) hace que el indicador dibuje las líneas gan n y tal desde un punto de partida y final incorrecto cuando se ve en un marco de tiempo inferior. Así, por ejemplo, si se utiliza un ZigZag diario, las líneas gann comenzarían desde el principio del día, incluso si el precio máximo/mínimo estaba en un momento diferente del día. El siguiente bloque de fragmentos soluciona el problema:

...
          if(UpSign[bar])
           {
            swing_value[found]=UpSign[bar];

            swing_date[found]=TIME[bar];

              {
               MqlRates rates[];
               int copied=CopyRates(Symbol(),Period(),swing_date[found],swing_date[found]+PeriodSeconds(Timeframe),rates);
               if(copied<=0)
                  Print("Error copying price data ",GetLastError());
               for(int i=0; i<copied; i++)
                  if(rates[i].high==swing_value[found])
                    {
                     swing_date[found]=rates[i].time;
                     break;
                    }

              }

            found++;

...

Y por supuesto un snippet similar en los swing lows, comprobando si el rates[i].low es igual al valor.