Aufbau eines EA für alle als Tutorial
36 Antworten
Conmariin
vor 7 Jahren #116417
Hallo,
Ich bin kein Programmierer und ich dachte, dass der Kauf des EA-Assistenten wäre viel einfacher, einen EA mit zu bauen. Aber nach einigen Gebäude Praxis sehe ich, müssen Sie ein mql-Programmer zu verstehen, auch EA-Assistent sein.
Deshalb habe ich eine Frage an Sie: Ist es möglich, in diesem Forum zumindest einen EA Schritt-für-Schritt zu erstellen, damit alle Nicht-Programmierer den EA-Assistenten besser verstehen?
Ich habe bereits eine Strategie, die hier beschrieben wird: https://www.mql5.com/en/articles/1734
In dieser Strategie gibt es Codeschnipsel. Eigentlich weiß ich nicht, wie ich diese einbinden kann. Aber mehr als das möchte ich verstehen und lernen, wie ich einen solchen EA im EA Wizard erstellen kann. Damit ich in Zukunft andere EAs bauen kann.
Die Codeschnipsel aus dem Artikel sind in der mq4.
Hoffentlich Grüße von
Conmariin 🙂 .
Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de
Conmariin
vor 6 Jahren #197213
Da hat etwas gefehlt. Das tut mir leid. Ich habe es in dieser Version korrigiert. 🙂
Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de
Conmariin
vor 6 Jahren #197239
Ich habe ein Problem mit der Bedingung für Kaufaufträge.
Ich möchte, dass der EA eine Order öffnet, wenn die folgenden Bedingungen erfüllt sind:
(GoLongSandR=true und(Muster1=true oder Muster2=true oder Muster3=true)
Aber es öffnet Aufträge, wenn eines dieser Muster erfüllt ist. Er eröffnet, wenn GoLongSandR=true. Er öffnet, wenn Muster1=wahr und Muster3=wahr (aber nicht GoLongSandR). Er öffnet sich, wenn nur Muster2=wahr ist...usw. Zum Beispiel öffnet es sich manchmal korrekt mit GoLongSandR=true und Pattern1=true.
Ich habe ein Bild meiner Bedingungseinstellung in EAWizard for Long beigefügt. Wo liegt der Fehler? Kann mir jemand helfen?
Dies ist der Code des EA:
//--------------------------------------
// Long öffnen
if(sqIsBarOpen == true) {
if (((sqGetMarketPosition() == 0)
&& ((GoLongSandR == true)
&& ((Pattern1Long == true)
|| ((Muster2Long == true)
|| (Muster3Long == true))))))
{
// Aktion #1
sqOpenOrder("NULL", OP_BUY, getOrderSize(MagicLong, OP_BUY ), getOrderPrice(MagicLong), Comment1, MagicLong, "Open Long");
// Aktion #2
sqDrawUpArrow(1);
}
}
//--------------------------------------
// Kurz öffnen
if(sqIsBarOpen == true) {
wenn (((sqGetMarketPosition() == 0)
&& ((GoShortSandR == true)
&& ((Pattern1Short == true)
|| ((Muster2Short == wahr)
|| (Pattern3Short == true))))))
{
// Aktion #1
sqOpenOrder("NULL", OP_SELL, getOrderSize(MagicShort, OP_SELL ), getOrderPrice(MagicShort), Comment2, MagicShort, "Open Short");
// Aktion #2
sqDrawDownArrow(1);
}
}
Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de
tomas262
vor 6 Jahren #197256
Hallo,
Ich sehe, dass Sie in der ursprünglichen Datei die Klammern weggelassen haben, aber auf dem von Ihnen zur Verfügung gestellten Screenshot sind sie (korrekt) vorhanden. Angehängte geänderte Datei
tomas262
vor 6 Jahren #197258
Ein Problem könnte sein, dass Sie "pattern" auf TRUE setzen, aber nie auf FALSE zurücksetzen, so dass die Bedingung immer gültig bleibt.
Ich denke, Sie sollten bei der Auftragserfassung pattern = FALSE setzen
Conmariin
vor 6 Jahren #197259
Ja, ich habe die Klammern hinzugefügt, als ich den Fehler für dieses Verhalten gesucht habe. Und ich dachte, es könnte damit zu tun haben, dass etwas nicht zurückgesetzt ist. Aber ich war mir nicht sicher. Okay, Sie hatten den gleichen Gedanken. Jetzt versuche ich herauszufinden, wie ich das Muster nach der Auftragserfassung einstellen kann. Vielen Dank Tomas262! 🙂 .
Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de
Conmariin
vor 6 Jahren #197277
Hallo,
leider habe ich nicht herausgefunden, wie ich das in EAWizard lösen kann, aber ich habe den Code genommen und dort manuell gelöst. Es war nur ein 1 Liner in jeder Pattern Bedingung um Pattern = FALSE zu setzen. Jetzt funktioniert es 🙂 .
Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de