indicateur multitimeframes: indic mensuel en hebdo et indic hebdo en journalier

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #154492 quote
    damien5485
    Participant
    Junior

    Bonjour,

    Nouveau sur ce forum meme si je vous suit depuis quelques mois, j ai besoin de votre aide car je coince.

    J’ utilise une stratégie en 3 temps et je n’arrive pas faire apparaitre correctement mon indicateur mensuel en hebdo et mon indicateur hebdo en journalier. Les modes timeframe ne peuvent fonctionner pour certains parametres et la ça dépasse mes connaissances limités en la matière.

    Ce sont 2 indicateurs qui me permettent de voir la tendance et les consolidations et m autorisent des points d’ entrée sur mon indicateur journalier.

    Merci d’avance

    M-total-mensuel-force.itf H-total-hebdo-final.itf
    #154566 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, ceci à la fois un petit point de modération ET une astuce pour augmenter tes chances de recevoir une réponse d’un ou plusieurs membres:

    Il est préférable de suivre les règles de publication du grand cadre jaune ci-dessous en utilisant le bouton “insert prt code” pour mettre ton code formatté au sein de ton message. Non pas qu’il y ait une interdiction quelconque aux membres de te répondre si tu ne le fais pas, mais tout simplement de façon pragmatique la plupart des quelques uns  qui aident régulièrement le font le plus souvent juste en lisant le code, tu les aides à être aidé en leur mettant le listing du code sous les yeux, ils ne vont pas passer du temps supplémentaire à charger des itf à chaque fois qu’il y a une question, ni saturer leur liste d’indics ou éviter de la saturer en se souvenant qu’il faut effacer tel ou tel code (au risque de le réinstaller si le topic reprend). Donner un itf peut être pratique si un listing est beaucoup trop long (mais dans ce cas il faut le préciser) ou dans les topics de partages de versions de code. Mais pas dans les topics de debugging.

    De plus les conversations de debugging tournent souvent en “à la ligne 10 il faut faire X”, “à la ligne 23 enlever Y”, etc… et seraient illisibles pour les autres si le listing du code n’a pas été inclu avec le bouton pilier essentiel de ce site  “insert prt code”…

    Rules_InsertPRTcode-3.png Rules_InsertPRTcode-3.png
    #154658 quote
    damien5485
    Participant
    Junior

    Ok je ne savais pas merci pour le renseignement

    ci joint l indicateur mensuel que je souhaite voir en hebdo

    na=5
    x=0.005
    c3=((highest[na](close)[1]+lowest[na](close)[1])/2)+(((highest[na](close)[1]+lowest[na](close)[1])/2)*x)
    n=5
    xa=0.005
    c91=((((highest[n](close)+lowest[n](close))/2)+(((highest[n](close)+lowest[na](close))/2)*xa)))>((highest[n](close)[1]+lowest[n](close)[1])/2) and (close>c3)
    c92=((((highest[n](close)+lowest[n](close))/2)+(((highest[n](close)+lowest[na](close))/2)*xa)))<=((highest[n](close)[1]+lowest[n](close)[1])/2) or (close<=c3)
    
    indicator6 = SuperTrend[1.4,10]
    indicator7 = SuperTrend[1.6,10]
    c14 = indicator6 <= close
    c18 = indicator6 > close
    
    periodmoy=40
    periodrsi=11
    coeff=0.55
    monrsi=rsi[periodrsi](close)
    
    ind = square(monrsi)
    ind1 = average[periodmoy](monrsi)
    ind2 = average[periodmoy](ind)
    
    variance = ind2 - square(ind1)
    ecart = sqrt(variance)
    upband = ind1 + coeff*ecart
    downband = ind1 - coeff*ecart
    
    c12 = (monrsi>downband)
    c11 = (monrsi<downband)
    
    periodmoy1=20
    periodrsi1=14
    coeff1=1.4
    monrsi1=rsi[periodrsi1](close)
    
    ind88 = square(monrsi1)
    ind89 = average[periodmoy1](monrsi1)
    ind90 = average[periodmoy1](ind88)
    
    variance1 = ind90 - square(ind89)
    ecart1 = sqrt(variance1)
    upband1 = ind89 + coeff1*ecart1
    downband1 = ind89 - coeff1*ecart1
    
    c88 = (monrsi1>upband1)
    c89 = (monrsi1<upband1)
    
    d=0.5
    e=5
    indicator2 = Average[e](close)+(d*std[e](close))
    c5 = (close >= indicator2)
    c6 = (close < indicator2)
    
    c10=exponentialaverage[13](close)
    c23=close>=c10
    c24=close<c10
    
    indicator12 = 25*BollingerBandWidth[5](close)
    c27= ((indicator12 <2) and (indicator12 >1.6))
    c25 = (indicator12 >3) or (indicator12 > indicator12[1])
    c26 = ((indicator12 <=3) and (indicator12 <= indicator12[1])) or c27
    
    if (c18) and (c92 or c6 or c26 or c11 or c24) then
    r=0
    g=0
    b=0
    
    elsif (c18) and (c91 and c5 and c25 and c23 and c12) then
    r=125
    g=0
    b=125
    
    elsif (c14)and (c92 or c6 or c26 or c11 or c24) then
    r=255
    g=0
    b=0
    
    elsif (c14) and (c91 and c5 and c25 and c23 and c12) and c88 then
    r=0
    g=0
    b=255
    
    elsif (c14) and (c91 and c5 and c25 and c23 and c12) and c89 then
    r=0
    g=255
    b=0
    
    
    
    endif
    
    return 1 coloured(r,g,b) style(histogram,2)

    et ci joint l’ indicateur hebdo que je souhaiterait voir en journalier

    indicator1 = SuperTrend[3,10]
    //indicator7 = SuperTrend[3,10]
    c1 = indicator1 <= close
    c2 = indicator1 > close
    
    //bollinger
    indicator2 = Average[13](close)+(0.7*std[13](close))
    c3 = (close >= indicator2)
    c4 = (close < indicator2)
    
    //cycle
    indicator3 = Cycle(close)
    c5 = (indicator3 >= -1)
    c6 = (indicator3 < -1)
    
    //dyn down
    periodmoy=40
    periodrsi=11
    coeff=0.1
    monrsi=rsi[periodrsi](close)
    
    a = square(monrsi)
    b = average[periodmoy](monrsi)
    c = average[periodmoy](a)
    
    variance = c - square(b)
    ecart = sqrt(variance)
    upband = b + coeff*ecart
    downband = b - coeff*ecart
    
    c7 = (monrsi>downband)
    c8 = (monrsi<downband)
    
    //dyn up
    periodmoy1=20
    periodrsi1=14
    coeff1=0.2
    monrsi1=rsi[periodrsi1](close)
    
    f = square(monrsi1)
    g = average[periodmoy1](monrsi1)
    i = average[periodmoy1](f)
    
    variance1 = i - square(g)
    ecart1 = sqrt(variance1)
    upband1 = g + coeff1*ecart1
    downband1 = g - coeff1*ecart1
    
    c9 = (monrsi1>upband1)
    c10 = (monrsi1<upband1)
    
    //high
    na=5
    x=0.008
    c11=((highest[na](close)[1]+lowest[na](close)[1])/2)+(((highest[na](close)[1]+lowest[na](close)[1])/2)*x)
    n=5
    xa=0.008
    c12=((((highest[n](close)+lowest[n](close))/2)+(((highest[n](close)+lowest[na](close))/2)*xa)))>((highest[n](close)[1]+lowest[n](close)[1])/2) and (close>c11)
    c13=((((highest[n](close)+lowest[n](close))/2)+(((highest[n](close)+lowest[na](close))/2)*xa)))<=((highest[n](close)[1]+lowest[n](close)[1])/2) or (close<=c11)
    
    //macd
    indicator12 = MACDline[13,21,1](close)
    indicator13 = MACDline[21,34,1](close)
    indicator15 = MACDline[34,144,1](close)
    indicator16 = MACDline[5,9,4](close)
    indicator17 = MACDSignal[5,9,4](close)
    indicator18 = MACDline[4,7,3](close)
    indicator19 = MACDSignal[4,7,3](close)
    
    c14 = (indicator12 >= indicator12[1]) and (indicator13 >= indicator13[1]) and (indicator15 >= indicator15[1] and (indicator16 >= indicator17) and (indicator18 >= indicator19))
    c15 = (indicator12 < indicator12[1]) or (indicator13 < indicator13[1]) or (indicator15 < indicator15[1]) or (indicator16 < indicator17) or (indicator18 < indicator19)
    
    //stoch
    indicator20 = Stochastic[5,2](close)
    c16 = (indicator20 >= 50)
    c17 = (indicator20 < 50)
    
    //total
    c18=c14 and c12 and c9 and c7 and c5 and c3
    c19=c15 or c13 or c10 or c8 or c6 or c4
    
    if c2 and (c19 or c17) then
    r=0
    g=0
    b=0
    
    elsif c2 and c18 and c16 then
    r=125
    g=0
    b=125
    
    elsif c1 and c19 and c17 then
    r=255
    g=0
    b=0
    
    elsif c1 and c19 and c16 then
    r=255
    g=204
    b=0
    
    elsif c1 and c18 and c16 then
    r=0
    g=0
    b=255
    
    elsif c1 and c18 and c17 then
    r=0
    g=255
    b=0
    
    endif
    
    return 1 coloured(r,g,b) style(histogram,2)

    Merci d’ avance pour votre aide car il y a certaines parties qui va au dela de mes connaissances notament la partie concernant le rsi dynamic ou encore la partie ou je calcul une valeur moyenne sur les x derniers cours … les fonctions timeframe ne peut fonctionner pour cela

    #154708 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, commençons par celui hebdo en journalier, si on en crée une copie dans un 2e indicateur, et que dans ce 2e (nommé différemment), on ajoute au tout début cette ligne:

    timeframe(weekly)

    afin que l’intégralité du code soit traitée comme étant de l’hebdo, et seul l’affichage en fin de journée via ligne return reflète l’état de l’hebdo en cours, alors il fonctionne, avec un affichage logiquement plus dynamique dans cette version mtf sur le journalier (c’est à dire ne pas s’attendre à ce que les 5 jours de la semaine soient tous de la même couleur que la clôture hebdo)

    On peut avoir une version moins dynamique qui se contente de mettre à jour en fin de semaine pour les jours de la semaine suivante en choisissant de rajouter updateonclose:

    timeframe(weekly,updateonclose)
    #154729 quote
    damien5485
    Participant
    Junior

    Bonjour,

    Je te remercie noobywan pour ta réponse. Mais le problème que j ai c est la partie que je nomme “high” la fonction timeframe ne peut marcher pour cette partie.

    Je pense qu il faut la programmer un peu comme l on programme les points pivots hedbo en vue journalière non? La fonction timeframe ne prendra pas le plus haut plus bas des x dernières semaines mais le plus haut plus bas des x derniers jours nn?

    #154738 quote
    JC_Bywan
    Moderator
    Master

    Quand tu as ce genre de doute, il faut visualiser dans un code plus simple qui te permet de retourner l’occurrence précédente des close les plus hautes sur ton na=5 (et ça suffirait puisque par extension si c’est bon, alors ça le sera aussi tes lowest et pour tes c11 c12, c13 de la partie high du code):

    timeframe(weekly)
    na=5
    check=highest[na](close)[1]
    
    return check

    mis sur un graphe journalier, te retourne un 5611.7 de maintenant jusqu’au 29/11, soit bien plus que 5 jours, et comme le retourne l’hebdo depuis la semaine49 (avec la clôture de la semaine 48 car [1]…)

    Donc, pas de souci à mettre l’intégralité de ton code que tu faisais tourner avant en hebdo, au sein d’un timeframe(weekly) pour qu’il fonctionne en “hebdo sur le journalier”

    #154745 quote
    damien5485
    Participant
    Junior

    Ok ben je te remercie je ne sais pas pourquoi j était persuadé que ça ne marcherait pas si simplement.

    Par contre je ne sais pas pourquoi je dois toujours cliquer 2 ou 3 fois sur le même indice ou la même action pour que les indicateurs en timeframe soit “juste” sinon ça me met n importe quoi?

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

indicateur multitimeframes: indic mensuel en hebdo et indic hebdo en journalier


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
damien5485 @damien5485 Participant
Summary

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

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 12/19/2020
Status: Active
Attachments: 3 files
Logo Logo
Loading...