Das sieht ja schon viel besser aus.
Wenn ich dir ein paar Tips geben darf ?
Bitte verwende 'input' anstelle von 'extern' - das tut doch nicht weh.
Auch die Funktionen OnInit() und OnTick() sollten aus dem Programmtext deutlicher hervorgehoben werden.
Besonders wichtig !!!: Die benötigten Indikatoren sollten nur in der OnInit() initialisiert werden, quasi ihre handles abliefern.
Machst du das in OnTick() jedesmal neu, bremst du deinen EA mindestens um den Faktor 10 herunter.
Das gilt alles sowohl für MQL4 als auch für MQL5
Weiterhin viel Erfolg
PS: Alex Fischer (google) meint, dass Meisterschaft in einer Disziplin erst nach etwa 10.000 Stunden zu erreichen ist.