Affichage du temps en secondes d’une barre en ticks
- This topic has 4 replies, 3 voices, and was last updated 4 years ago by .
		Viewing 5 posts - 1 through 5 (of 5 total)
	
	
		Viewing 5 posts - 1 through 5 (of 5 total)
	
	 Similar topics:
						Forums › ProRealTime forum Français › Support ProBuilder › Affichage du temps en secondes d’une barre en ticks
 JC_Bywan.
JC_Bywan.Bonjour,
time n’est pas compatible avec les graphes en ticks, car pendant une barre en ticks, l’horaire de fin de barre time n’est pas connu, et il n’est pas non plus assigné “à retardement” une fois la barre finie.
On peut contourner la contrainte en utilisant ce qui est connu bien qu’on soit en ticks, à savoir l’horaire de début de la barre, donc: opentime
Pour info, ces instructions vont bientôt arriver :
Ce sera beaucoup plus simple de programmer dans des TF très courts sur des comparaisons/calculs de temps.
Bonjour,
merci pour vos réponses…
J’ai essayé avec Opentime mais rien de concluant…
J’ai réessayé avec Time, et il semblerait que ça fonctionne, mais sans certitude. Il y a peut-être des erreurs que je ne suis pas capable de voir. Vos avis m’intéressent…
Description du code: Affichage du temps en secondes de la durée de chaque barre en ticks dans un graphique.
“a” >> à partir de la variable Time, j’extrais les heures minutes et secondes, et je convertis tout en secondes. ( barre en cours)
“b” >> même chose mais barre précédente.
“c” >> résultat en secondes.
c=0 pour le changement de jour.
si c<60 vert
si c>60 et < 120 orange
si c > 120 alors c = 120 et rouge.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | a= (time-((hour*10000)+(minute*100)))+(hour*3600)+(minute*60) b= (time[1]-((hour[1]*10000)+(minute[1]*100)))+(hour[1]*3600)+(minute[1]*60) if time < time[1] then c=0 elsif (a-b) >= 120 then c=120 else c= a - b endif // if c<=60 then r=0 elsif c>=120 then r=139 else r=255 endif if c<=60 then g=140 elsif c>=120 then g=0 else g=140 endif if c<=60 then b=0 elsif c>=120 then b=0 else b=0 endif return c coloured (r,g,b) | 
Ok, c’est cool que tu aies fourni plus de détails sur tes essais, fût un temps où avec time ça marchait pas, et comme tu disais “J’ai essayé avec la commande “Time”, mais sans succès”, rien n’indiquait que ça ait pu changer.
Perso avant je faisais suivant le principe “opentime-opentime[1]” (mais 1 bougie de décalage) puis “currenttime – opentime” (et un traitement un peu comme toi pour tenir compte des changements d’heure/minute à cause du format HHMMSS et 100vs60, et éviter les pics de datas inutiles qui écraseraient la partie utile).
Je viens de tester une comparaison de time et currenttime en (x)ticks, et il semble bien que time a été aligné avec currenttime et du coup fonctionne en ticks en se réactualisant sur l’heure courante à chaque tick, et donc fournit une valeur désormais correcte une fois la bougie cloturée (depuis quand? ça je sais pas… ça fait pas mal d’années que je n’ai plus essayé time sur des ticks).
Merci à toi.
J’ai pioché au hasard quelques durées avec ton code, en soustrayant les horaires d’open de bougies consécutives pour vérifier, ça n’a pas donné d’erreurs (mais bon, échantillon de test au hasard assez petit, garder l’oeil ouvert quand même si une anomalie survient, ce n’était pas une vérification exhaustive)
			Find exclusive trading pro-tools on 
