Ajout d’une donnée en timeframe Daily sur un timeframe 4h
Forums › ProRealTime forum Français › Support ProBuilder › Ajout d’une donnée en timeframe Daily sur un timeframe 4h
- This topic has 19 replies, 3 voices, and was last updated 2 years ago by finplus.
-
-
04/03/2022 at 2:51 PM #191109
Bonjour,
j’avais posé cette question pour un autre indicateur et la réponse apportée a marché en ajoutant à l’indicateur existant ce code : timeframe(Daily,updateonclose).
Je voudrais faire pareil sur l’indicateur suivant :
//PRC_Supertrend+CCI | indicator1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859//PRC_Supertrend+CCI | indicator//06.01.2021//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge//converted from MT5 versiontimeframe(Daily,updateonclose)// --- settingsCCIPeriod=50 // CCI indicator periodATRPeriod=5 // ATR indicator periodLevel=0 // CCI activation level// --- end of settingsicci = CCI[CCIPeriod](typicalPrice)iatr = AverageTrueRange[ATRPeriod](close)TrendUp=0.0TrendDown=0.0SignUp=0.0SignDown=0.0if(iCCI>=Level and iCCI[1]<Level) thenTrendUp=TrendDown[1]endifif(iCCI<=Level and iCCI[1]>Level) thenTrendDown=TrendUp[1]endifif(iCCI>Level) thenTrendUp=low-iATRr=0g=255if(TrendUp<TrendUp[1] and iCCI[1]>=Level) thenTrendUp=TrendUp[1]endifendifif(iCCI<Level) thenTrendDown=high+iATRr=255g=0if(TrendDown>TrendDown[1] and iCCI[1]<=Level) thenTrendDown=TrendDown[1]endifendifif(TrendDown[1]<>0.0 and TrendUp<>0.0) thenSignUp=TrendUpdrawtext("●",barindex,signup,dialog,bold,20) coloured(32,0,194)endifif(TrendUp[1]<>0.0 and TrendDown<>0.0) thenSignDown=TrendDowndrawtext("●",barindex,signdown,dialog,bold,20) coloured(255,0,0)endifst = max(trendup,trenddown)returnmais cela ne donne rien. Pourriez-vous m’indiquer où ça coince ? Merci
04/03/2022 at 8:39 PM #191115Bonsoir,
si c’est pour faire tourner sur du 4h ou autre timeframe intraday, il manque probablement un timeframe(default) qui contiendrait le gros du code tel qu’il était avant d’y rajouter les données souhaitées en daily et qui doit tourner dans le timeframe intraday.
04/03/2022 at 9:02 PM #19111604/04/2022 at 12:36 PM #19116304/04/2022 at 3:39 PM #191180Ta ligne return est vide, donc le seul affichage sera celui des objets graphiques dans le code (les 2 drawtext d’un gros point), mais le seul timeframe spécifié est celui que tu as rajouté avec la ligne timeframe(daily,updateonclose), donc pour voir des choses en UT inférieure, ce que je suggérais dans le message précédent était qu’il te faut probablement rajouter une ligne “timeframe(default)” dans le code pour fonctionner sur l’UT intraday choisir pour le graphe, mais ça peut aussi être un plus spécifique « timeframe(4h) » si tu es sûr de ne l’utiliser que sur du 4h. La “structure” du code serait:
timeframe(daily,updateonclose)
lignes de code du daily
timeframe(4h)
lignes de code de l’ut inférieure
return
La position de timeframe(default) ou timeframe(4h) dépend de ce que tu veux avoir en daily et de ce que tu veux avoir en UT 4h, ce qui est à toi de déterminer vu que non spécifié, mais si j’étais à la recherche active du bug, je commencerais par essayer d’ajouter cette fameuse ligne timeframe(default) ou timeframe(4h) entre la ligne 46 et la ligne 47 de ton code ci-dessus, afin de précéder les 2 boucles if incluant les 2 instructions graphiques drawtext.
04/04/2022 at 3:52 PM #191185oui. justement, je souhaite voir uniquement les points apparaissant en daily mais sur un timeframe 4h. OK merci pour le retour.
Mon idée initiale était d’ajouter l’indicateur ci-dessus avec la ligne de code “timeframe(daily,updateonclose)” suivie des lignes de code indiquées plus haut directement dans l’UT 4 heures, l’objectif étant de visualiser l’UT 4h les gros points calculés sur l’UT Daily.
04/05/2022 at 10:07 AM #191212Bonjour, je reviens sur mon sujet. En fait, quand j’ajoute donc l’indicateur cité ci-dessus avec la ligne “timeframe(daily,updateonclose)” dans le time frame 4h, je me suis aperçu que des signaux apparaissaient mais curieusement sur une période ancienne (septembre octobre 2021) et rien après. Or, j’ai effectué une vérification cette fois-ci en sélectionnant le timeframe “daily” et là plusieurs signaux postérieurs à septembre octobre 2021 apparaissent.
Donc je me dis qu’il y a quelque chose qui “coince”.
04/05/2022 at 10:46 AM #191214Oui, parce qu’avec comme “seule” ligne timeframe la timeframe(daily,updateonclose) les numéros du barindex dans le drawtext seront ceux du daily, et forcément mal placé sur le 4h si le numéro de barindex n’est pas converti. Pour être placé correctement au numéro de barindex correspondant du 4h qui sera forcément différent, il faut le dire au code avant de faire le drawtext. D’où la suggestion d’ajouter un timeframe(4h) avant les instructions drawtext (ou timeframe(default) si on veut généraliser à d’autres ut), c’est-à-dire au moins tester de l’ajouter entre les lignes 46 et 47 du code ci-dessus.
04/05/2022 at 11:15 AM #19121704/05/2022 at 5:22 PM #191255Bonsoir,
je reviens avec le code modifié mais cela ne donne pas les résultats escomptés puisque je constate toujours quelques signaux en daily sur octobre 2021 puis plus rien après.
//PRC_Supertrend+CCI | indicator
//06.01.2021
//Nicolas @ http://www.prorealcode.com
//Sharing ProRealTime knowledge
//converted from MT5 versiontimeframe(Daily,updateonclose)
// — settings
CCIPeriodD=50 // CCI indicator period
ATRPeriodD=5 // ATR indicator period
LevelD=0 // CCI activation level
// — end of settingsicciD = CCI[CCIPeriodD](typicalPrice)
iatrD = AverageTrueRange[ATRPeriodD](close)
TrendUpD=0.0
TrendDownD=0.0
SignUpD=0.0
SignDownD=0.0if(iCCID>=LevelD and iCCID[1]<LevelD) then
TrendUpD=TrendDownD[1]
endifif(iCCID<=LevelD and iCCID[1]>LevelD) then
TrendDownD=TrendUpD[1]
endifif(iCCID>LevelD) then
TrendUpD=low-iATRD
r=0
g=255
if(TrendUpD<TrendUpD[1] and iCCID[1]>=LevelD) then
TrendUpD=TrendUpD[1]
endif
endif
if(iCCID<LevelD) then
TrendDownD=high+iATRD
r=255
g=0
if(TrendDownD>TrendDownD[1] and iCCID[1]<=LevelD) then
TrendDownD=TrendDownD[1]
endif
endif
if(TrendDownD[1]<>0.0 and TrendUpD<>0.0) then
SignUpD=TrendUpD
drawtext(“Up Daily”,barindex,signupD,dialog,bold,20) coloured(32,0,194)
endif
if(TrendUpD[1]<>0.0 and TrendDownD<>0.0) then
SignDownD=TrendDownD
drawtext(“DN Daily”,barindex,signdownD,dialog,bold,20) coloured(255,0,0)
endiftimeframe (4 hours)
// — settings
CCIPeriod=50 // CCI indicator period
ATRPeriod=5 // ATR indicator period
Level=0 // CCI activation level
// — end of settingsicci = CCI[CCIPeriod](typicalPrice)
iatr = AverageTrueRange[ATRPeriod](close)
TrendUp=0.0
TrendDown=0.0
SignUp=0.0
SignDown=0.0if(iCCI>=Level and iCCI[1]<Level) then
TrendUp=TrendDown[1]
endifif(iCCI<=Level and iCCI[1]>Level) then
TrendDown=TrendUp[1]
endifif(iCCI>Level) then
TrendUp=low-iATR
r=0
g=255
if(TrendUp<TrendUp[1] and iCCI[1]>=Level) then
TrendUp=TrendUp[1]
endif
endif
if(iCCI<Level) then
TrendDown=high+iATR
r=255
g=0
if(TrendDown>TrendDown[1] and iCCI[1]<=Level) then
TrendDown=TrendDown[1]
endif
endif
if(TrendDown[1]<>0.0 and TrendUp<>0.0) then
SignUp=TrendUp
drawtext(“●”,barindex,signup,dialog,bold,20) coloured(32,0,194)
endif
if(TrendUp[1]<>0.0 and TrendDown<>0.0) then
SignDown=TrendDown
drawtext(“●”,barindex,signdown,dialog,bold,20) coloured(255,0,0)
endif
return04/05/2022 at 5:58 PM #191258La suggestion d’ajouter timeframe(4h) entre les lignes 46 et 47 du tout premier code du premier post donnerait le code ci-dessous. Capture écran en fichier attaché sur PXI en UT4h, pas d’anomalie apparente.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162//PRC_Supertrend+CCI | indicator//06.01.2021//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge//converted from MT5 versiontimeframe(Daily,updateonclose)// --- settingsCCIPeriod=50 // CCI indicator periodATRPeriod=5 // ATR indicator periodLevel=0 // CCI activation level// --- end of settingsicci = CCI[CCIPeriod](typicalPrice)iatr = AverageTrueRange[ATRPeriod](close)TrendUp=0.0TrendDown=0.0SignUp=0.0SignDown=0.0if(iCCI>=Level and iCCI[1]<Level) thenTrendUp=TrendDown[1]endifif(iCCI<=Level and iCCI[1]>Level) thenTrendDown=TrendUp[1]endifif(iCCI>Level) thenTrendUp=low-iATRr=0g=255if(TrendUp<TrendUp[1] and iCCI[1]>=Level) thenTrendUp=TrendUp[1]endifendifif(iCCI<Level) thenTrendDown=high+iATRr=255g=0if(TrendDown>TrendDown[1] and iCCI[1]<=Level) thenTrendDown=TrendDown[1]endifendiftimeframe(4h) // ligne ajoutée 05.04.2022 dans https://www.prorealcode.com/topic/ajout-dune-donnee-en-timeframe-daily-sur-un-timeframe-4hif(TrendDown[1]<>0.0 and TrendUp<>0.0) thenSignUp=TrendUpdrawtext("●",barindex,signup,dialog,bold,20) coloured(32,0,194)endifif(TrendUp[1]<>0.0 and TrendDown<>0.0) thenSignDown=TrendDowndrawtext("●",barindex,signdown,dialog,bold,20) coloured(255,0,0)endifst = max(trendup,trenddown)return04/05/2022 at 6:15 PM #19126304/07/2022 at 8:36 PM #191395Bonsoir,
je viens de faire quelques tests sur ma demande et la réponse apportée. je joints un graphe sur la paire EUR USD. Il existe quelques décalages et absences. Sur le graphe, à droite le code sur l’UT Daily. A gauche, la réponse apportée et donc sur l’UT 4H (pour faciliter la lecture, le “double point” représente le signal Daily en UT 4h.
Un signal apparaît sur le graphe de gauche le 4 février vers 21 heures alors que sur le graphe de droite aucun signal n’apparaît à cette date mais il apparaît le 3 février.
Je ne sais pas si je suis clair.
Merci pour l’attention portée à mon problème.
04/09/2022 at 9:33 AM #191474Perso j’ai pas vraiment suivi: pas d’axe horizontal pour repérer les signaux mentionnés, ni compris où on a un double point pour un signal plutôt que 2 points pour 2 signaux… Mais si d’autres y voient mieux sans info supplémentaire, n’hésitez pas à intervenir dans ce topic, possible que j’ai lu trop vite dans la précipitation de finir trop de choses “en cours” avant départ en vacances qui se rapproche à vitesse grand V…
04/09/2022 at 4:10 PM #191498Bonjour, je reconnais que mon précédent post n’était pas très compréhensible. Donc je recommence avec une nouvelle image avec un axe horizontal pour situer la date (paire EUR USD).
A gauche timeframe 4 heures dans lequel j’ai intégré le code ci-dessus pour avoir un signal sur une UT Daily (il apparaît sous la forme de la grosse figure en “0”, les autres petits points étant les signaux en 4h : il apparaît le 4 février
A droite, le signal en UT Daily : il apparait le 3 février.
En outre, d’autres signaux qui apparaissent plus tard en UT Daily (sur le graphe de droite) n’apparaissent sur le code Daily en UT 4h.
Mes graphes affichent 400 unités. Je ne pense que cela ait des conséquences.
merci. Bon week-end.
-
AuthorPosts
Find exclusive trading pro-tools on