BACKTESTING NO EJECUTA E IG SI
Forums › ProRealTime foro Español › Soporte ProOrder › BACKTESTING NO EJECUTA E IG SI
- This topic has 4 replies, 2 voices, and was last updated 3 months ago by Ifont.
-
-
08/29/2024 at 1:59 PM #236844
Buenas tardes,
Llevo algunos meses creando un sistema automático y lo he lanzado con éxito para ejecutar órdenes a través de IG. Me he dado cuenta que en IG se ejecutan las órdenes correctamente según tengo definido pero en cambio no se crean todas en el backtesting y no encuentro el motivo. Unas si se marcan y otras no.
He resumido mucho la estrategia para que vean lo que sucede.
Estrategia con EURUSD 10 minutos.
En la captura pongo una flecha donde realmente se hizo la operación en corto , pasado día 28/08/24 a las 17h, pero en cambio, en la plataforma backtesting no se ejecuta y no lo entiendo. Todo cuadra y de hecho, se lanzó la orden a través de IG.
ENTRADA CORTA RESUMIDA1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495// Definición de los parámetros del códigoDEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada// Anular todas las órdenes pendientes y cerrar todas las posiciones a la hora "FLATAFTER"DEFPARAM FLATAFTER = 213000// Impide al sistema crear nuevas órdenes para entrar al mercado a aumentar el tamaño de la posición antes de una hora precisanoEntryBeforeTime = 060000timeEnterBefore = time >= noEntryBeforeTime// Impide al sistema lanzar nuevas órdenes para entrar al mercado o aumentar el tamaño de la posición después de una hora precisanoEntryAfterTime = 210000timeEnterAfter = time < noEntryAfterTime// Impide al sistema operar en días precisos de la semanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0indicator97 = 0.006c98 = (indicator97 <= 0.0050)c99 = (indicator97 > 0.0050)// Condiciones de entrada de posiciones cortasindicator30 = Stochastic[14,3](close)c31 = (indicator30 >80)indicator31= highest[5](HIGH)c32 = (close<indicator31)c33 = close<Openc43 = lowest[10](low)<close*0.999c46 = (high[19]>close) OR (high[20]>close) OR (high[21]>close)c42 = low<=(TRADEPRICE(1)*0.9991)IF c31 AND c32 AND c33 AND c43 AND c46 AND c99 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT 3 CONTRACT AT MARKETENDIF// Condiciones de salida de posiciones cortasIF c99 AND c42 THENEXITSHORT AT MARKETENDIF// Stops y targetsSET STOP pLOSS 10//trailing stop functiontrailingstart = 3 //trailing will start @trailinstart points profittrailingstep = 3 //trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND High -tradeprice(1)>=trailingstart*pipsize THENnewSL = High *0.999ENDIF//next movesIF newSL>0 AND High -newSL>=trailingstep*pipsize THENnewSL = High *0.999ENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-low >=trailingstart*pipsize THENnewSL = Low*1.001ENDIF//next movesIF newSL>0 AND newSL-low >=trailingstep*pipsize THENnewSL = Low*1.001ENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF//************************************************************************Gracias por vuestro soporte.
Albert.
08/30/2024 at 5:41 PM #236920Añado otro recorte donde tampoco se ejecuta la order en el backtesting y en cambio sí lanza la orden de entrada en corto en IG tal y como tengo programado.
Día 29/8 a las 18:10h
A ver si se puede averiguar porque el programa no muestra la órden.
Gracias
Albert.
08/31/2024 at 7:38 PM #236964Buenas tardes,
Después de muchas pruebas, veo que si cambio la fecha de simulación y empiezo la simulación unas horas antes de que se cumplan las condiciones, si que aparece la operación en el backtesting. Es como si tuviese un limite de operaciones por día o algo similar y por eso no aparecen todas las entradas, ¿es posible?
No encuentro ningún sentido a este error.
A ver si Roberto tiene alguna explicación.
Gracias.
Albert
09/02/2024 at 7:57 AM #23698409/02/2024 at 1:44 PM #237014Gracias pero me parece que ese no es el problema.
Pienso que el backtesting solo ejecuta un porcentaje de entradas, no todas las posibles. Si hago un backtesting a 6 meses vista , no hace esa operacion, en cambio si empiezo unas horas antes del dia de la ejecución, sí que aparece.
Es rarísimo.
Gracias,
Albert
-
AuthorPosts
Find exclusive trading pro-tools on