
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 habe es überprüft. Wenn ein SL/TP ausgelöst wird, haben Sie diese Transaktion:
Wenn ich short gehe - von einer jungfräulichen Position aus, erhalte ich 3 Transaktionen:
A Eintrag )
Sobald der Stop Loss ausgelöst wurde, erhalte ich
B Ausstieg )
KeineTRADE_TRANSACTION_POSITION. Ich denke, Sie können es hier nicht verwenden.
Zusammenfassung:
Ein Short wird eröffnet, die erste Transaktion ist
entry-type=IN trans-type=DEAL_ADD order_type=BUYsl=1.3119000 tp=1.3088000
Short geschlossen, durch Stop oder Target, erste reflektierte Transaktion
entry-type=IN trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Dies ist verwirrend. Es sollte lauten:
open short:
entry-type=IN trans-type=DEAL_ADD order_type=SELLsl=1.3119000 tp=1.3088000
Short schließen:
entry-type=OUT trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0. 0
Ich habe es überprüft. Wenn ein SL/TP ausgelöst wird, haben Sie diese Transaktion:
Wenn ich von einer jungfräulichen Position aus short gehe, erhalte ich 3 Transaktionen:
A Eintrag )
Sobald der Stop Loss ausgelöst wurde, erhalte ich
B Ausstieg )
KeineTRADE_TRANSACTION_POSITION.Ich denke, Sie können es hier nicht verwenden.
...Sie vermissen einige Transaktionen, ich weiß nicht warum. Weil Backtesting ?
Kleine Abschweifung, anstelle von :
können Sie verwenden:
EnumToString(t.order_type)
Kleine Abschweifung, anstelle von :
können Sie verwenden:
Vielen Dank für EnumToString, das ist viel schlauer zu benutzen.
Ja, meine Sorge gilt der Transaktion im Backtest. Aber um es so realistisch wie möglich zu machen, sollte die Transaktion die gleiche sein wie im Live-Handel.
TRADE_TRANSACTION_POSITION ist nicht mit einem Geschäft verbunden, wie Sie bereits erwähnt haben. Ich vermute, es zeigt zum Beispiel an, wann Sie etwas Geld auf Ihrem Konto bewegt haben.
...
Das Problem scheint zu sein, dass einige Transaktionen beim Backtesting nicht verfügbar sind. Ein Fehler oder eine Einschränkung des Backtestings. Wenn ich einen Forward-Test durchführe, habe ich eine TRADE_TRANSACTION_POSITION, wenn SL/TP ausgelöst wird.
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_DELETE
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_HISTORY_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.00 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_POSITION
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3173500 volume=0.01 sl=1.3174200 tp=1.3170100 order=0 deal=0 entry-type=IN trans-type=POSITION order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_DEAL_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=16655372 entry-type=OUT trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.34
Das Problem scheint zu sein, dass einige Transaktionen beim Backtesting nicht verfügbar sind. Ein Fehler oder eine Einschränkung des Backtestings. Wenn auf einem Forward-Test laufen, habe ich eine TRADE_TRANSACTION_POSITION, wenn SL/TP ausgelöst wird.
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_DELETE
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_HISTORY_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.00 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_POSITION
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3173500 volume=0.01 sl=1.3174200 tp=1.3170100 order=0 deal=0 entry-type=IN trans-type=POSITION order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_DEAL_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=16655372 entry-type=OUT trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.34
Hallo angevoyageur,
ich habe immer noch das Problem, dass ich im Backtest den Ausführungskurs eines an eine Position angehängten Stops oder Verlustes bekomme. Ich weiß bis jetzt nicht, wie es sich unter Live-Bedingungen verhält.
Dies ist aus dem Backtest-Log:
Wie Sie in der letzten Zeile sehen können, ist der ausgeführte Preis im Protokoll angegeben -> [#7 buy 0.01 EURUSD at 1.27349]
Aber keine Struktur, Transaktion, kein Geschäft und keine Auftragshistorie liefert diesen Preis.
In dieser Zeile wird die Transaktion im Zusammenhang mit dem ausgelösten Stop gelöscht:
Dies ist der Code der Dump-Funktion:
Ich habe also versucht, den Ausführungspreis aus der Auftrags- und Geschäftshistorie zu ermitteln: kein Ergebnis
Hallo angevoyageur,
...Danke, ich werde mir das so schnell wie möglich ansehen.
Das ist wirklich schön. Nur keine Eile.
Ich habe jede Transaktion, jede Anfrage und jedes Ergebnis, das an OnTradeTransaction übergeben wird, überprüft.
Der ausgelöste Stop-Loss-Kurs, der im Backtest-Protokoll (das von MetaTrader erstellt wird) erwähnt wird, kann nur als Sl-Kurs gefunden werden, nicht aber als Preis, Abschlusskurs oder Ausführungspreis.
Das ist wirklich schön. Nur keine Eile.
Ich habe jede Transaktion, jede Anfrage und jedes Ergebnis, das an OnTradeTransaction übergeben wird, überprüft.
Der ausgelöste Stop-Loss-Kurs, der im Backtest-Protokoll (das von MetaTrader erstellt wird) erwähnt wird, kann nur als Sl-Kurs gefunden werden, nicht aber als Preis, Deal-Kurs oder Ausführungspreis.
Wir sprechen also nur von Backtesting. Ich habe mit meinem eigenen Code getestet und ich erhalte 3 Transaktionen, wenn ein Stop ausgelöst wird:
2013.05.15 10:22:27 Core 1 2013.05.10 16:20:37 Symbol : EURUSD event : TRADE_TRANSACTION_DEAL_ADD(6)
2013.05.15 10:22:27 Core 1 2013.05.10 16:20:37 Symbol : EURUSD event : TRADE_TRANSACTION_ORDER_DELETE(2)
2013.05.15 10:22:27 Core 1 2013.05.10 16:20:37 Symbol : EURUSD event : TRADE_TRANSACTION_HISTORY_ADD(3)