Indikatoren: AutoGannAutoTrend

 

AutoGannAutoTrend:

Der Indikator zeichnet den Preiskanal, Fibonacci-Levels und den Gann-Fächer basierend auf den letzten ZigZag Spitzen.

Abb.1. Der AutoGannAutoTrend Indikator

Autor: Nikolay Kositsin

 

Toller Indikator. Machte einige Änderungen für die Version, die ich benutze, nämlich ein Gann-Fan und Fib-Retracement für die aktuellen und vorherigen Schwankungen auch, und das Hinzufügen von Fib Bögen und timexones


 

Also nach dem Ausprobieren, scheint es, wie es einen Fehler im Code.

Die naive Verwendung der Zeiten des Zigzag-Zeitrahmens (ich weiß nicht, was "// Òàéìôðåéì Çèãçàãà äëÿ ðàñ÷åòà èíäèêàòîðà" bedeutet) führt dazu, dass der Indikator die Gann-Linien usw. von einem falschen Anfangs- und Endpunkt aus zeichnet, wenn er in einem niedrigeren Zeitrahmen betrachtet wird. Wenn Sie z.B. einen täglichen ZigZag-Indikator verwenden, beginnen die Gann-Linien am Anfang des Tages, auch wenn der Preismaximum/Minimum zu einem anderen Zeitpunkt des Tages liegt. Der folgende Snippet-Block behebt das Problem:

...
          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++;

...

Und natürlich ein ähnliches Snippet für die Swing-Lows, das prüft, ob die rates[i].low gleich dem Wert sind.