Bei iCustom immer überprüfen ob das handle gültig ist.
Beim Indikatornamen ist das .mq5 falsch. der Indikator muss als ex5 kompiliert vorhanden sein.
int OnInit() { dc1Handle =iCustom(_Symbol,_Period,"Donchian_Channels",donchianPeriod,extremes,margins,shift); if(dc1Handle==INVALID_HANDLE) { Alert("*ERROR* Invalid Donchian_Channels handle"); return(INIT_FAILED); } ArraySetAsSeries(dc1Buffer,true); return(INIT_SUCCEEDED); }
Das ArraySetAsSeries(....) braucht nur einmal in der OnInit() aufgerufen werden, nicht immer wieder!
Die OnDeinit() ist zwar vollkommen richtig, kann aber weggelassen werden, das macht der Compiler für dich.
LG, Otto
Wenn Du im Editor F1 drückst und dann bei Index 4807 eintippst gefolgt von einem Enter, dann, ja dann, weißt Du wo der Fehler liegt, bzw wo man genauer hinschauen muss!
Nämlich in OnInit() gleich nach iCustom(..) müsst man den Handle prüfen und probieren, bis es klappt, bzw mal lesen wie iCustom verwendet werden soll: Kursor auf iCustom und F1 drücken.
Dort gibt es ein Beispiel, wie man iCustom aufruft bzw. verwendet.
BTW: Diese Wege sind viel schneller als eine Antwort hier.

- 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.
Hi Leute,
ich möchte den Indikator Donchian_Channel https://www.mql5.com/en/code/402 in meinen EA integrieren.
In meinem Code habe ich
Ich bekomme damit die Fehlermedlung "Error copying Donchian Channels buffer - error:4807"
Hat jemand eine Idee was da nicht stimmt? Hat das etwas mit dem ENUM zu tun?