Ticks restants ?
Forums › ProRealTime forum Français › Support ProBuilder › Ticks restants ?
- This topic has 7 replies, 6 voices, and was last updated 1 week ago by
RicLg.
-
-
12/07/2023 at 10:00 AM #224975
Bonjour,
Je cherche à faire un indicateur tout simple mais à partir du moment où on passe en ticks, la programmation devient un peu plus délicate.
L’idée est la suivante : je veux juste récupérer le nombre de ticks restant avant l’ouverture de la prochaine bougie en ticks et faire en sorte qu’une valeur passe à 1 si un certain nombre est dépassé, sinon, la valeur resterait à 0. Si on veut le faire en temps, je vois bien qu’il faut utiliser la formule suivante :
123456789101112//Alerttime=25 //Alert me x seconds before closingduration = timestamp-opentimestampTimeframetimeinsec=GetTimeframeremainingtimeinsec=Timeframetimeinsec-durationIf remainingtimeinsec=Alerttime thenAlertActivated=1ElseAlertActivated=0Endifreturn remainingtimeinsec as "remainingtimeinsec", AlertActivated as "AlertActivated"Mais comment fait-on pour faire la même chose avec une bougie en ticks ? Pourriez-vous, s’il vous plaît, éclairer ma lanterne ?
Bien cordialement.
01/02/2024 at 1:17 PM #225912Bonjour,
Je suis toujours en recherche d’information sur ce sujet. J’ai un peu avancé mais pas des masses :
12345678910111213141516171819202122232425once $lastclose[0]=closeif not isset($ticks[barindex]) then$ticks[barindex] = 0$positivetick[barindex]=0$negativetick[barindex]=0endifif islastbarupdate thenif close>$lastclose[0] then$ticks[barindex]=$ticks[barindex]+1$positivetick[barindex]=$positivetick[barindex]+1else$ticks[barindex]=$ticks[barindex]-1$negativetick[barindex]=$negativetick[barindex]+1endifsumpos=$positivetick[barindex]sumneg=-$negativetick[barindex]posvsneg=sumpos+sumneg$lastclose[0]=closeendifticksum=$positivetick[barindex]+$negativetick[barindex]return $positivetick[barindex] as "Positive Ticks", -$negativetick[barindex] as "Negative Ticks", sumpos as "sumpos", sumneg as "sumneg", ticksum as "Tick Sum"On s’approche du but mais malheureusement, “ticksum” ne prend pas en compte quand il y a un tick qui ne fait aucune variation de prix. Le compteur n’est donc pas tout à fait juste. Auriez-vous des idées ?
Une belle et heureuse année à tous.
Bien à vous.
01/02/2024 at 3:16 PM #225914Bonjour, la définition d’un “Tick” est une variation de prix, en lisant vos deux précédents messages, j’ai l’impression que vous amalgamez “Ticks” et “Volumes”! Sans pour autant comprendre ce que vous cherchez à faire, si c’est quantifier le nombre de transactions qui vous intéresses, peut-être devriez vous vous tourner vers le “volume”…
01/02/2024 at 5:46 PM #225916Bonjour Alain,
Merci pour votre réponse. Je suis tout à fait d’accord avec vous, un “tick” devrait correspondre à une variation de prix mais quand on affiche un graphique en ticks sur PRT, apparemment c’est pas ce qu’on a ! D’ailleurs, quand on regarde un graphique en 1 tick, il y a parfois des variations horizontales donc pas de changement de prix mais ça compte quand même pour un intervalle 1 tick.
J’ai essayé une autre version du code :
123456789101112131415161718192021222324//AlarmLevel=1800once $lastclose[0]=closeonce AlarmActivated=0if not isset($ticks[barindex]) then$ticks[barindex] = 0endifif islastbarupdate thenif close>$lastclose[0] then$ticks[barindex]=$ticks[barindex]+1else$ticks[barindex]=$ticks[barindex]+1endif$lastclose[0]=closeendifIf $ticks[barindex]>AlarmLevel thenAlarmActivated=1ElseAlarmActivated=0Endifreturn $ticks[barindex] as "Tick Count", AlarmActivated as "Alarm Activated"Si on se met en affichage 2000 ticks par bougie, $ticks[barindex] trace graphique avec des valeurs comprises entre 1600 et 1850 alors que normalement tout devrait être à 2000 ticks. On a donc une déperdition de 150-400 ticks, c’est bizarre…
Plus précisément, ce que je cherche c’est de récupérer la valeur du nombre de ticks restants dans la bougie en ticks en cours (ou bien le nombre de ticks déjà effectués dans la bougie en cours) pour pouvoir, au final, déclencher une condition quand ça franchit un certain seuil. Par exemple, je voudrais qu’une valeur passe à 1 quand par exemple il reste seulement 200 ticks avant la clôture de la bougie en cours.
06/10/2025 at 2:42 AM #248130Hi,Did you ever figure out how to do this?
I’m trying to find a way to get a tick-based Range Bar countdown on the vertical axis so we know when the bar is about to end.ThanksBonjour,
Avez-vous déjà trouvé comment faire ?
J’essaie de trouver un moyen d’afficher un compte à rebours de la barre de plage sur l’axe vertical, basé sur les ticks, afin de savoir quand la barre est sur le point de se terminer.Merci
06/10/2025 at 8:37 AM #24814006/13/2025 at 2:39 PM #248261Sur les graphiques en nombre de ticks (exemple 100), si on regarde les volumes, on voit que les histogrammes sont toujours >= 100, sauf pour la dernière bougies de la séance.
J’en déduis que PRT additionne tous les ordres de bourse jusqu’à atteindre 100. Mais si le dernier ordre a été exécuté avec une quantité importante, PRT les cumule dans la bougie en cours. Il ne fait pas de split.
Exemple : cumul des volumes = 90. Si nouvel ordre = 7, alors cumul = 97, si nouvel ordre = 10 alors 107. PRT crée ensuite une nouvelle bougie.
etc…
06/19/2025 at 9:28 PM #248417Bonsoir
Peut-être que ce code répond à ta requête.
Malheurement ce la ne fontionne que sur les Cryptos/Devises. Je flanche totalement pour trouver la solution complète.
Je fais un appel à l’aide aux Codeurs_Pros pour coder une version qui fonctionne sur des instruments intégrant le volume.
Merci par avance
Bien à vousDécomptage Tick123456789101112131415161718192021222324252627282930313233defparam DRAWONLASTBARONLY=Truedefparam calculateonlastbars=1024MyStoch =Stochastic[14,3](close)Rem ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄Rem Decomptage : Crypto et Devises ( car no volume)Rem ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀TimeframeSelect=GetTimeframeif TimeframeSelect=-1 or TimeframeSelect[1]=-1 and Volume[1]=Volume[2] then rem condition UT Tickrem ▄ TF : TICK SANS volumecomptage = volumecomptageMax = highest[2]( comptage)decompte = comptageMax - comptageDRAWTEXT(" ONLY Crypto / Forex", barindex, 100, dialog,standard,14) COLOURED(106,106,106,255)DRAWTEXT(" #comptageMax#Tick.", barindex , 15, dialog,standard,16) COLOURED(106,106,106,255)DRAWTEXT(" #decompte#", barindex, 55, dialog,standard,40) COLOURED(106,106,106,255)DRAWTEXT(" #comptageMax#Tick.", barindex , 15, dialog,standard,16) COLOURED(106,106,106,255)elserem ▄ TF : Secondesrem Alerttime=25 //Alert me x seconds before closingTimeframeSelect=GetTimeframeduration = timestamp-opentimestampdurationMax=duration[1]remainingtimeinsec=( TimeframeSelect-duration)//if not(duration[1]=0 and duration[2]=0) and not TimeframeSelect=-1 thenif TimeframeSelect >-1 then//if TimeframeSelect=-1 thenDRAWTEXT(" ONLY Crypto / Forex", barindex, 100, dialog,standard,14) COLOURED(106,106,106,255)DRAWTEXT(" #remainingtimeinsec#", barindex, 55, dialog,standard,40) COLOURED(106,106,106,255)DRAWTEXT(" #durationMax#Sec", barindex, 15, dialog,standard,20) COLOURED(106,106,106,255)endifendifreturn MyStoch as "MyStoch", 100 as "100", 0 as "0" -
AuthorPosts