Screener Basado en Varios Momentos de Tiempo

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #40357 quote
    Rafa
    Participant
    Senior

    Hola,

    Me he iniciado a la programación de Screeners. Estoy construyendo un Screener basado en Ichimoku. Una de las reglas del Ichimoku es comparar espacios temporales, es decir, Si opero en 15 minutos, he de comprobar los gráficos de 1 hora y 4 horas.

    En concreto la estrategia es la siguiente: Rotura de Kumo en 15 minutos. Supongamos que es una rotura alcista. Chikou y precio rompen la nube hacia arriba. Necesito saber cómo programar que el screener compruebe 1 hora y 4 horas de tal manera que el precio esté por encima de la nube (ya que se trata de una rotura alcista)

    He intentado varias opciones pero no funcionan.

    El código de esta estrategia lo pongo ahora. Funciona muy bien sin comprobación con otros espacios temporales.

    Muchas gracias por adelantado

    Rafa

    //****************************************************************
    //*  Estrategia Rotura de Kumo Completa
    //*  Autor: Rafa Barreto: Ayuda Nicolás
    //****************************************************************
    
    // ===== VALORES MODIFICABLES =====
    
    //Diferencia = 0.0001
    
    // -- Construyendo la graficación Ichimoku --
    // -- Valores NO Standar: Fibonacci: 8; 21; 55 --
    // -- Valores NO Standar: Actuales : 7;22;44
    // -- Valores Standar: 9; 26; 52
    
    PeriodoCorto = 7
    PeriodoMedio = 22
    PeriodoLargo = 44
    
    Tenkan = (highest[PeriodoCorto](High) + lowest[PeriodoCorto](Low)) / 2
    Kijun = (highest[PeriodoMedio](High) + lowest[PeriodoMedio](Low)) / 2
    SpanA = (TenKan[PeriodoMedio] + Kijun[PeriodoMedio]) / 2
    SpanB = (highest[PeriodoLargo](High[PeriodoMedio]) + lowest[PeriodoLargo](Low[PeriodoMedio])) / 2
    Chikou = Close
    
    // ===== A partir de aquí no se toca el código =====
    
    // --- Condiciones de Posiciones Largas ---
    
    Condicion1Larga = (close  > SpanA) AND (close  > SpanB)
    //Condicion2Larga = (Tenkan > SpanA) AND (Tenkan > SpanB)
    //Condicion3Larga = (Kijun  > SpanA) AND (Kijun  > SpanB)
    //Condicion4Larga = (Chikou > SpanA) AND (Chikou > SpanB)
    Condicion5Larga   = (SpanA[PeriodoMedio] > SpanB[PeriodoMedio])
    Condicion6Larga   = (SpanA[PeriodoMedio] < SpanB[PeriodoMedio])
    //Condicion7Larga   = Close < (SpanA + (SpanA * Diferencia))
    
    RoturaLargoOpcion1 = Chikou CROSSES OVER SpanA[PeriodoMedio] AND (Condicion1Larga AND Condicion5Larga )
    
    RoturaLargoOpcion2 = Chikou CROSSES OVER SpanB[PeriodoMedio] AND (Condicion1Larga AND Condicion6Larga )
     
    // -- Condiciones de Posiciones Cortas ---
    
    Condicion1Corta = (close  < SpanA) AND (close  < SpanB)
    //Condicion2Corta = (Tenkan < SpanA) AND (Tenkan < SpanB)
    //Condicion3Corta = (Kijun  < SpanA) AND (Kijun  < SpanB)
    //Condicion4Corta = (Chikou < SpanA) AND (Chikou < SpanB)
    Condicion5Corta   = (SpanA[PeriodoMedio] < SpanB[PeriodoMedio])
    Condicion6Corta   = (SpanA[PeriodoMedio] > SpanB[PeriodoMedio])
    //Condicion7Corta   = Close > (SpanA - (SpanA * Diferencia))
    
    RoturaCortoOpcion1 = Chikou CROSSES UNDER SpanA[PeriodoMedio] AND (Condicion1Corta AND Condicion5Corta)
    
    RoturaCortoOpcion2 = Chikou CROSSES UNDER SpanB[PeriodoMedio] AND (Condicion1Corta AND Condicion6Corta)
    
    // ===== SCREENER =====
    
    SCREENER [RoturaLargoOpcion1 OR RoturaLargoOpcion2 OR RoturaCortoOpcion1 OR RoturaCortoOpcion2]
    
    #40602 quote
    Rafa
    Participant
    Senior

    Por qué esto no es válido o no funciona?

    No es el programa entero después de esto vendrían las condiciones en corto (igual pero al revés) al final SCREENER [CruceLargo OR CruceCorto]

    Es un trozo del screener para saber qué falla

    Abrazos

    Rafa

     
    // ===== VALORES MODIFICABLES =====
     
    ValorRSI = 10
    ValorEMA = 10
     
    // -- Construyendo la graficación Ichimoku --
    // -- Valores NO Standar: Fibonacci: 8; 21; 55 --
    // -- Valores NO Standar: Actuales : 7;22;44
    // -- Valores Standar: 9; 26; 52
     
    PeriodoCorto = 7
    PeriodoMedio = 22
    PeriodoLargo = 44
     
    Tenkan = (highest[PeriodoCorto](High) + lowest[PeriodoCorto](Low)) / 2
    Kijun = (highest[PeriodoMedio](High) + lowest[PeriodoMedio](Low)) / 2
    SpanA = (TenKan[PeriodoMedio] + Kijun[PeriodoMedio]) / 2
    SpanB = (highest[PeriodoLargo](High[PeriodoMedio]) + lowest[PeriodoLargo](Low[PeriodoMedio])) / 2
    Chikou = Close
     
    // ===== A partir de aquí no se toca el código =====
     
    // --- Condiciones de Posiciones Largas ---
     
    Condicion1Larga = (close  > SpanA) AND (close  > SpanB)
    Condicion2Larga = (Tenkan > SpanA) AND (Tenkan > SpanB)
    Condicion3Larga = (Kijun  > SpanA) AND (Kijun  > SpanB)
    Condicion4Larga = (Chikou > SpanA) AND (Chikou > SpanB)
    
    TIMEFRAME(4 HOURS)
    
    Condicion5Larga = (Close  > SpanA) AND (Close > SpanB)
    
    TIMEFRAME(1 HOURS)
    
    Condicion6Larga = (Close > SpanA) AND (Close > SpanB)
    
    TIMEFRAME(15 MINUTES)
     
    CruceLargo = Tenkan CROSSES OVER Kijun AND (Condicion1Larga AND Condicion2Larga AND Condicion3Larga AND Condicion4Larga AND Condicion5Larga AND Condicion6Larga)
    
    #41432 quote
    Rafa
    Participant
    Senior

    Dear Nicolas

    Why this code is not working?

    Best regards

    Rafa

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

Screener Basado en Varios Momentos de Tiempo


Soporte ProScreener

New Reply
Author
author-avatar
Rafa @rafa Participant
Summary

This topic contains 2 replies,
has 1 voice, and was last updated by Rafa
8 years, 6 months ago.

Topic Details
Forum: Soporte ProScreener
Language: Spanish
Started: 07/11/2017
Status: Active
Attachments: No files
Logo Logo
Loading...