
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 meinem Fall war es "<=", aber die Stochastik-Werte ändern sich auch bei jedem Tick sehr stark - es gibt vier Nachkommastellen mehr, d.h. bei einem Tick können sich die Werte von (z.B.) 75,0003 auf 74,0900 ändern.
Das Zeichen "=" kann also getrost weggelassen werden. Aber natürlich, um nicht zu denken - ich denke, ich werde.
Versuchen Sie, Print vor OrderClose hinzuzufügen und sehen Sie, ob das Close-Signal erscheint.
Erledigt. Hinzugefügt. Nein, .....! Die Abschlussmeldung erscheint nicht im Logbuch.
Ich verstehe das nicht! Ich habe diesen Block in einen anderen EA eingebaut. Und eine dritte. ... . Aber die Situation hat sich nicht geändert! Die Stellen sind nicht geschlossen. Obwohl selten, selten (ein- oder zweimal in der Geschichte = 1 Jahr) und blinkt ein grünes Dreieck schließen auf dem visuellen Diagramm. Aber so sollte es nicht sein! Nach dem Code zu urteilen, sollten die Positionen wie ein Nähmaschinenschiffchen schließen!
NOnLagMA-Indikator im Download
Vielleicht sollte dieser Block nicht funktionieren? Schließlich haben wir bei der Eröffnung Stopps im Code: - Stoploss und Takeprofit. Und vielleicht werden aus diesem Grund alle anderen Abschlussbedingungen ignoriert?
ticket=OrderSend(Symbol(),0,Lots,Ask,Slippage,Bid-SL_long*Point,Ask+TP_long*Point, NULL,MagicNum, 0,CLR_NONE);
Ich werde mich auf andere Weise damit befassen müssen.
Ich verstehe gar nichts!
Sie sollten aufmerksamer sein.)
Hier ist die start()-Funktion der Testvariante (ohne SL und TP, mit korrekten Meldungen und ohne unnötigen Schlupf):
Aber an Ihrer Stelle würde ich diesen EA nicht auf einem echten Konto verwenden. Es sollte in Ordnung gebracht werden, oder in "Bereitschaft", wenn Sie wollen ;)
Ja, natürlich. Vielen Dank für Ihre Hilfe! Ich verstehe Ihren Kommentar zu meinem Fehler.
Und ich habe Ihre Empfehlungen zur Kenntnis genommen. Bis zu einem echten Handel ist es noch ein weiter Weg...
p.s/ Alles funktioniert.... ! Und wie es funktioniert hat!
Ich habe mir den Code nicht angesehen.
Aber eines ist sicher: Anstelle von "if(Stochast_1>75 && Stochast_0<75)" würde ich "if(Stochast_1>75 && Stochast_0<=75)" machen.
Ein besserer Weg wäre: if(Stochast_1-75.0>0 && Stochast_0-75.0<=0), um unnötige Umwandlungen der Typen int und double zu vermeiden.
Und wie können wir unnötige int und double vermeiden. ? Ich kann es nicht herausfinden. Außerdem können wir anstelle von Zahlen externe Parameter verwenden: extern int Up_lim = 80; extern int Low_lim = 20;
Erstens ist es falsch, reale Stochast_ und ganze Zahlen 75 zu vergleichen, und zweitens ist es richtiger, ihre Differenz mit Null zu vergleichen.
Vergleich von reellen Zahlen".