Affichage du temps en secondes d’une barre en ticks
Forums › ProRealTime forum Français › Support ProBuilder › Affichage du temps en secondes d’une barre en ticks
- This topic has 4 replies, 3 voices, and was last updated 2 years ago by
JC_Bywan.
-
-
05/04/2021 at 10:09 AM #16875505/04/2021 at 10:15 AM #168756
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
05/04/2021 at 1:10 PM #168770Pour info, ces instructions vont bientôt arriver :
- Second : Retourne le nombre de secondes de l’heure courante du chandelier (idem hour et minute mais pour les secondes)
- OpenSecond : Idem Second mais pour le numéro de seconde de l’heure d’ouverture du chandelier
- Timestamp : Retourne le timestamp unix
Ce sera beaucoup plus simple de programmer dans des TF très courts sur des comparaisons/calculs de temps.
05/06/2021 at 7:59 AM #168903Bonjour,
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.
Bar Time_Test123456789101112131415161718192021222324252627282930313233343536373839404142434445a= (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] thenc=0elsif (a-b) >= 120 thenc=120elsec= a - bendif//if c<=60 thenr=0elsif c>=120 thenr=139elser=255endifif c<=60 theng=140elsif c>=120 theng=0elseg=140endifif c<=60 thenb=0elsif c>=120 thenb=0elseb=0endifreturn c coloured (r,g,b)05/06/2021 at 9:10 AM #168919Ok, 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)
-
AuthorPosts
Find exclusive trading pro-tools on