Con el DEAL_ADD obtengo el precio de la operación, por lo que el SL en mi caso. Todo me parece correcto. Te sugiero que me envíes el código que utilizas, el log del backtest (como archivo) y una captura de pantalla de la configuración del probador de estrategias. Así podré reproducir exactamente la misma prueba que la tuya y analizar el resultado. Puedes enviarme un PM si lo prefieres.
Hola,
¿podríais decirme dónde se almacena exactamente el precio de parada u objetivo ejecutado?
Con el DEAL_ADD obtengo el precio de la operación, por lo que el SL en mi caso. Todo me parece correcto. Te sugiero que me envíes el código que utilizas, el log del backtest (como archivo) y una captura de pantalla de la Configuración del Probador de Estrategias. Así podré reproducir exactamente la misma prueba que la tuya y analizar el resultado. Puedes enviarme un PM si lo prefieres.
Si te refieres a TRADE_TRANSACTION_DEAL_ADD y MqlTradeTransaction.price, este precio es siempre 0.
Incluso si no filtro porTRADE_TRANSACTION_DEAL_ADD, el precio es siempre 0, después de que la orden de entrada sea enviada.
Yo uso
CTrade.Buy(...) // place entry
y
CTrade.PositionModify // to attach stop and target
encontrar adjunto de nuevo simple EA. Esto debería demostrarlo. Solo coloca una orden con stop y objetivo ajustados (parámetro de entrada) y registra cada transacción.
Realmente aprecio su ayuda.
(Tal vez usted también puede mostrar sus transacciones de entrada)
encontrar adjunto de nuevo simple EA. Esto debería demostrarlo. Solo coloca una orden con stop y objetivo ajustados (parámetro de entrada) y registra cada transacción.
Realmente aprecio su ayuda.
(Tal vez usted también puede mostrar sus transacciones de entrada)
¿Podría usted también me da mt-servidor ip?
Yo uso el EA que acaba de publicar. MQ demo, Punto de acceso Europa. Backtesting con :
Tomo un extracto al azar del registro :
2013.05.1521:54:11 Core 12013.05.0120:02:15take profit triggered buy 0.01 EURUSD 1.31751 sl: 1.31681 tp: 1.31821 [#107 sell 0.01 EURUSD at 1.31821]
2013.05.1521:54:11 Core 12013.05.0120:02:15 deal #107 sell 0.01 EURUSD at 1.31821 done (based on order #107)
2013.05.1521:54:11 Core 12013.05.0120:02:15 deal performed [#107 sell 0.01 EURUSD at 1.31821]
2013.05.1521:54:11 Core 12013.05.0120:02:15 order performed sell 0.01 at 1.31821 [#107 sell 0.01 EURUSD at 1.31821]
2013.05.1521:54:11 Core 12013.05.0120:02:15 requote 1.31823 / 1.31836 / 1.31823 (instant sell 0.01 EURUSD at 1.31836 sl: 1.31906 tp: 1.31766)
2013.05.1521:54:11 Core 12013.05.0120:02:15 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.31836 sl: 1.31906 tp: 1.31766 [requote (1.31823/1.31836)]
2013.05.1521:54:11 Core 12013.05.0120:02:15 instant buy 0.01 EURUSD at 1.31840 sl: 1.31770 tp: 1.31910 (1.31827 / 1.31840 / 1.31827)
2013.05.1521:54:11 Core 12013.05.0120:02:15 deal #108 buy 0.01 EURUSD at 1.31840 done (based on order #108)
2013.05.1521:54:11 Core 12013.05.0120:02:15 deal performed [#108 buy 0.01 EURUSD at 1.31840]
2013.05.1521:54:11 Core 12013.05.0120:02:15 order performed buy 0.01 at 1.31840 [#108 buy 0.01 EURUSD at 1.31840]
2013.05.1521:54:11 Core 12013.05.0120:02:15 CTrade::OrderSend: instant buy 0.01 EURUSD at 1.31840 sl: 1.31770 tp: 1.31910 [done at 1.31840]
2013.05.1521:54:11 Core 12013.05.0120:02:15 trans=symbol=EURUSD price=1.31821 00 volume=0.01 sl=0.0000000 tp=0.0000000 order=107deal=107 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.0100:00 price_trigger=0.0000000 profit
2013.05.1521:54:11 Core 12013.05.0120:02:15 trans=symbol=EURUSD price=1.3182100 volume=0.01 sl=0.0000000 tp=0.0000000 order=107 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=SELL deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.0100:00 price_trigger=0.0000000 prof
2013.05.1521:54:11 Core 12013.05.0120:02:15 trans=symbol=EURUSD price=1.3182100 volume=0.00 sl=0.0000000 tp=0.0000000 order=107 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=SELL deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.0100:00 price_trigger=0.0000000 profi
Entonces, ¿todavía tiene un problema para detectar un SL/TP disparado?
Oh. Ya veo. Pude jurar que en mis ejecuciones de ayer no se dio ese precio. Hice una búsqueda de texto para este precio en el registro de backtest.
Pero ahora, puedo ver esta transacción DESPUÉS del registro
...
El registro que te he proporcionado es desde el Visor, cuando lees el registro directamente desde la pestaña Diario del Probador de Estrategias, se muestra enel orden inverso.
angevoyageur: El registro que te he proporcionado es desde el Visor, cuando lees el registro directamente desde la pestaña Diario del Probador de Estrategias, se muestra enel orden inverso.
Normalmente abro el archivo de registro desde la pestaña de registro de backtest, donde el orden es de arriba a abajo. Así que, de hecho, el registro que indica el precio se escribe antes de que ocurra la transacción.
Entonces, estamos hablando sólo de backtesting. 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)
Hola,
¿podríais decirme dónde se almacena exactamente el precio de parada u objetivo ejecutado?
a) MqlTradeTransaction
b) MqlTradeRequest
c) MqlTradeResult
junto con el miembro. ¿En qué servidor de MetaTrader?
Gracias
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)
Si te refieres a TRADE_TRANSACTION_DEAL_ADD y MqlTradeTransaction.price, este precio es siempre 0.
Incluso si no filtro porTRADE_TRANSACTION_DEAL_ADD, el precio es siempre 0, después de que la orden de entrada sea enviada.
Yo uso
CTrade.Buy(...) // place entryy
CTrade.PositionModify // to attach stop and targety
para captar las transacciones.
Si te refieres a TRADE_TRANSACTION_DEAL_ADD y MqlTradeTransaction. price, este precio es siempre 0.
Incluso si no filtro paraTRADE_TRANSACTION_DEAL_ADD, el precio es siempre 0, después de que la orden de entrada sea enviada.
Yo uso
y
y
para capturar las transacciones.
Esto es con MqlTradeTransaction.price, no es siempre 0.
Hay algo raro en tus resultados, pero no puedo ver qué con el código que proporcionas.
Aquí el registro con su EA tc_ea_trans :
Hola Angevoyageur,
encontrar adjunto de nuevo simple EA. Esto debería demostrarlo. Solo coloca una orden con stop y objetivo ajustados (parámetro de entrada) y registra cada transacción.
Realmente aprecio su ayuda.
(Tal vez usted también puede mostrar sus transacciones de entrada)
¿Podría también darme la ip del servidor mt?
Hola Angevoyageur,
encontrar adjunto de nuevo simple EA. Esto debería demostrarlo. Solo coloca una orden con stop y objetivo ajustados (parámetro de entrada) y registra cada transacción.
Realmente aprecio su ayuda.
(Tal vez usted también puede mostrar sus transacciones de entrada)
¿Podría usted también me da mt-servidor ip?
Yo uso el EA que acaba de publicar. MQ demo, Punto de acceso Europa. Backtesting con :
Tomo un extracto al azar del registro :
Entonces, ¿todavía tiene un problema para detectar un SL/TP disparado?
Yo uso el EA que acabas de publicar. MQ demo, Punto de acceso Europa. Backtesting con :
Tomo un extracto al azar del registro :
Entonces, ¿todavía tiene problemas para detectar un SL/TP disparado?
Oh. Ya veo. Pude jurar que en mis ejecuciones de ayer no se dio ese precio. Hice una búsqueda de texto para este precio en el registro de backtest.
Pero ahora, puedo ver esta transacción DESPUÉS del registro
"take profit activado"
en mi última ejecución también - junto con el precio de ejecución.
Pido disculpas por todo el tiempo que lleva.
Oh. Ya veo. Pude jurar que en mis ejecuciones de ayer no se dio ese precio. Hice una búsqueda de texto para este precio en el registro de backtest.
Pero ahora, puedo ver esta transacción DESPUÉS del registro
...El registro que te he proporcionado es desde el Visor, cuando lees el registro directamente desde la pestaña Diario del Probador de Estrategias, se muestra en el orden inverso.
Hola Angevoyageur,
"Punto de acceso Europa. Backtesting con :"
¿puede darme la IP completa de este servidor?