Ticks restants ?
Forums › ProRealTime forum Français › Support ProBuilder › Ticks restants ?
- This topic has 3 replies, 2 voices, and was last updated 11 months ago by ground77600.
-
-
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.
-
AuthorPosts