
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
J'ai vérifié. Lorsqu'un SL/TP est déclenché, vous avez cette transaction :
Lorsque je suis short - à partir d'une position vierge, j'obtiens 3 transactions :
A entrée )
Une fois le stop loss déclenché, j'obtiens
B sortie )
Pas deTRADE_TRANSACTION_POSITION. Je pense que vous ne pouvez pas l'utiliser ici.
Résumé :
Un short est ouvert, la première transaction est
entry-type=IN trans-type=DEAL_ADD order_type=BUYsl=1.3119000 tp=1.3088000
Short fermé, par stop ou cible, première transaction réfléchie
entry-type=IN trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Ceci est confus. Cela devrait être :
ouvert court :
entry-type=IN trans-type=DEAL_ADD order_type=SELLsl=1.3119000 tp=1.3088000
fermer le short :
entry-type=OUT trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
J'ai vérifié. Quand un SL/TP est déclenché, vous avez ces transactions :
Lorsque je suis à découvert - à partir d'une position vierge, j'obtiens 3 transactions :
Une entrée )
Une fois le stop loss déclenché, j'obtiens
B sortie )
Pas deTRADE_TRANSACTION_POSITION.Je pense que vous ne pouvez pas l'utiliser ici.
...Il vous manque des transactions, je ne sais pas pourquoi. A cause du backtesting ?
Petite digression, au lieu de :
vous pouvez utiliser :
EnumToString(t.order_type)
Petite digression, au lieu de :
vous pouvez utiliser :
Merci pour EnumToString, bien plus intelligent à utiliser.
Oui, ma préoccupation concerne la transaction dans le backtest. Mais pour qu'il soit le plus réel possible, la transaction doit être la même que dans le trading réel.
TRADE_TRANSACTION_POSITION n'est pas lié à une transaction, comme vous l'avez déjà mentionné. Je suppose qu'elle indique, par exemple, quand vous avez déplacé de l'argent sur votre compte.
...
Le problème semble être que certaines transactions ne sont pas disponibles lors du backtesting. Il s'agit d'un bug ou d'une limitation du backtesting. Lors de l'exécution d'un test à terme, j'ai une TRADE_TRANSACTION_POSITION lorsque le SL/TP est déclenché.
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
Le problème semble être que certaines transactions ne sont pas disponibles lors du backtesting. Il s'agit d'un bug ou d'une limitation du backtesting. Lors de l'exécution d'un test à terme, j'ai une TRADE_TRANSACTION_POSITION lorsque le SL/TP est déclenché.
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
Bonjour angevoyageur,
J'ai toujours le problème d'obtenir le prix exécuté d'un stop ou d'une perte attaché à une position - en backtest. Je ne sais pas jusqu'à présent, comment il se comporte dans des conditions réelles.
Ceci est tiré du journal de backtest :
Comme vous pouvez le voir dans la dernière ligne, le prix exécuté est indiqué dans le journal -> [#7 buy 0.01 EURUSD at 1.27349].
Mais aucune structure, transaction, opération ou historique d'ordre ne fournit ce prix.
Cette ligne vide la transaction liée au stop déclenché :
Voici le code de la fonction de dump :
J'ai donc essayé d'obtenir le prix d'exécution à partir de l'historique des ordres et des transactions : aucun résultat.
Bonjour angevoyageur,
...Merci, je vais aller étudier cela dès que possible.
C'est vraiment bien. Ne vous pressez pas.
J'ai vérifié chaque transaction, requête et résultat transmis à OnTradeTransaction.
Le prix du stop loss déclenché mentionné dans le log du backtest (créé par MetaTrader) est introuvable sauf en tant que sl price, mais pas en tant que price ou deal price ou execution price.
C'est vraiment bien. Ne vous pressez pas.
J'ai vérifié chaque transaction, requête et résultat transmis à OnTradeTransaction.
Le prix de déclenchement du stop loss mentionné dans le journal de backtest (créé par MetaTrader) est introuvable sauf en tant que prix sl, mais pas en tant que prix ou prix de transaction ou prix d'exécution.
Il ne s'agit donc que de backtesting. J'ai testé avec mon propre code et j'ai obtenu 3 transactions lorsqu'un stop est déclenché :
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)