Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Lo he comprobado. Cuando se activa un SL/TP se tiene esta transacción :
Al ir en corto - desde una posición virgen, obtengo 3 transacciones:
Una entrada )
Una vez activado el stop loss, obtengo
B salida )
No hayTRADE_TRANSACTION_POSITION. Creo que no se puede utilizar aquí.
Resumen:
Se abre un corto, la primera transacción es
entry-type=IN trans-type=DEAL_ADD order_type=BUYsl=1.3119000 tp=1.3088000
Cierre en corto, por stop o por objetivo, primera transacción reflejada
entry-type=IN trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Esto es confuso. Debería ser:
open short:
entry-type=IN trans-type=DEAL_ADD order_type=SELLsl=1.3119000 tp=1.3088000
cerrar corto:
entry-type=OUTtrans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Lo he comprobado. Cuando se activa un SL/TP tiene estas transacciones :
Al ir en corto - desde una posición virgen, obtengo 3 transacciones:
Una entrada )
Una vez que el stop loss se activa, obtengo
B salida )
No hayTRADE_TRANSACTION_POSITION.Creo que no se puede utilizar aquí.
...Te faltan algunas transacciones, no sé por qué. ¿Porque el backtesting?
Pequeña digresión, en lugar de :
se puede utilizar :
EnumToString(t.order_type)
Pequeña digresión, en lugar de :
se puede utilizar :
Gracias a EnumToString, mucho más inteligente de usar.
Sí, mi preocupación es sobre la transacción en backtest. Pero para que sea lo más real posible, la transacción debe ser la misma que en el comercio en vivo.
TRADE_TRANSACTION_POSITION no está relacionado con una transacción, como también mencionaste antes. Supongo que indica, por ejemplo, cuando usted movió algo de dinero en su cuenta.
...
El problema parece ser que hay algunas transacciones que no están disponibles cuando se realiza el backtesting. Un error o una limitación del backtesting. Cuando se ejecuta en una prueba a futuro, tengo un TRADE_TRANSACTION_POSITION cuando se activa el SL/TP.
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
El problema parece ser que hay algunas transacciones que no están disponibles cuando se realiza el backtesting. Un error o una limitación del backtesting. Cuando se ejecuta en una prueba a futuro, tengo un TRADE_TRANSACTION_POSITION cuando se activa el SL/TP.
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
Hola angevoyageur,
Todavía tengo el problema de obtener el precio ejecutado de una parada o pérdida adjunta a una posición - en backtest. No sé hasta ahora, cómo se comporta en condiciones reales.
Esto es del registro de backtest:
Como se puede ver en la última línea, el precio ejecutado se da en el registro -> [#7 comprar 0,01 EURUSD a 1,27349]
Pero ninguna estructura, transacción, trato o historial de órdenes proporciona este precio.
Esta línea vuelca la transacción relacionada con el stop activado:
Este es el código de la función de volcado:
Así que traté de obtener el precio de ejecución de la orden y el historial de operaciones: no hay resultado
Hola angevoyageur,
...Gracias, iré a estudiar eso lo antes posible.
Esto es muy bonito. No se apresure.
He comprobado cada transacción, la solicitud y el resultado pasado a OnTradeTransaction.
El precio de stop loss disparado mencionado en el registro de backtest (creado por MetaTrader) no se puede encontrar excepto como precio sl, pero no como precio o precio de transacción o precio de ejecución.
Esto es muy bonito. No se apresure.
He comprobado cada transacción, la solicitud y el resultado pasado a OnTradeTransaction.
El precio de stop loss activado mencionado en el registro de backtest (creado por MetaTrader) no se puede encontrar excepto como precio sl, pero no como precio o precio de transacción o precio de ejecución.
Por lo tanto, estamos hablando de backtesting solamente. He probado con mi propio código y obtengo 3 transacciones cuando se dispara un 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)