Diskussion zum Artikel "Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5" - Seite 4
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
Ich bin sehr dankbar für diesen Artikel hat es sehr viel geholfen. Nach dem Schreiben meiner Codes für meine EA Ich drückte die Debugging-Taste und ich wurde gesagt, dass ich 10 Fehler haben, in Ihrem Artikel ihre ist keine Informationen zur Korrektur dieser Fehler. Also, wie kann ich dieses Problem lösen, bitte schreiben Sie zurück so bald wie möglich ?
Hallo Stacy,
Danke für dein Kompliment. Wie du schon sagtest, wurde die Korrektur einiger Code-Fehler nicht in dem Artikel besprochen, allerdings wird bald ein weiterer Artikel veröffentlicht, der detailliert erklärt, wie man Code-Fehler behebt.
Warten Sie einfach darauf.
Ich danke Ihnen
Samuel.
Hallo zusammen!
Ich bin ein Anfänger und ich versuche, eine E.A folgen Sie den Leitfaden zu schreiben, aber es hat nicht verkaufen oder kaufen, um zu machen.
mein Algorithmus ist die Verwendung von 2 ma( 6 und 12) und 1 rsi(14), wie das:
bool Buy_Condition_1 = (maVal_fast[0]<maVal_slow[0]) && (maVal_fast[1] > maVal_slow[1]);
bool Buy_Condition_2 = (rsiVal[0] < Pereprod);
if(Buy_Condition_1 && Buy_Condition_2)
{
// blah...blah...
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // letzter Briefkurs
mrequest.sl = NormalizeDouble(letzter_Preis.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(letzter_Kurs.ask + TKP*_Point,_Digits); // Take Profit
mrequest.volume = Lot;// Anzahl der zu handelnden Lots
mrequest.type = ORDER_TYPE_BUY;
// .............
}
aber es springt nicht in den Segment-Code oben. so kann es nicht automatisierten Handel. = =!.
ich brauche Hilfe :(.
ich verwende PRICE_MEDIAN anstelle von PRICE_CLOSE (ich kenne die Unterschiede zwischen ihnen nicht).
danke.
hi everyone!
i am a beginer and i am trying to write an E.A follow the guide but it did not make sell or buy order.
Hallo!
Können Sie bitte Ihren Code zur Verfügung stellen, damit wir sehen können, wo das Problem liegt?
Мы решили хранить значения Stop Loss и Take Profit в определенных ранее переменных STP и TKP. Почему мы это сделали?
Dies geschieht, weil die Werte der Eingabeparameter nicht geändert werden können, sie sind schreibgeschützt.
Wir müssen sicher sein, dass unser Expert Advisor mit allen Brokern korrekt funktioniert. Um die Genauigkeit des Kurspreises anhand des aktuellen Symbols des Charts zu bestimmen, können Sie verwenden.
Ein erstaunlicher "Ansatz" wird von angesehenen und erfahrenen Programmierern verwendet, um das Problem des 5-stelligen Symbols zu "lösen". Und nun wird dieser "Ansatz" auch unter Anfängern kultiviert, in pädagogischer, sagen wir, Literatur.
Der "Ansatz" des Autors macht den ganzen Vorteil der 5-Stelligkeit zunichte. Anstatt einem Anfänger zu erklären, dass die Einführung eines 5-stelligen Kurses es ermöglicht, z.B. den Take Profit nicht auf 10 Pips, sondern auf 10,5 zu setzen. Und auch zu erklären, dass es bei der Verwendung eines Expert Advisors mit einer 5-stelligen Quote notwendig ist, den Take Profit nicht mit 10 Pips, sondern mit 100 anzugeben. Statt solcher Erklärungen werden Strings in den Programmcode eingefügt, die es programmatisch unmöglich machen, 5-stellige Kurse auszunutzen.
"Wir müssen sicher sein, dass unser EA mit allen Brokern korrekt funktioniert". Nun, wir sind sicher und was dann? Wie kann man nun den Vorteil von 5-stelligen Kursen nutzen, wenn der Expert Advisor programmatisch "dazu verurteilt wurde, korrekt zu arbeiten".
Eine erstaunliche "Herangehensweise" wird von angesehenen und erfahrenen Programmierern verwendet, um das Problem der 5-stelligen Zahlen zu "lösen". Und nun wird dieser "Ansatz" auch unter Anfängern kultiviert, in der pädagogischen, sagen wir, Literatur.
Der vom Autor angegebene "Ansatz" hebt den gesamten Vorteil der 5-Stelligkeit vollständig auf. Anstatt einem Anfänger zu erklären, dass die Einführung eines 5-stelligen Kurses es ermöglicht, z.B. den Take Profit nicht auf 10 Pips, sondern auf 10,5 zu setzen. Und auch zu erklären, dass es bei der Verwendung eines Expert Advisors mit einer 5-stelligen Quote notwendig ist, den Take Profit nicht mit 10 Pips, sondern mit 100 festzulegen. Anstelle solcher Erklärungen werden Zeilen in den Programmcode eingefügt, die es programmtechnisch nicht ermöglichen, die Vorteile von 5-stelligen Kursen zu nutzen.
"Wir müssen sicher sein, dass unser EA mit allen Brokern korrekt funktioniert". Nun, wir sind sicher und was dann? Wie können wir jetzt den Vorteil von 5-stelligen Kursen nutzen, wenn der Expert Advisor programmatisch dazu "verurteilt wurde, korrekt zu arbeiten".
10,5 ist ein anderes Argument :)
Und die Standardisierung auf 4 Ziffern ist durchaus verständlich, wenn wir die Notwendigkeit einer universellen Arbeit auf Konten mit unterschiedlicher Genauigkeit berücksichtigen.
Vielleicht, wenn alle Broker Konten mit 5 Ziffern verwenden, wird eine solche Verarbeitung nicht notwendig sein (obwohl für die Universalität des Codes das Vorhandensein eines solchen Blocks nicht schaden wird) IMHO.
Aber ich kann nicht verstehen, wie man die Vorteile der 5. Stelle nicht nutzen kann.
Die Genauigkeit dieses Blocks ermöglicht es Ihnen, den ersten vierstelligen Punkt (bedingt "Standard") zu verwenden, in Bezug auf fünf Ziffern wird es 10 Pips sein.
PS
Ich glaube nicht, dass die meisten Broker die Verwendung eines kleineren Wertes zulassen werden. Selbst wenn sie es tun und es notwendig sein wird, wird es möglich sein, aus der Situation herauszukommen (selbst wenn man solche Seltsamkeiten wie 0,1-0,9 anwendet).
10,5 ist immer noch ein Argument :)
Und die Standardisierung auf 4 Ziffern ist durchaus verständlich, wenn man bedenkt, dass universelle Arbeit auf Konten mit unterschiedlicher Genauigkeit erforderlich ist.
Vielleicht, wenn alle Makler Konten mit 5 Ziffern verwenden wird eine solche Verarbeitung nicht notwendig sein (obwohl für Code Universalität das Vorhandensein eines solchen Blocks wird nicht schaden) IMHO.
Aber ich kann nicht verstehen, wie es von der Nutzung der Vorteile der fünften Stelle verhindert.
Die Genauigkeit dieses Blocks erlaubt es, 1 vierstelligen Punkt (bedingt "Standard") zu verwenden, in Bezug auf fünf Ziffern wird es 10 Pips sein.
PS
Ich glaube nicht, dass die meisten Broker die Verwendung eines kleineren Wertes erlauben werden. Selbst wenn sie es tun und es notwendig ist, wird es möglich sein, aus der Situation herauszukommen (sogar durch die Anwendung solcher Merkwürdigkeiten wie 0,1-0,9).
Bei 4 Ziffern ändert sich der Preis um 0,0001, bei 5 Ziffern um 0,00001.
Es gibt keine Möglichkeit, bei einem 4-stelligen Kurs nach 10,5 Standardpunkten zu schließen, aber bei einem 5-stelligen Kurs gibt es eine solche Möglichkeit.
Wenn der obige Block programmatisch verwendet wird, dann gibt es bei der Verwendung eines Expert Advisors auf einem 5-stelligen Symbol keine Möglichkeit, z.B. den Take Stop bei 10,5 Standardpunkten zu ändern. Dies ist wichtig für Scalper.
Damit der Expert Advisor auf 4- und 5-stelligen Symbolen korrekt funktioniert , muss das Vorzeichen der Notierungen bei der Rundung berücksichtigt werden, und in den Eingabeparametern muss z.B. bei der Einstellung des Take manuell berücksichtigt werden, dass 10 Standardpunkte als 100 geschrieben werden.
Andernfalls, wenn Sie solche Blöcke verwenden, müssen Sie bei der Umstellung von k5-Stelle auf 4-Stelle teilen, was Sie teilen müssen.
Dies sind Eingangsparameter, warum sollte man mit ihnen "seltsame" Umrechnungsoperationen durchführen?
Auf dem 4-stelligen gibt es keine Möglichkeit, den Take nach 10,5 Standard-Pips zu schließen, aber auf dem 5-stelligen gibt es eine solche Möglichkeit.
Handeln Sie? Oder versuchen Sie nur zu theoretisieren?
Ich kann mir kaum einen EA vorstellen, bei dem eine Änderung des TP um 0,5 Punkte einen großen Einfluss auf die Ergebnisse hat. Für 99% der Expert Advisors ist es einfacher und bequemer, alle Werte in 4-stelligen Punkten anzugeben. Und es hat keinen Sinn, die verbleibenden 1% in allgemeinen Bildungsartikeln zu beschreiben.
Handeln Sie? Oder wollen Sie nur theoretisieren?
Ich kann mir kaum einen EA vorstellen, bei dem eine Änderung des TP um 0,5 Punkte einen starken Einfluss auf die Ergebnisse hätte. Für 99% der Expert Advisors ist es einfacher und bequemer, alle Werte in 4-stelligen Punkten anzugeben. Und für die restlichen 1% macht es keinen Sinn, sie in allgemeinen Bildungsartikeln zu beschreiben.
+1.
Es geht nicht darum, mit welcher Genauigkeit gehandelt werden soll, sondern darum, wie sich diese 10,5 Pips anhören und wie sie jeden verwirren werden (insbesondere Anfänger).
Ein Pip ist per Definition die kleinste Einheit der Preisänderung. Vielleicht liege ich falsch?
Und EAs, die mit TP und SL von 5 fünfstelligen Punkten (0,5 Standardpunkte) handeln, sind im wirklichen Leben wohl kaum zu finden.
Ich würde die Anzahl solcher Expert Advisors sogar auf 0,1-0,01% der Gesamtzahl festlegen.
PS
Interne Berechnungen, die auf den Ergebnissen von Handelsgeschäften beruhen, werden hier nicht berücksichtigt (jeder kann auf die notwendige Genauigkeit aufrunden).
Der "Ansatz" des Autors macht alle Vorteile der 5-stelligen Notierung völlig zunichte. Anstatt einem Anfänger zu erklären, dass die Einführung eines 5-stelligen Kurses es möglich macht, z.B. den Take Profit nicht auf 10 Pips, sondern auf 10,5 zu setzen. Und auch zu erklären, dass bei der Verwendung eines Expert Advisors mit einem 5-stelligen Kurs nicht 10 Pips, sondern 100 als Take-Profit festgelegt werden müssen. Statt solcher Erklärungen werden Zeilen in den Programmcode eingefügt, die es programmatisch nicht erlauben, die Vorteile von 5-stelligen Kursen zu nutzen.
Ich unterstütze den Autor dieses Kommentars voll und ganz.
Wer es braucht, wird auf die 3. Stelle aufrunden. Aber es ist ein grober Fehler, dies in einem allgemeinen Fall zu tun.
Je höher die Genauigkeit, desto besser, und es lohnt sich nicht, sie für alle durch einige rein subjektive Ansichten über den praktischen Nutzen zunichte zu machen.
P.S. Im allgemeinen Fall werden SL und TP nicht in absoluten Werten festgelegt (wie es überall üblich ist), sondern in relativen Werten. Dann verschwinden die Probleme mit Pips, 5-Zeichen, Pips-Dollars und anderem weit hergeholten Blödsinn von selbst.
abolk, hrenfx, worum geht es eigentlich in dem Streit? Lesen wir den Titel des Artikels aufmerksam: "... Der Artikel rechtfertigt seinen Zweck voll und ganz, sowohl im Titel als auch im Inhalt. Nehmen Sie mich beim Wort, für Anfänger macht es keinen Unterschied, wie die Rundungsgenauigkeit des Experten ist, der Hauptansatz ist: "wir müssen uns nur mit dem EA-Schreiben beschäftigen". Für mich persönlich, als Anfänger, hat sich der Trick mit dem "Runden" auf 4 Ziffern (allerdings in einem anderen Artikel) als sehr nützlich erwiesen und eine der Programmiertechniken offenbart. Und mit der Erfahrung können hochqualifizierte Spezialisten entscheiden, mit welcher Genauigkeit sie Berechnungen/Handel durchführen, und der besprochene Artikel wird sie in keiner Weise behindern. Dieser Artikel hat Sie in keiner Weise behindert :). Das gilt auch für andere: "Wenn sie auf Ihr Niveau heranwachsen, werden sie es selbst herausfinden".
Ich möchte Sie noch einmal darauf aufmerksam machen, dass der Autor des Artikels seine Sicht der Dinge nicht aufdrängt und nicht über den Wert der Verwendung von 4 oder 5 Ziffern diskutiert. Der Autor hilft Anfängern nur, die ersten Schritte der Programmierung in MQL5 zu meistern, indem er bestimmte Programmiertechniken anwendet.