indicateur multitimeframes: indic mensuel en hebdo et indic hebdo en journalier
Forums › ProRealTime forum Français › Support ProBuilder › indicateur multitimeframes: indic mensuel en hebdo et indic hebdo en journalier
- This topic has 6 replies, 2 voices, and was last updated 4 years ago by damien5485.
-
-
12/19/2020 at 11:27 PM #154492
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
12/20/2020 at 12:43 PM #154566Bonjour, 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”…
12/20/2020 at 8:46 PM #154658Ok je ne savais pas merci pour le renseignement
ci joint l indicateur mensuel que je souhaite voir en hebdo
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192na=5x=0.005c3=((highest[na](close)[1]+lowest[na](close)[1])/2)+(((highest[na](close)[1]+lowest[na](close)[1])/2)*x)n=5xa=0.005c91=((((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 <= closec18 = indicator6 > closeperiodmoy=40periodrsi=11coeff=0.55monrsi=rsi[periodrsi](close)ind = square(monrsi)ind1 = average[periodmoy](monrsi)ind2 = average[periodmoy](ind)variance = ind2 - square(ind1)ecart = sqrt(variance)upband = ind1 + coeff*ecartdownband = ind1 - coeff*ecartc12 = (monrsi>downband)c11 = (monrsi<downband)periodmoy1=20periodrsi1=14coeff1=1.4monrsi1=rsi[periodrsi1](close)ind88 = square(monrsi1)ind89 = average[periodmoy1](monrsi1)ind90 = average[periodmoy1](ind88)variance1 = ind90 - square(ind89)ecart1 = sqrt(variance1)upband1 = ind89 + coeff1*ecart1downband1 = ind89 - coeff1*ecart1c88 = (monrsi1>upband1)c89 = (monrsi1<upband1)d=0.5e=5indicator2 = Average[e](close)+(d*std[e](close))c5 = (close >= indicator2)c6 = (close < indicator2)c10=exponentialaverage[13](close)c23=close>=c10c24=close<c10indicator12 = 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 c27if (c18) and (c92 or c6 or c26 or c11 or c24) thenr=0g=0b=0elsif (c18) and (c91 and c5 and c25 and c23 and c12) thenr=125g=0b=125elsif (c14)and (c92 or c6 or c26 or c11 or c24) thenr=255g=0b=0elsif (c14) and (c91 and c5 and c25 and c23 and c12) and c88 thenr=0g=0b=255elsif (c14) and (c91 and c5 and c25 and c23 and c12) and c89 thenr=0g=255b=0endifreturn 1 coloured(r,g,b) style(histogram,2)et ci joint l’ indicateur hebdo que je souhaiterait voir en journalier
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114indicator1 = SuperTrend[3,10]//indicator7 = SuperTrend[3,10]c1 = indicator1 <= closec2 = indicator1 > close//bollingerindicator2 = Average[13](close)+(0.7*std[13](close))c3 = (close >= indicator2)c4 = (close < indicator2)//cycleindicator3 = Cycle(close)c5 = (indicator3 >= -1)c6 = (indicator3 < -1)//dyn downperiodmoy=40periodrsi=11coeff=0.1monrsi=rsi[periodrsi](close)a = square(monrsi)b = average[periodmoy](monrsi)c = average[periodmoy](a)variance = c - square(b)ecart = sqrt(variance)upband = b + coeff*ecartdownband = b - coeff*ecartc7 = (monrsi>downband)c8 = (monrsi<downband)//dyn upperiodmoy1=20periodrsi1=14coeff1=0.2monrsi1=rsi[periodrsi1](close)f = square(monrsi1)g = average[periodmoy1](monrsi1)i = average[periodmoy1](f)variance1 = i - square(g)ecart1 = sqrt(variance1)upband1 = g + coeff1*ecart1downband1 = g - coeff1*ecart1c9 = (monrsi1>upband1)c10 = (monrsi1<upband1)//highna=5x=0.008c11=((highest[na](close)[1]+lowest[na](close)[1])/2)+(((highest[na](close)[1]+lowest[na](close)[1])/2)*x)n=5xa=0.008c12=((((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)//macdindicator12 = 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)//stochindicator20 = Stochastic[5,2](close)c16 = (indicator20 >= 50)c17 = (indicator20 < 50)//totalc18=c14 and c12 and c9 and c7 and c5 and c3c19=c15 or c13 or c10 or c8 or c6 or c4if c2 and (c19 or c17) thenr=0g=0b=0elsif c2 and c18 and c16 thenr=125g=0b=125elsif c1 and c19 and c17 thenr=255g=0b=0elsif c1 and c19 and c16 thenr=255g=204b=0elsif c1 and c18 and c16 thenr=0g=0b=255elsif c1 and c18 and c17 thenr=0g=255b=0endifreturn 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
12/21/2020 at 11:32 AM #154708Bonjour, 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:
1timeframe(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:
1timeframe(weekly,updateonclose)12/21/2020 at 1:36 PM #154729Bonjour,
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?
12/21/2020 at 2:08 PM #154738Quand 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):
12345timeframe(weekly)na=5check=highest[na](close)[1]return checkmis 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”
12/21/2020 at 3:33 PM #154745Ok 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?
-
AuthorPosts
Find exclusive trading pro-tools on