Walk Forward con indicadores propios

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • #100670 quote
    Rafa
    Participant
    Senior

    Hola a todos,

    Tengo una duda porque no consigo hacer que funcione. En otro post he escrito acerca de el RSI normalizado, quiero hacer un walk foward y los resultados que me aparecen son todos 0.

    Hay alguna limitación para esto? se puede hacer?

    Muchas gracias

    #100671 quote
    robertogozzi
    Moderator
    Master

    ¿Puedes publicar el código que usaste para probarlo?

    #100673 quote
    Rafa
    Participant
    Senior

    Si claro Roberto no es ningún secreto

    // Definición de los parámetros del código
    
    DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
    
    DEFPARAM FLATBEFORE = 070000
    DEFPARAM FLATAFTER = 230000
    
    noEntryBeforeTime = 070000
    
    timeEnterBefore = 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 precisa
    
    noEntryAfterTime = 230000
    
    timeEnterAfter = Time < noEntryAfterTime
    
    // Impide al sistema operar en días precisos de la semana
    
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    // ===== Variables =====
    
    //ValorRSI = 7
    //ValorEMA = 5
    
    EMABollinger = 24
    
    NumeroDeContratos = 1
    
    // ====== Constantes ======
    
    //MiSTOP = 90
    //MiPROFIT = 110
    
    // ********* A PARTIR DE AQUÍ NO SE TOCA EL CÓDIGO ***********
    
    //===== INDICADORES DE LA ESTRATEGIA ======
    
    MIRSI = CALL “NormalizedRSI”[ValorRSI,EMABollinger]
    MiEMA = ExponentialAverage[ValorEMA](MiRSI)
    
    MiSMI = CALL NormalizedSMI[EMABollinger]
    
    // ===== Condiciones para ejecutar la estrategia =====
    
    ESTOSubiendo = MiSMI[1] < MiSMI
    
    ESTOBajando = MiSMI[1] > MiSMI
    
    // ****** Esta es la Estrategia ******
    
    CruceLargo = MiRSI CROSSES OVER MiEMA AND (ESTOSubiendo)
    
    CruceCorto = MiRSI CROSSES UNDER MiEMA AND (ESTOBajando )
    
    // Condiciones para entrada de posiciones largas
    
    IF CruceLargo AND (timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry) THEN
    BUY NumeroDeContratos SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones largas
    
    IF CruceCorto THEN
    SELL AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    
    IF CruceCorto AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
    SELLSHORT NumeroDeContratos SHARES AT MARKET
    ENDIF
    
    // Condiciones de salida de posiciones cortas
    
    IF CruceLargo THEN
    EXITSHORT AT MARKET
    ENDIF
    
    // Stops y objetivos
    
    SET STOP $TRAILING MiSTOP
    SET TARGET $PROFIT MiPROFIT
    #100683 quote
    robertogozzi
    Moderator
    Master

    Para escribir el código , utilice el botón <> “insert PRT code”

    Gracias.

    #100684 quote
    robertogozzi
    Moderator
    Master

    Parece que hay un problema en la línea 41 y no puedo entender por qué, así que necesito probar nuevamente. Intenta agregar esta última línea:

    GRAPH MiEMA

    ¡Y nada será tramado!

    #100694 quote
    Rafa
    Participant
    Senior

    Muchas gracias Roberto pero no me funciona

    #100698 quote
    robertogozzi
    Moderator
    Master

    Sé que no funciona. Se ha enviado un informe de error a PRT, debemos esperar su respuesta (lo que puede llevar algún tiempo).

    #100700 quote
    Rafa
    Participant
    Senior

    Ah perdón, había entendido mal. Muchas gracias por tu ayuda!

    #100709 quote
    robertogozzi
    Moderator
    Master

    Parece que el problema se relaciona solo con el cálculo del MEDIO EXPONENCIAL (ya sea mediante el uso de ExponentialAverage o del Average[n, 1]) usando MiRSI, porque si reemplaza la línea 41 por:

    MiEMA = WeightedAverage[ValorEMA](MIRSI)  //wma
     MiEMA = Average[ValorEMA, 2](MIRSI)      // wma
     MiEMA = Average[ValorEMA](MIRSI)         // sma

    ¡Todo funciona bien! Pero todavía estamos esperando una respuesta de PRT.

    #100748 quote
    Rafa
    Participant
    Senior

    Grazzie mile!! Roberto…

    Yo todavía soy un newbie, así que en estos temas no puedo ayudar porque no se

    Un saludo fuerte

    #100849 quote
    Nicolas
    Keymaster
    Master

    Hola rafa. ¿Podrías adjuntar el archivo .itf de tu estrategia en tu próxima publicación para poder replicar el problema de manera idéntica a la tuya? (¡Y para descubrir por qué los promedios móviles no se calculan correctamente!). Gracias por adelantado.

    #100893 quote
    Rafa
    Participant
    Senior

    Perdona Nicolás,

    Ya sabes que soy un novato en esto y necesito práctica.

    Un saludo

    Normalized-RSI-EMA.itf
    #101010 quote
    Nicolas
    Keymaster
    Master

    Hice un informe técnico sobre esta cuestión, esta mañana.

    #101054 quote
    robertogozzi
    Moderator
    Master

    Intente reemplazar las líneas 41-42 con estas (es una versión personalizada del Promedio Móvil Exponencial):

    // customized EMA
    Periods = ValorEMA
    Alpha   = 2 / (Periods + 1)
    i       = 0
    TREMA   = MiRSI
    FOR j = 0 TO Periods
       i = i + 1
       TREMA = ((MiRSI[j] - TREMA) * Alpha) + TREMA
       IF i = Periods THEN
          BREAK
       ENDIF
    NEXT
    IF TREMA = 0 THEN
       TREMA = MiRSI
    ENDIF
    MiEMA = TREMA//ExponentialAverage[ValorEMA](MiRSI)
    #101125 quote
    Rafa
    Participant
    Senior

    Muchas gracias Roberto,

    Eso por ahora es muy avanzado para mi jejeje

    Un abrazo fuerte

Viewing 15 posts - 1 through 15 (of 19 total)
  • You must be logged in to reply to this topic.

Walk Forward con indicadores propios


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
Rafa @rafa Participant
Summary

This topic contains 18 replies,
has 3 voices, and was last updated by Nicolas
6 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 06/14/2019
Status: Active
Attachments: 1 files
Logo Logo
Loading...