Ajout de condition pour indicateur Divergence RSI

Viewing 15 posts - 31 through 45 (of 48 total)
  • Author
    Posts
  • #135064 quote
    Nicolas
    Keymaster
    Master

    Oui j’en trouve des dizaines sur la liste “Etats Unis” par exemple.

    #136370 quote
    Lyam
    Participant
    New

    salut et merci pour ce partage c’est exactment ce que je cherchais. J’ai installé le screener et l’indicateur  et quand le screener me trouve des actions l’indicateur ne  m’affiche aucune divergence. Est ce du au fait que j’utilise un graphe journalier  et hebdo ?

    #136384 quote
    Nicolas
    Keymaster
    Master

    vérifier si les paramètres des divergences sont les mêmes à la fois dans le screener et dans l’indicateur affiché.

    #155032 quote
    Noelopan1
    Participant
    New

    Bonjour à tous,

    La programmation ne faisant pas partie de mes compétences. L’idée est de créer un screener de divergences haussières et baissières, jusque là rien de compliqué il existe déjà, la particularité que je souhaite est d’anticiper la divergence, en fait d’être prévenu via le Screener lorsque la première bougie du point B de la divergence en RSI clôture sous la valeur de 30, ou au dessus de la valeur de 70. Je souhaite avec ce screener en daily pouvoir analyser techniquement les futures divergences, afin d’éliminer un maximum de mauvaises divergences, merci de votre aide et vous souhaite de bonnes fêtes de fin d’année, avec bcp de gains en bourse.

    Pascal

    #155905 quote
    Nicolas
    Keymaster
    Master

    @Noelopan1 En utilisant quelle version du code de divergences de ce sujet ? Merci.

    cerealkilleur thanked this post
    #210327 quote
    cerealkilleur
    Participant
    New

    Bonjour,

    Est il possible de modifier le screener? Je souhaites que la divergence soit validée par le screener après 2 clôtures une fois le 2ème pic identifié .

    Je souhaites également qu’il affiche uniquement les actions dont la capitalisation est supérieurs à 500 000 000€

    les paramètres doit être paramétrable depuis: // — settings.

    En vous souhaitant une bonne soirée

    //PRC_AnotherRSIdivergences | indicator
    //25.02.2019
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    
    // --- settings
    RSIp=14 //RSI period
    obLevel=70 //overbought level
    osLevel=30 //oversold level
    minimalBars=5 //minimal count of bars where RSI is ob or os
    minBarBetween = 4
    maxBarBetween = 16
    noLowerThan = 60
    noHigherThan = 40
    // --- end of settings
    
    
    irsi = rsi[RSIp]
    ob = irsi>obLevel
    os = irsi<osLevel
    
    
    if ob then
    if not ob[1] then
    maxrsi = 0
    maxprice = 0
    firstobbar = barindex
    endif
    maxrsi=max(maxrsi,irsi)
    maxprice=max(maxprice,high)
    if maxrsi<>maxrsi[1] then
    maxrsibar=barindex
    endif
    endif
    
    
    if os then
    if not os[1] then
    minrsi = 100
    minprice = close*100
    firstosbar = barindex
    endif
    minrsi=min(minrsi,irsi)
    minprice=min(minprice,low)
    if minrsi<>minrsi[1] then
    minrsibar=barindex
    endif
    endif
    
    
    divsell=0
    if irsi crosses under obLevel then
    //verif divergence
    barcount=maxrsibar-oldmaxrsibar
    div = maxprice>oldmaxprice and maxrsi<oldmaxrsi and (barindex-firstobbar)>=minimalBars and barcount>=minbarbetween and barcount<=maxbarbetween and summation[max(1,barcount)](irsi<noLowerThan)=0
    if div then
    //drawsegment(oldmaxrsibar,oldmaxrsi,maxrsibar,maxrsi) coloured(200,0,0)
    //drawarrowdown(maxrsibar,maxrsi) coloured(200,0,0)
    divsell=osLevel
    endif
    oldmaxrsi = maxrsi
    oldmaxprice = maxprice
    oldmaxrsibar = maxrsibar
    endif
    
    
    divbuy=0
    if irsi crosses over osLevel then
    //verif divergence
    barcount=minrsibar-oldminrsibar
    div = minprice<oldminprice and minrsi>oldminrsi and (barindex-firstosbar)>=minimalBars and barcount>=minbarbetween and barcount<=maxbarbetween and summation[max(1,barcount)](irsi>noHigherThan)=0
    if div then
    //drawsegment(oldminrsibar,oldminrsi,minrsibar,minrsi) coloured(0,200,0)
    //drawarrowup(minrsibar,minrsi) coloured(0,200,0)
    divbuy=osLevel
    endif
    oldminrsi = minrsi
    oldminprice = minprice
    oldminrsibar = minrsibar
    endif
    
    screener[divbuy or divsell](max(divbuy,divsell))
    #210737 quote
    cerealkilleur
    Participant
    New

    @Nicolas

    Bonjour,

    L’indicateur ne fonctionne pas comme je le souhaite, j’ai tenter de le magouiller à ma sauce mais je n’y arrive pas.

    Je l’ai décortiquer et j’aimerais qui fonctionne comme la description ci-dessous.

    Ci-dessous, un descriptif de comment je souhaites qu’il détecte les divergences.

    Définition divergence haussières :

    Le RSI arrive en zone de survente en dessous de osLevel pour lancer le processus de détection de divergence, le prix à prendre en compte est celui en clôture pour l’ensemble des divergences.

    Recherche du premier creux :

    Pour chaque barre ou les RSI est en survente, il mémorise minrsi et minprice jusqu’à  ce que minrsi et minprice soit le plus bas à la recherche du premier creux. L’index le plus bas est mémorisé dans minrsibar.

    Recherche du sommet :

    Le code vérifie si le RSI a augmenté par rapport à une barre antérieure et si le prix a augmenté, dans cette période le RSI doit rester sous le niveau  noLowerThan. Inclure une fonction de mémorisation du minimum RSI enregistré qui deviendra le bruit (pour divergence haussière), cette valeur devra rester au-dessus de noHigherThan.

    Recherche du deuxième creux :

    Les RSI baisse à nouveau en même temps que le prix, si les valeurs de prix sont plus basses que lors du premier creux alors les valeurs minrsi, minprice et minrsibar deviennent oldminrsi, oldminprice et oldminrsibar.

    Tant que les valeurs prix er RSI baissent les mémoriser dans minrsi et, minprice. L’index le plus bas est mémorisé dans minrsibar.

    Validation de la divergence haussière :

    Si minrsibar est supérieur à oldmin rsi et minprice est inférieur à oldminprice et que le bruit est inférieur à noHigherThan alors une divergence est possible. La divergence sera validée (divbuy) lorsque le RSI sera au-dessus de noHigherThan en clôture.

     

    Définition divergence baissière :

    Le RSI arrive en zone de surachat au-dessus de obLevel pour lancer le processus de détection de divergence, le prix à prendre en compte est celui en clôture pour l’ensemble des divergences.

    Recherche du premier sommet :

    Pour chaque barre ou les RSI est en surachat, il mémorise maxrsi et maxprice jusqu’à  ce que maxrsi et maxprice soit le plus haut à la recherche du premier sommet. L’index le plus haut est mémorisé dans maxrsibar.

    Recherche du creux :

    Le code vérifie si le RSI a baissé par rapport à une barre antérieure et si le prix a baissé, dans cette période le RSI doit rester au-dessus le niveau  noHigherThan. Inclure une fonction de mémorisation du maximum RSI enregistré qui deviendra le bruit (pour divergence haussière), cette valeur devra rester en dessous de noHigherThan.

    Recherche du deuxième sommet :

    Les RSI monte à nouveau en même temps que le prix, si les valeurs de prix sont plus hautes que lors du premier creux alors les valeurs maxrsi, maxprice et maxrsibar deviennent oldmaxrsi, oldmaxprice et oldmaxrsibar.

    Tant que les valeurs prix et RSI montent les mémoriser dans maxrsi et, maxprice. L’index le plus haut est mémorisé dans maxrsibar.

    Validation de la divergence baissière :

    Si maxrsibar est inérieur à oldmaxrsi et maxprice est supérieur à oldmaxprice et que le bruit est supérieur à noLowerThan alors une divergence est possible. La divergence sera validée (divsell) lorsque le RSI sera au-dessous de noLowerThan en clôture.

     

    Affichage des divergences: 

    Une petite barre rouge ou verte est affichée sous le RSI en cas de divergence validée ainsi que le trait qui relie les 2 sommets comme à l’heure actuelle.

     

    Je vous remercie d’avance pour votre aide

    #211156 quote
    LucasBest
    Participant
    Average

    Le code ci-dessous devrait répondre à ta demande. La divergence est dessinée dès qu’elle est détectée, la flèche verte ou rouge, une fois seulement que le RSI casse le “bruit”. La divergence devient caduque au bout de 12 bougies si la cassure du “bruit” n’a pas lieu…

    //PRC_AnotherRSIdivergences | indicator
    //25.02.2019
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    // --- settings
    RSIp=14 //RSI period
    obLevel=70 //overbought level
    osLevel=30 //oversold level
    minimalObBars=5 //minimal count of bars where RSI is ob or os
    minBarBetween = 4
    maxBarBetween = 16
    noLowerThan = 60
    noHigherThan = 40
    // --- end of settings
    
    once maxrsi1 = 0
    once minrsi1 = 100
    
    irsi = rsi[RSIp]
    ob = irsi>=obLevel
    os = irsi<=osLevel
    
    divbuy = 0
    divsell = 0
    
    if irsi < noLowerThan and BearDiv = 0 then
    maxrsi1 = 0
    endif
    
    if ob then
    if ob[1]=0 then
    firstobbar = barindex-1
    endif
    if irsi > maxrsi1 then
    maxrsi1=irsi
    maxprice1=high
    maxclose1=close
    maxrsibar1=barindex
    minrsi12=maxrsi1
    maxrsi2=0
    endif
    if maxrsi1>0 then
    lastobbar = barindex
    endif
    Endif
    
    if irsi < maxrsi1 and BearDiv = 0 then
    minrsi12=min(minrsi12,irsi)
    If minrsi12<>minrsi12[1] then
    minprice12=low
    minclose12=close
    minrsibar12=barindex
    maxrsi2=minrsi12
    endif
    endif
    if irsi > minrsi12 then
    maxrsi2=max(maxrsi2,irsi)
    If maxrsi2<>maxrsi2[1] then
    maxprice2=high
    maxclose2=close
    maxrsibar2=barindex
    endif
    endif
    
    
    If maxrsi1 > 0 then
    
    barcount=maxrsibar2-maxrsibar1
    
    BearDiv = (maxprice2>maxprice1 or maxclose2>maxclose1) and maxrsi2<maxrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and maxrsi2 > minrsi12
    //and (lastobbar-firstobbar)>=minimalObBars
    
    if BearDiv and irsi < maxrsi2 then
    drawsegment(maxrsibar1,maxrsi1,maxrsibar2,maxrsi2)style(line,2)coloured("tomato")
    drawsegment(minrsibar12,minrsi12,barindex,minrsi12)style(dottedline2,2)coloured("grey")
    RSISellLevel=minrsi12
    if irsi < minrsi12 then
    drawarrowdown(barindex,irsi+5) coloured(200,0,0)
    divsell = 20 // Divergence baissière activée
    maxrsi1 = 0
    BearDiv = 0
    endif
    if (Barindex - maxrsibar2)>12 then
    maxrsi1 = 0
    BearDiv = 0
    endif
    endif
    Endif
    
    if irsi > noHigherThan and BullDiv = 0 then
    minrsi1 = 100
    endif
    
    if os then
    if os[1]=0 then
    firstosbar = barindex-1
    endif
    if irsi < minrsi1 then
    minrsi1=irsi
    minprice1=low
    minclose1=close
    minrsibar1=barindex
    maxrsi12=minrsi1
    minrsi2=100
    endif
    if minrsi1<100 then
    lastosbar = barindex
    endif
    Endif
    
    if irsi > minrsi1 and BullDiv = 0 then
    maxrsi12=max(maxrsi12,irsi)
    If maxrsi12<>maxrsi12[1] then
    maxprice12=high
    maxclose12=close
    maxrsibar12=barindex
    minrsi2=maxrsi12
    endif
    endif
    if irsi < maxrsi12 then
    minrsi2=min(minrsi2,irsi)
    If minrsi2<>minrsi2[1] then
    minprice2=low
    minclose2=close
    minrsibar2=barindex
    endif
    endif
    
    
    If minrsi1 < 100 then
    
    barcount=minrsibar2-minrsibar1
    
    BullDiv = (minprice2<minprice1 or minclose2<minclose1) and minrsi2>minrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and minrsi2 < maxrsi12 //and (lastosbar-firstosbar)>=minimalObBars
    
    if BullDiv and irsi > minrsi2 then
    drawsegment(minrsibar1,minrsi1,minrsibar2,minrsi2)style(line,2)coloured("green")
    drawsegment(maxrsibar12,maxrsi12,barindex,maxrsi12)style(dottedline2,2)coloured("grey")
    RSIBuyLevel=maxrsi12
    if irsi > maxrsi12 then
    drawarrowup(barindex,irsi-5) coloured(0,200,0)
    divbuy = 20 // Divergence baissière activée
    minrsi1 = 100
    BullDiv = 0
    endif
    if (Barindex - minrsibar2)>12 then
    minrsi1 = 100
    BullDiv = 0
    endif
    endif
    Endif
    
    return irsi style(line,3) as "RSI",oblevel coloured(168,168,168) style(dottedline,2) as "overbought level", oslevel coloured(168,168,168) style(dottedline,2) as "oversold level", divsell coloured(200,0,0) style(histogram) as "sell divergence", divbuy coloured(0,200,0) style(histogram) as "buy divergence"
    
    Nicolas and cerealkilleur thanked this post
    #211284 quote
    cerealkilleur
    Participant
    New

    @<span class=”bbp-author-name”>LucasBest</span>

    Merci pour le code de l’indicateur, il correspond parfaitement à ce que je voulais.

    Pourquoi à tu mis un seuil d’invalidation de la divergence à 12 bougies? Tu as backtesté?

    En attendant, un grand merci car avec mes petites modifications, j’étais loin de la réalité du code fonctionnel.

    Reste plus qu’à faire le screener

    #211294 quote
    LucasBest
    Participant
    Average

    Non, le système d’invalidation n’est pas backtesté. Mais c’est possible de désactiver la fonction en mettant à la place de 12, un nombre de bougies plus important que le maxBarBetween.

    Dans ce code, les divergences sont activées soit par les plus haut/plus bas, soit par le prix de clôture : pas besoin de choisir, il prend en compte les deux.

    Si on veut plus de divergences qui se suivent, il faut désactiver les lignes 81, 85, 144, 148 (ne pas faire le reset du minrsi1 ou maxrsi1)

    J’ai aussi réactivé le test du nombre de bar minimal en survente surachat (que j’avais oublié de réactiver plus haut, ligne 72 et fin de ligne 135)

    Cela donne ça :

    //PRC_AnotherRSIdivergences | indicator
    //25.02.2019
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    // --- settings
    RSIp=14 //RSI period
    obLevel=65 //overbought level
    osLevel=35 //oversold level
    minimalObBars=5 //minimal count of bars where RSI is ob or os
    minBarBetween = 4
    maxBarBetween = 36
    noLowerThan = 55
    noHigherThan = 45
    // --- end of settings
    
    once maxrsi1 = 0
    once minrsi1 = 100
    
    irsi = rsi[RSIp]
    ob = irsi>=obLevel
    os = irsi<=osLevel
    
    divbuy = 0
    divsell = 0
    
    if irsi < noLowerThan and BearDiv = 0 then
    maxrsi1 = 0
    endif
    
    if ob then
    if ob[1]=0 then
    firstobbar = barindex-1
    endif
    if irsi > maxrsi1 then
    maxrsi1=irsi
    maxprice1=high
    maxclose1=close
    maxrsibar1=barindex
    minrsi12=maxrsi1
    maxrsi2=0
    endif
    if maxrsi1>0 then
    lastobbar = barindex
    endif
    Endif
    
    if irsi < maxrsi1 and BearDiv = 0 then
    minrsi12=min(minrsi12,irsi)
    If minrsi12<>minrsi12[1] then
    minprice12=low
    minclose12=close
    minrsibar12=barindex
    maxrsi2=minrsi12
    endif
    endif
    if irsi > minrsi12 then
    maxrsi2=max(maxrsi2,irsi)
    If maxrsi2<>maxrsi2[1] then
    maxprice2=high
    maxclose2=close
    maxrsibar2=barindex
    endif
    endif
    
    
    If maxrsi1 > 0 then
    
    barcount=maxrsibar2-maxrsibar1
    
    BearDiv = (maxprice2>maxprice1 or maxclose2>maxclose1) and maxrsi2<maxrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and maxrsi2 > minrsi12 and (lastobbar-firstobbar)>=minimalObBars
    
    if BearDiv and irsi < maxrsi2 then
    drawsegment(maxrsibar1,maxrsi1,maxrsibar2,maxrsi2)style(line,2)coloured("tomato")
    drawsegment(minrsibar12,minrsi12,barindex,minrsi12)style(dottedline2,2)coloured("grey")
    RSISellLevel=minrsi12
    if irsi < minrsi12 then
    drawarrowdown(barindex,irsi+5) coloured(200,0,0)
    divsell = 20 // Divergence baissière activée
    //maxrsi1 = 0
    BearDiv = 0
    endif
    if (Barindex - maxrsibar2)>12 then
    //maxrsi1 = 0
    BearDiv = 0
    endif
    endif
    Endif
    
    if irsi > noHigherThan and BullDiv = 0 then
    minrsi1 = 100
    endif
    
    if os then
    if os[1]=0 then
    firstosbar = barindex-1
    endif
    if irsi < minrsi1 then
    minrsi1=irsi
    minprice1=low
    minclose1=close
    minrsibar1=barindex
    maxrsi12=minrsi1
    minrsi2=100
    endif
    if minrsi1<100 then
    lastosbar = barindex
    endif
    Endif
    
    if irsi > minrsi1 and BullDiv = 0 then
    maxrsi12=max(maxrsi12,irsi)
    If maxrsi12<>maxrsi12[1] then
    maxprice12=high
    maxclose12=close
    maxrsibar12=barindex
    minrsi2=maxrsi12
    endif
    endif
    if irsi < maxrsi12 then
    minrsi2=min(minrsi2,irsi)
    If minrsi2<>minrsi2[1] then
    minprice2=low
    minclose2=close
    minrsibar2=barindex
    endif
    endif
    
    
    If minrsi1 < 100 then
    
    barcount=minrsibar2-minrsibar1
    
    BullDiv = (minprice2<minprice1 or minclose2<minclose1) and minrsi2>minrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and minrsi2 < maxrsi12 and (lastosbar-firstosbar)>=minimalObBars
    
    if BullDiv and irsi > minrsi2 then
    drawsegment(minrsibar1,minrsi1,minrsibar2,minrsi2)style(line,2)coloured("green")
    drawsegment(maxrsibar12,maxrsi12,barindex,maxrsi12)style(dottedline2,2)coloured("grey")
    RSIBuyLevel=maxrsi12
    if irsi > maxrsi12 then
    drawarrowup(barindex,irsi-5) coloured(0,200,0)
    divbuy = 20 // Divergence baissière activée
    //minrsi1 = 100
    BullDiv = 0
    endif
    if (Barindex - minrsibar2)>12 then
    //minrsi1 = 100
    BullDiv = 0
    endif
    endif
    Endif
    
    return irsi style(line,3) as "RSI",oblevel coloured(168,168,168) style(dottedline,2) as "overbought level", oslevel coloured(168,168,168) style(dottedline,2) as "oversold level", divsell coloured(200,0,0) style(histogram) as "sell divergence", divbuy coloured(0,200,0) style(histogram) as "buy divergence"
    
    #211302 quote
    cerealkilleur
    Participant
    New

    Je préfère avec reset du minrsi1 et activé maxrsi1.

    Ca fait une heure que je me bat pour le convertir en srceener. haaaa

    #211304 quote
    cerealkilleur
    Participant
    New

    j’ai toujours ces erreurs en image pj lorsque j’essai de faire le sreener, je sais pas pourquoi. j’ai ajouter quelques annotations pour que je puisse comprendre le code

    //PRC_AnotherRSIdivergences | indicator
    //25.02.2019
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    // --- paramètres modifiables
    RSIp=14 //RSI periode
    obLevel=70 //Niveau surachat
    osLevel=30 //Niveau survente
    minimalObBars=1 //Barres minimales zone survente ou surachat
    minBarBetween = 6 //Nbr mini de barres divergence
    maxBarBetween = 26 //Nbr maxi de barres divergence
    noLowerThan = 59 //Bruit div baissière
    noHigherThan = 41 //Bruit div haussière
    // --- end of settings
    
    once maxrsi1 = 0
    once minrsi1 = 100
    
    irsi = rsi[RSIp]
    ob = irsi>=obLevel
    os = irsi<=osLevel
    
    divbuy = 0
    divsell = 0
    
    //--Initialisation de recherche de divergence baissière--
    if irsi < noLowerThan and BearDiv = 0 then
    maxrsi1 = 0
    endif
    
    //Identification conditions de divergence baissière
    if ob then
    if ob[1]=0 then
    firstobbar = barindex-1
    endif
    //recherche 1er sommet
    if irsi > maxrsi1 then
    maxrsi1=irsi
    maxprice1=high
    maxclose1=close
    maxrsibar1=barindex
    minrsi12=maxrsi1
    maxrsi2=0
    endif
    if maxrsi1>0 then
    lastobbar = barindex
    endif
    Endif
    //recherche du creux
    if irsi < maxrsi1 and BearDiv = 0 then
    minrsi12=min(minrsi12,irsi)
    If minrsi12<>minrsi12[1] then
    minprice12=low
    minclose12=close
    minrsibar12=barindex
    maxrsi2=minrsi12
    endif
    endif
    //recheche 2ème sommet
    if irsi > minrsi12 then
    maxrsi2=max(maxrsi2,irsi)
    If maxrsi2<>maxrsi2[1] then
    maxprice2=high
    maxclose2=close
    maxrsibar2=barindex
    endif
    endif
    
    //Validation des conditions divergence baissière
    If maxrsi1 > 0 then
    
    barcount=maxrsibar2-maxrsibar1
    
    BearDiv = (maxprice2>maxprice1 or maxclose2>maxclose1) and maxrsi2<maxrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and maxrsi2 > minrsi12
    //and (lastobbar-firstobbar)>=minimalObBars
    
    if BearDiv and irsi < maxrsi2 then
    
    RSISellLevel=minrsi12
    if irsi < minrsi12 then
    
    divsell = 20 // Divergence baissière activée
    maxrsi1 = 0 // Reset, les div ne se suivent pas
    BearDiv = 0
    endif
    if (Barindex - maxrsibar2)>12 then //Invalidation divergence si cassure du bruit > 12
    maxrsi1 = 0 // Reset, les div ne se suivent pas
    BearDiv = 0
    endif
    endif
    Endif
    
    //--Initialisation de recherche de divergence haussière--
    if irsi > noHigherThan and BullDiv = 0 then
    minrsi1 = 100
    endif
    
    //Identification conditions de divergence haussière
    if os then
    if os[1]=0 then
    firstosbar = barindex-1
    endif
    //recherche 1er creux
    if irsi < minrsi1 then
    minrsi1=irsi
    minprice1=low
    minclose1=close
    minrsibar1=barindex
    maxrsi12=minrsi1
    minrsi2=100
    endif
    if minrsi1<100 then
    lastosbar = barindex
    endif
    Endif
    //recherche du sommet
    if irsi > minrsi1 and BullDiv = 0 then
    maxrsi12=max(maxrsi12,irsi)
    If maxrsi12<>maxrsi12[1] then
    maxprice12=high
    maxclose12=close
    maxrsibar12=barindex
    minrsi2=maxrsi12
    endif
    endif
    //recherche 2ème creux
    if irsi < maxrsi12 then
    minrsi2=min(minrsi2,irsi)
    If minrsi2<>minrsi2[1] then
    minprice2=low
    minclose2=close
    minrsibar2=barindex
    endif
    endif
    
    //Validation des conditions divergence haussière
    If minrsi1 < 100 then
    
    barcount=minrsibar2-minrsibar1
    
    BullDiv = (minprice2<minprice1 or minclose2<minclose1) and minrsi2>minrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and minrsi2 < maxrsi12 //and (lastosbar-firstosbar)>=minimalObBars
    
    if BullDiv and irsi > minrsi2 then
    
    RSIBuyLevel=maxrsi12
    if irsi > maxrsi12 then
    
    divbuy = 20 // Divergence baissière activée
    minrsi1 = 100 //Reset, les div ne se suivent pas
    BullDiv = 0
    endif
    if (Barindex - minrsibar2)>12 then //Invalidation divergence si cassure du bruit > 12
    minrsi1 = 100 //Reset, les div ne se suivent pas
    BullDiv = 0
    endif
    endif
    Endif
    
    screener[divbuy or divsell](max(divbuy,divsell))
    
    Capture.png Capture.png
    #211947 quote
    cerealkilleur
    Participant
    New

    Bonsoir, je relance le sujet, je ne comprends pas ces erreurs et comment les résoudre

    #211970 quote
    JC_Bywan
    Moderator
    Master

    Bjr,

    Si on prend par exemple la première: minimalobbars,

    on voit en ligne 142 que qulqu’un a supprimé son utilisation en toute fin de ligne, du coup elle est définie en ligne 10 mais ne sert pas à première vue (le code est long, j’ai peut-être raté un autre de son emploi…). Il faut supprimer (ou mettre en commentaires avec // devant) la ligne 10 minimalObBars=1 et cette erreur devrait disparaitre.

    Les autres semblant de même nature, il faut répéter la démarche pour chaque variable définie une fois mais non utilisée ensuite.

    #212055 quote
    Nicolas
    Keymaster
    Master

    Au pire tu fais un CALL de ton indicateur et tu testes les valeurs de divbuy et divsell (différentes de 0).

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

Ajout de condition pour indicateur Divergence RSI


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
Summary

This topic contains 47 replies,
has 5 voices, and was last updated by JC_Bywan
2 years, 10 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 04/16/2019
Status: Active
Attachments: 9 files
Logo Logo
Loading...