![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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 denke, ich werde bestätigen, dass ich das gleiche Problem im Strategietester gesehen habe. Ich bin mir nicht sicher, wie genau das passieren könnte, aber ich werde es noch einmal mit einigen weiteren Fehlerberichten versuchen, um sicherzugehen.
OK, ein Rätsel gelöst ... Ich wusste nicht, dass der im Strategy Tester verwendete Spread aus den History-Daten stammt, insbesondere aus den M1-Daten. Der Grund für die ungültigen Stops in meinem Strategy Tester-Lauf ist, dass der Spread größer ist als mein SL. Ich werde einen Test dafür hinzufügen.
Konstantin83:
2013.03.10 11:19:18 2012.01.04 15:00:00 failed buy stop 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [Invalid stops]
Ich verstehe nicht, ungültig zu stoppen. die sl ist unter dem Kauf sl: 1.28375 <1.30505 ?
CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);
Top = NormalizeDouble(rates[ArrayMaximum(hg,0,WHOLE_ARRAY)].high,_Digits);
- missverstandenes Design.
Wählen Sie unter den Werten der maximalen double und verwenden Sie , dass anstelle der Integer-Index
dankeKonstantin83 :
aber ich verstehe nicht, was Sie sagen.
top ist die höchste der letzten 5 Kerzen und top ist ein doppelter und kein ganzer Index
dan5:
Ich verstehe den ungültigen Stop nicht. Der Sl liegt unter dem Buy Sl: 1.28375 <1.30505 ?
Nehmen Sie "Ungültige Stops" nicht zu wörtlich. Es geht nicht nur um den Stop Loss, sondern auch um den Einstiegskurs und/oder den TP. Wenn Sie einen Fehler erhalten, drucken Sie die folgenden Informationen aus, sie werden Ihnen helfen herauszufinden, was schief gelaufen ist:
dan5:
2013.03.10 11:19:18 2012.01.04 15:00:00 fehlgeschlagener buy stop 1.00 EURUSD bei 1.30505 sl: 1.28375 tp: 1.30375 [Ungültige Stops]
Ich verstehe den ungültigen Stop nicht. der sl liegt unter dem buy sl: 1.28375 <1.30505 ?
Haben Sie bemerkt, dass der Einstieg 1.30505 > der TP 1.30375 ist?
Vielen Dank für Ihre Hilfe, ich habe meinen sl und tp modifiziert, jetzt ist alles in Ordnung
mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// Take Profit
anstelle von:
mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit
Vielen Dank für Ihre Hilfe, ich habe meinen sl und tp modifiziert, jetzt ist alles in Ordnung
mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// Take Profit
anstelle von:
mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit
Das ist eine gute Nachricht, ich hoffe, es hat Ihnen nichts ausgemacht, dass ich Ihren Thread unterwandert habe, aber ich denke, dass wir beide am Ende etwas Nützliches daraus gemacht haben :-)
Haben Sie eine andere Lösung gefunden, was ich mit OnTradeTransaction vorschlage, um mit sl & tp auf einem Market Execution (ECN-Broker) Fall gehen?
Der Code, den ich in diesem Beitrag https://www.mql5.com/en/forum/11051#comment_446272 vorgeschlagen habe, funktioniert soweit ich das beurteilen kann. Ich nahm an, dass er im Strategy Tester nicht funktioniert, weil meine Annahme, dass der Spread (wie in MT4) fest ist, nicht korrekt war. Mein Code funktioniert jetzt im Strategy Tester und in Demo für Symbole mit der Ausführungsart Instant oder Exchange execution, mein Code bestimmt die Art und sendet die entsprechende(n) Anfrage(n). Idealerweise möchte ich, dass mein Code automatisch jede Ausführungsart behandelt.