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
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”…
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
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)
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?
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”
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?