Diskussion zum Artikel "Der MQL5 Assistent: Wie man ein Modul an Handelssignalen erzeugt" - Seite 3
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
In der neuen Version von MQL5 Wizard hat sich das Format der Signalmodule geändert. Schauen Sie hier für Informationen - https://www.mql5.com/ru/forum/3724/66962#comment_66962.
Ich habe mir den Code von mehreren fertigen Signalen aus dem Signal-Ordner angesehen, es gibt keine Implementierung der CheckOpenShort/CheckOpenLong-Funktionen. Stattdessen werden sie korrekt verwendet, verstehe ich?
Ja, das ist richtig.
Um ehrlich zu sein, bin ich ein wenig verwirrt. Es gibt die Funktionen CheckOpenShort/CheckOpenLong in der Klasse CExpertSignal. Du verwendest andere Funktionen in deinen Signalen, und ich verstehe auch nicht, wo sie in CExpert aufgerufen werden. Das Problem ist, dass ich ein vorgefertigtes Signal aus dem Artikel über das Schreiben meines eigenen Signalmoduls genommen habe, den Assistenten dazu gebracht habe, es zu sehen (Sie können wahrscheinlich Änderungen an dem Artikel über das neue Format vornehmen) und einen Expert Advisor mit diesem Signal bekommen habe, aber er handelt nicht, nicht ein einziges Geschäft im Tester seit einem Jahr.
Funktionen werden im Konstruktor aufgerufen - das ist klar, aber warum werden keine Standardfunktionen verwendet?Bitte sehen Sie nach, was los ist. In der Testversion wird nicht gehandelt.
Dieses Modul wird gehandelt.
Für Ihren Fall, ersetzen Sie für Longs
if( High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){ return(100); } //--- условие не выполнено return(0); }durch
für Shorts - finden Sie es selbst
dieses Modul handelt
für Ihren Fall ersetzen Sie die Longs
durch
für Shorts, Sie werden es selbst finden.
Ja, das tut es, danke! Ich habe den Tag damit verbracht, ich glaube, ich habe alles wie im Artikel gemacht, was ist mein Fehler?
Im neuen Assistenten gibt es im Vergleich zum vorherigen sehr große Änderungen,
virtual bool CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);
virtual bool CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);
Ich habe es so verstanden: es soll ein Objekt der Klasse CExpertSignal unter mehreren im Expert Advisor verwendeten Objekten mit dem Hauptattribut geben, das diese Funktionen nutzen kann. andere Objekte nehmen an der Positionseröffnung durch die Funktionen teil
virtual int ShortCondition(); //Überprüfung der Eröffnungsbedingung Sell
virtual int LongCondition(); //Überprüfung der Bedingung für die Eröffnung einer Kaufposition
Um das i-Tüpfelchen zu setzen, benötigen wir einen Artikel darüber, wie Sie Ihr eigenes Signalmodul im neuen Assistenten schreiben können, also warten wir darauf.