Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho controllato. Quando si attiva uno SL/TP si hanno queste transazioni:
Quando vado corto - da una posizione vergine, ho 3 transazioni:
A entrata )
Una volta scattato lo stop loss, ottengo
B uscita )
NessunaTRADE_TRANSACTION_POSITION. Penso che non si possa usare qui.
Riassunto:
Viene aperto uno short, la prima transazione è
entry-type=IN trans-type=DEAL_ADD order_type=BUYsl=1.3119000 tp=1.3088000
Short chiuso, per stop o target, prima transazione riflessa
entry-type=IN trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Questo mi confonde. Dovrebbe essere:
open short:
entry-type=IN trans-type=DEAL_ADD order_type=SELLsl=1.3119000 tp=1.3088000
chiudere short:
entry-type=OUT trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Ho controllato. Quando viene attivato uno SL/TP si hanno queste transazioni:
Quando vado corto - da una posizione vergine, ottengo 3 operazioni:
A entrata )
Una volta scattato lo stop loss, ottengo
B uscita )
NessunaTRADE_TRANSACTION_POSITION.Penso che tu non possa usarlo qui.
...Ti mancano alcune transazioni, non so perché. Perché il backtesting?
Piccola digressione, invece di :
si può usare :
EnumToString(t.order_type)
Piccola digressione, invece di :
potete usare :
Grazie per EnumToString, molto più intelligente da usare.
Sì, la mia preoccupazione riguarda la transazione nel backtest. Ma per renderlo il più reale possibile, la transazione dovrebbe essere la stessa del trading dal vivo.
TRADE_TRANSACTION_POSITION non è correlato a un'operazione, come hai anche detto prima. Credo che indichi, per esempio, quando avete spostato del denaro sul vostro conto.
...
Il problema sembra che ci siano alcune transazioni non disponibili durante il backtesting. Un bug o una limitazione del backtesting. Quando si esegue un test in avanti, ho un TRADE_TRANSACTION_POSITION quando SL/TP è attivato.
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
Il problema sembra che ci siano alcune transazioni non disponibili durante il backtesting. Un bug o una limitazione del backtesting. Quando si esegue un test in avanti, ho una TRADE_TRANSACTION_POSITION quando SL/TP è attivato.
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
Ciao angevoyageur,
ho ancora il problema di ottenere il prezzo eseguito di uno stop o di una perdita collegato ad una posizione - in backtest. Non so ancora come si comporta in condizioni live.
Questo è il log del backtest:
Come potete vedere nell'ultima riga, il prezzo eseguito è dato nel log -> [#7 buy 0.01 EURUSD at 1.27349]
Ma nessuna struttura, transazione, affare o storia degli ordini fornisce questo prezzo.
Questa linea scarica la transazione relativa allo stop attivato:
Questo è il codice della funzione di dump:
Quindi ho cercato di ottenere il prezzo di esecuzione dall'ordine e dalla cronologia delle transazioni: nessun risultato
Ciao angevoyageur,
...Grazie, andrò a studiarlo al più presto.
Questo è davvero bello. Non abbiate fretta.
Ho controllato ogni transazione, richiesta e risultato passato a OnTradeTransaction.
Il prezzo di stop loss attivato menzionato nel log del backtest (creato da MetaTrader) non può essere trovato se non come prezzo sl, ma non come prezzo o prezzo di transazione o prezzo di esecuzione.
Questo è davvero bello. Non abbiate fretta.
Ho controllato ogni transazione, richiesta e risultato passato a OnTradeTransaction.
Il prezzo di stop loss attivato menzionato nel log del backtest (creato da MetaTrader) non può essere trovato se non come prezzo sl, ma non come prezzo o prezzo di transazione o prezzo di esecuzione.
Quindi, stiamo parlando solo di backtesting. Ho testato con il mio codice e ottengo 3 transazioni quando viene attivato uno stop:
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)