Diskussion zum Artikel "Die Stärke von ZigZag (Teil I). Entwicklung der Basisklasse des Indikators" - Seite 8
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Die dritte und vierte lassen sich immer noch nicht kompilieren.
'GetZigZagData' - keine der Überladungen kann auf den Funktionsaufruf angewandt werden TestZZZ_03.mq5 77 15
"Get ZigZag Data" - keine der Überladungen kann auf den Funktionsaufruf angewandt werden test z_03.mq5 77 15
---------------------
könnte eine von 2 Funktionen sein TestZZZ_03.mq5 77 15
könnte eine von 2 Funktion(en) sein TestZZ_03.at MQL5 77 15
---------------------
void CZigZagModule::GetZigZagData(const int,int,int,const string,const ENUM_TIMEFRAMES,const datetime,const datetime) ZigZagModule.mqh 52 22
______________
Das heißt, der Compiler schwört, dass ein und dieselbe Funktion mit unterschiedlichen Parametern gestartet wird.
Die dritte und vierte sind immer noch nicht kompilierbar.
Überprüfen Sie die übertragenen Parameter. Entweder ist ihre Anzahl oder ihr Typ falsch. Dies ist beim Aufruf von GetZigZagData.
Danke für die Rückmeldung. Ich weiß nicht, wie man die Parameter zu überprüfen, noch, ich bin gerade lernen, Programmierung. Soweit ich es verstanden habe - im Code ruft der Expert Advisor die Methode GetZigZagData() auf.
Das erste Mal mit den Parametern GetZigZagData(h_zz,l_zz,t_zz),
das zweite Mal mit anderen Parametern GetZigZagData(zz_handle_current,_Symbol,_Period,start_time_in,stop_time_in).
Die Einschlussdatei hat beide Optionen
nacheinander geschrieben.
Ich habe alte Archive geladen, dann neue, MT5 ganz gelöscht, ein neues von Grund auf installiert, nichts hilft, der Fehler vom obigen Bildschirm bleibt bestehen.
ZY: Warum programmieren Sie in C, wenn Sie nicht sicher sind, dass Sie eine Funktion mit verschiedenen Parametern ansprechen können?
Ich verstehe Sie nicht ganz. Ich habe eine Menge Möglichkeiten, worauf ich programmieren kann? Ich habe MT5, es ist in MQL5, und ich versuche, es zu lernen.
Ich denke, dass auf eine Funktion mit verschiedenen Parametern zugegriffen werden kann, ich habe sogar gelesen, dass man das Überladen nennt. Aber ich verstehe nicht, wie man das handhabt. Außerdem bin ich mir sicher, dass es gar nicht der Fehler des Autors ist, sondern dass ich höchstwahrscheinlich einen Fehler mache, die Frage ist nur, wo genau ????.
CopyExtremums(copy_extremums); //--- Gehen wir die kopierten ZZ-Werte in einer Schleife durch GetZigZagData(m_zz_highs_temp,m_zz_lows_temp,m_zz_time_temp);Ich glaube, es ist hier.Ich habe die Namen dieser Funktionen in der Einschlussdatei geändert und ihnen jeweils die Nummern 1 und 2 hinzugefügt.
Ich habe alle Verweise auf diese Funktionen im Expert Advisor gefunden und sie bearbeitet. Der alte Fehler verschwand, aber ein neuer trat auf. In der Tat - ein Problem mit den Datentypen. Der Übersetzer schrieb wie folgt:
stop_time_in' - unable to convert enumeration TestZZ_03.mq5 77 78