Codage bougie chandelier japonais Englobante

Viewing 15 posts - 1 through 15 (of 33 total)
  • Author
    Posts
  • #148825 quote
    charleddy
    Participant
    New

    Bonjour à tous,

    J’ai trouvé ce programme pour signaler les englobantes, cependant j’ai des messages d’erreur que je ne sais pas comment corriger.

    Merci pour votre aide.

    Bonne soirée.

    nom : “n”
    libellé : “Valeur maximale de la recherche”
    type : “entier”
    restriction : “>0”
    valeur par défaut : “6”

    If barindex > n-1 then
    Englobante = 0
    rouge = open[0] > close[0]
    if rouge then
    for i = 1 to n
    if open[0] > close and open[0] > open and close[0] < open and close[0] < close then
    englobante = -i
    rmin = min(rmin, englobante)
    else
    break
    endif
    next
    else
    
    for i = 1 to n
    if open[0] < close and open[0] < open and close[0] > open and close[0] > close then
    englobante = +i
    rmax = max(rmax, englobante)
    else
    break
    endif
    next
    endif
    endif
    
    BorneHaute = rmax
    BorneBasse = rmin
    Zero = 0
    
    return Englobante as "Englobante", BorneHaute as "Borne haute", BorneBasse as "Borne basse", zero as "Zéro"
    #148826 quote
    robertogozzi
    Moderator
    Master

    Publiez uniquement dans la langue du forum dans laquelle vous publiez. Par exemple, l’anglais uniquement dans les forums anglophones et le français uniquement dans les forums francophones.

    Merci 🙂

    #148861 quote
    Nicolas
    Keymaster
    Master

    Ce code n’est pas correct, les boucles sont inutiles et n’utilisent aucune de leurs itérations ?! c’est assez curieux..

    Bref, tu trouveras un code de bougie englobante ici :  The “Engulfing pattern” (indicator & screener)

    #148870 quote
    charleddy
    Participant
    New

    Désolé pour l’emplacement je n’ai pas fait attention…

    Merci pour le code, je vais l’essayer.

    Bonne journée.

    #148876 quote
    charleddy
    Participant
    New

    Je viens d’essayer et cela fonctionne.

    J’ai voulu modifier le code pour ne prendre en compte que les corps des bougies et non plus les mèches.

    Je n’y comprends rien car cela ne marche pas alors que j’ai juste remplacé les low et high par les close et open :

    ENGULFING = 0
    
    IF close > open AND close > close[1] AND open < open[1] THEN
    ENGULFING = 1
    ENDIF
    
    IF close < open AND close < close[1] AND open > open[1] THEN
    ENGULFING = -1
    ENDIF
    
    return ENGULFING

     

    Encore une fois, merci pour votre aide…

    #148877 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, merci de lire et appliquer les règles de publication dans le grand cadre jaune plus bas, en particulier ici l’usage du bouton “insert PRT code”, voir image ci-jointe si besoin de le localiser, merci.

    Inutile de reposter le code, je vais le reformater dans le message ci-dessus.

    Rules_InsertPRTcode-1.png Rules_InsertPRTcode-1.png
    #148880 quote
    charleddy
    Participant
    New

    OK merci

    #148881 quote
    JC_Bywan
    Moderator
    Master

    Pour que le corps englobe seul le corps précédent, dans ta modification il faut aussi tenir compte de qui est le plus haut et qui est le plus bas entre l’open précédente et la close précédente. En d’autres termes il faut remplacer high[1] par max(open[1],close[1]), et low[1] par min(open[1],close[1]).

    ENGULFING = 0
    
    IF close > open AND close > max(open[1],close[1]) AND open < min(open[1],close[1]) THEN
    ENGULFING = 1
    ENDIF
     
    IF close < open AND close < min(open[1],close[1]) AND open > max(open[1],close[1]) THEN
    ENGULFING = -1
    ENDIF
     
    return ENGULFING
    #148890 quote
    charleddy
    Participant
    New

    Merci c’est top…

    #148891 quote
    JC_Bywan
    Moderator
    Master

    Au passage, dans le code original avec mèches dans l’indicateur du lien post #148861, il n’y avait pas besoin de vérifier close>open (resp close<open) dans la mesure où si close>high[1] et open<low[1], forcément close>open… donc idem dans les modifs ci-dessus où on a remplacé mèche par corps, ceci suffit:

    ENGULFING = 0
    
    IF close > max(open[1],close[1]) AND open < min(open[1],close[1]) THEN
     ENGULFING = 1
    ENDIF
     
    IF close < min(open[1],close[1]) AND open > max(open[1],close[1]) THEN
     ENGULFING = -1
    ENDIF
     
    return ENGULFING
    #151417 quote
    Axel98
    Participant
    Average

    Bonjour Noobywan,

    Merci pour le code actuel 🙂

    Est-ce qu’il te serait possible d’améliorer le code en ajoutant un filtre sur le résultat pour ne sélectionner que les englobantes qui font suite à une série de bougies haussières ou baissières, bref à l’issue d’un mouvement haussier ou baissier de N bougies ?

    Merci d’avance

    #151460 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir, à moins d’autres critères, j’ai traduit haussière par close>close[1] et baissière par close<close[1], N paramétrable en début de code, dans le doute j’ai mis les 2 modes mèches et corps paramétrables chacun par 0 ou 1 en début de code, pour retourner un résultat +/-0.5 si corps ou +/-1 si mèches afin de pouvoir visualiser les 2 modes à la fois.

    // PRC Englobante avec filtre série de N bougies
    // 24.11.2020
    // Noobywan @ www.prorealcode.com
    // Sharing ProRealTime Knowledge
    // Forum ProBuilder user Axel98 request
    
    //Paramètres
    corps=1 // = 0 ou 1
    meches=1 // = 0 ou 1
    N=4 // nombre de bougies précédant l'englobante
    
    //Initialisation
    resultat=0
    englobante=0
    
    if close>max(open[1],close[1]) and open<min(open[1],close[1]) and corps then
    englobante=0.5
    endif
    if close>high[1] and open<low[1] and meches then
    englobante=1
    endif
    
    if close<min(open[1],close[1]) and open>max(open[1],close[1]) and corps then
    englobante=-0.5
    endif
    if close<low[1] and open>high[1] and meches then
    englobante=-1
    endif
    
    serieB = (summation[N](close<close[1])=N)
    serieH = (summation[N](close>close[1])=N)
    
    if englobante>=0.5 and serieB[1] then
    resultat=englobante // retourne 0.5 en mode corps, 1 en mode meches
    endif
    if englobante<=-0.5 and serieH[1] then
    resultat=englobante // retourne -0.5 en mode corps, -1 en mode meches
    endif
    
    return resultat
    #151468 quote
    Axel98
    Participant
    Average

    Bonsoir Noobiwan et un grand MERCI pour ton aide, c’est exactement ça 🙂 !!

    #172952 quote
    warningff
    Participant
    Average

    Super boulot malheureusement il ne détecte que la moitié des englobantes ^^

    #172979 quote
    Nicolas
    Keymaster
    Master

    Même avec le paramètre N=1 ?!

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

Codage bougie chandelier japonais Englobante


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
charleddy @charleddy Participant
Summary

This topic contains 32 replies,
has 7 voices, and was last updated by guillaumeaco
2 years, 8 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/28/2020
Status: Active
Attachments: 7 files
Logo Logo
Loading...