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.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.

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