No sé que errores tiene el código de este sistema:

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #221137 quote
    sergiomollag
    Participant
    New

    Quiero programar el siguiente sistema para hacer backtest pero al hacerlo no me arroja ningún dato. Soy novato en este lenguaje y no encuentro que estoy haciendo mal, os adjunto captura del código y también como es el sistema, muchas gracias. Es un sistema muy sencillo solo de largos en el SPY:

    – Comprar el SPY SOLO los lunes SI el cierre es menor o igual a las 2 sesiones anteriores
    – Vender (si tenemos posición) cuando alcance un precio que supere los máximos de la sesión anterior ( a modo de price target )
    – Vender (si tenemos posición) en caso de que a los 10 días no se haya cumplido la condición de venta anterior, es decir que no haya conseguido superar los máximos del día anterior ( a modo de stop-loss).

    Muchas gracias de nuevo

    Captura_codigo_duda.png Captura_codigo_duda.png
    #221144 quote
    robertogozzi
    Moderator
    Master

    Publique el código la próxima vez, no una imagen del mismo. Gracias 🙂
    No debes utilizar órdenes pendientes, ya sean LIMIT o STOP, cuando el precio de entrada es CLOSE. Utilice AT MARKET en su lugar.
    Reemplace sus líneas de BUY y SELL con estas:

    BUY 1 Contract AT MARKET
    SELL AT MARKET
    sergiomollag thanked this post
    #221160 quote
    sergiomollag
    Participant
    New

    De acuerdo no lo sabía, y también he visto que debería haberlo publicado en el foro de proorder, que son los asuntos relacionados con estrategias. Voy a reformular la pregunta allí porque me sigue sin funcionar. Muchas gracias.

    #221195 quote
    robertogozzi
    Moderator
    Master

    No vuelvas a preguntar, trasladaré tu solicitud al foro de PoOrder.

    #221469 quote
    robertogozzi
    Moderator
    Master

    Esto funciona correctamente:

    DEFPARAM CumulateOrders = False
    c1 = (DayOfWeek = 1)
    c2 = close <= close[2]
    c3 = close > high[1]
    IF c1 AND c2 THEN
       BUY AT Market
    ENDIF
    IF OnMarket AND c3 THEN
       SELL AT Market
    ENDIF
    ONCE BarsLimit = 10
    IF OnMarket AND ((BarIndex - TradeIndex + 1) > BarsLimit) THEN
       SELL AT Market
    ENDIF

    Es mejor utilizar DayOfWeek, en lugar de CurrentDayOfWeek.

    #221477 quote
    sergiomollag
    Participant
    New

    Hola! Muchas gracias de antemano, pero, copiando el código que me pones tal cual para hacer el backtest, al ejecutarlo no me arroja ningún dato, como si algo fuera incorrecto y no pudiera hacerlo. ¿Puede tener algún error el código o algo?

    Gracias de nuevo.

    #221480 quote
    robertogozzi
    Moderator
    Master

    Funciona muy bien para mí. Lo probé en DAX, NASDAQ y otros, en 1 Minuto, 1 Hora y en el Diario.

    Adjunte el archivo ITF de su código y una captura de pantalla del gráfico completo, incluidos los parámetros utilizados para el backtest.

    #221483 quote
    sergiomollag
    Participant
    New

    Copié el código tal cual lo puso, y lo he probado haciendo backtest en varios activos (SPY, IWM, SP500, etc.) y en todos el informe está en blanco no arroja ningún dato, como si algo fallara. Tal que así:

    Captura-duda.png Captura-duda.png
    #221572 quote
    robertogozzi
    Moderator
    Master

    Como trabajas en gráfico diario y las estrategias SIEMPRE se ejecutan al cierre de la vela, para asegurar que la posición esté abierta el lunes debes darle la orden de abrirla al cierre del VIERNES.
    De esta forma el puesto quedará abierto el lunes.

    c1 = (OpenDayOfWeek = 5)
    sergiomollag thanked this post
Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.

No sé que errores tiene el código de este sistema:


ProOrder: Trading Automático y Backtesting

New Reply
Author
Summary

This topic contains 8 replies,
has 2 voices, and was last updated by robertogozzi
2 years, 5 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 09/16/2023
Status: Active
Attachments: 2 files
Logo Logo
Loading...