Créer un screener basé sur CCI correction + PRC_Trendilio

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #227184 quote
    francis59
    Participant
    New

    Bonjour,

    N’ayant aucune connaissance en code, serait-il possible et intéressant? de créer un screener en croisant ces 2 critères (cf pièces jointes) :

    • CCI-correction : prendre comme paramètre lorsque l’histogramme est vert (tendance haussière)
    • PRC-Trendilio : prendre comme paramètre lorsque la courbe sort de la zone de survente et croise l’autre à la hausse (pièce jointe image_trendilio)

    Si par hasard ce n’est pas pertinent, ne perdez pas de temps avec ma demande sinon, merci d’avance pour votre aide et n’hésitez pas à compléter avec des idées supplémentaires.

    Bonne journée

    PRC_Trendilio.itf CCI-Correction.itf prc-image_trendilio.png prc-image_trendilio.png
    #227242 quote
    Nicolas
    Keymaster
    Master

    Bonjour,

    Pour créer un screener qui croise les critères de la “CCI-correction” et du “PRC-Trendilio” en ProBuilder, nous devons intégrer les deux logiques dans un seul script ProScreener. Voici un exemple de code qui pourrait correspondre à votre demande :

    // Paramètres CCI
    L = 14 // Long terme CCI
    B = 9  // Court terme CCI
    
    // Calcul du CCI pour les deux périodes
    CCL = CCI[L]
    CCS = CCI[B]
    
    // Logique pour la CCI-correction
    LASTUP = 0
    LASTDW = 0
    UP = 0
    DW = 0
    
    IF CCL > 100 THEN
        LASTUP = 1
        LASTDW = 0
    ELSIF CCL < -100 THEN
        LASTDW = -1
        LASTUP = 0
    ENDIF
    
    IF CCS > 100 THEN
        UP = 1
        DW = 0
    ELSIF CCS < -100 THEN
        DW = -1
        UP = 0
    ENDIF
    
    // Paramètres PRC-Trendilio
    src = close // Source is Close
    smooth = 1 // Smoothing
    length = 50 // ALMA Lookbackperiod
    offset = 0.85 // ALMA Offset
    sigma = 6 // ALMA Sigma
    bmult = 1.0 // Band Multiplier
    blen = 20 // Custom Band Length
    
    // Calcul de PRC-Trendilio
    WtdSum = 0
    CumWt  = 0
    FOR k = 0 TO length - 1 DO
        Wtd = exp(-((k-m)*(k-m))/(2*s*s))
        WtdSum = WtdSum + Wtd * (src[length - 1 - k] - src[length - k]) / (src[length - 1 - k] * 100)
        CumWt = CumWt + Wtd
    NEXT
    
    avpch = WtdSum / CumWt
    rms = bmult * sqrt(summation[blen](avpch * avpch) / blen)
    
    cdir = 0
    IF avpch > rms THEN
        cdir = 1
    ELSIF avpch < -rms THEN
        cdir = -1
    ENDIF
    
    // Condition finale pour le screener
    Condition = (LASTUP = 1 OR UP = 1) AND cdir = 1
    
    SCREENER[Condition]

    Ce code combine les logiques de la “CCI-correction” et du “PRC-Trendilio”. Il vérifie si les conditions de la CCI-correction (tendance haussière) et du PRC-Trendilio (la courbe sortant de la zone de survente et croisant à la hausse) sont remplies simultanément.

    #227258 quote
    francis59
    Participant
    New

    Bonjour Nicolas,

    Merci pour votre réponse rapide. Lorsque j’essaie le code, il y a un message d’alerte : “veuillez définir les variables : m, s”

    Auriez vous une idée de solution? 🙂

    D’avance merci et bonne soirée

    #227477 quote
    francis59
    Participant
    New

    Bonjour Nicolas,

    Désolé de vous déranger à nouveau sur ce même sujet mais je viens d’essayer de modifier et de paramétrer “m” et “s” avec (demande #227258):

    m = (Offset * (length – 1))
    s = length/Sigma

    mais j’ai ensuite un nouveau message d’alerte :

    “erreur de syntaxe :

    la variable suivante n’est pas utilisée dans le programme : lastdw

    la variable suivante n’est pas utilisée dans le programme : dw

    la variable suivante n’est pas utilisée dans le programme : smooth”

    Auriez-vous une idée de solution?

    D’avance merci pour votre aide.

    Bonne journée 🙂

    #227763 quote
    francis59
    Participant
    New

    Bonjour Nicolas,

    Désolé de vous déranger à nouveau sur ce sujet mais j’ai essayé de modifier le code avec mes “moyens” de compréhension mais j’ai l’impression que ce n’est pas encore tout à fait le bon code. Pourriez vous vérifier si le code suivant est OK ?

    // Paramètres CCI
    L = 14 // Long terme CCI
    B = 9 // Court terme CCI

    // Calcul du CCI pour les deux périodes
    CCL = CCI[L]
    CCS = CCI[B]

    // Logique pour la CCI-correction
    LASTUP = 0
    UP = 0

    IF CCL > 100 THEN
    LASTUP = 1

    ELSIF CCL < -100 THEN
    LASTUP = 0
    ENDIF

    IF CCS > 100 THEN
    UP = 1

    ELSIF CCS < -100 THEN

    UP = 0
    ENDIF
    // Paramètres PRC-Trendilio
    src = close // Source is Close
    length = 50 // ALMA Lookbackperiod
    offset = 0.85 // ALMA Offset
    sigma = 6 // ALMA Sigma
    bmult = 1.0 // Band Multiplier
    blen = 20 // Custom Band Length
    m = (Offset * (length – 1))
    s = length/Sigma
    // Calcul de PRC-Trendilio
    WtdSum = 0
    CumWt = 0
    FOR k = 0 TO length – 1 DO
    Wtd = exp(-((k-m)*(k-m))/(2*s*s))
    WtdSum = WtdSum + Wtd * (src[length – 1 – k] – src[length – k]) / (src[length – 1 – k] * 100)
    CumWt = CumWt + Wtd
    NEXT

    avpch = WtdSum / CumWt
    //avpch = ta.alma(pch, length, offset, sigma)
    rms = bmult * sqrt(summation[blen](avpch * avpch) / blen)

    cdir = 0
    IF avpch > rms THEN
    cdir = 1
    ELSIF avpch < -rms THEN
    cdir = -1
    ENDIF

    // Condition finale pour le screener
    Condition = (LASTUP = 1 OR UP = 1) AND cdir = 1

    SCREENER[Condition]

     

    D’avance merci et bonne journée

    #228455 quote
    francis59
    Participant
    New

    Bonjour Nicolas,

    Veuillez m’excuser de vous relancer concernant ce sujet mais auriez-vous la possibilité de vérifier le code proposé dans ma dernière demande? 🙂

    D’avance merci pour votre aide.

    Bonne journée

    #228663 quote
    francis59
    Participant
    New

    Bonjour,

    Le sujet peut être fermé.

    Merci 🙂

    Bonne journée

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

Créer un screener basé sur CCI correction + PRC_Trendilio


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
francis59 @francis51 Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by francis59
2 years ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 01/31/2024
Status: Active
Attachments: 3 files
Logo Logo
Loading...