indicateur de temps sous PRT

Forum dédié à ProRealTime : les questions sur P, les trucs et astuces sur l'interface de trading...
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

indicateur de temps sous PRT

Message non lu par plataxis »

Bonjour,

Je me demandais s'il était envisageable de créer un indicateur traçant des lignes verticales sur les graphiques à des horaires prédéfinis (8h - 9h - 15h30 - 17h30 - 22 h).

Quelqu'un l'a-t-il fait ? Avez-vous une piste ?

Merci :)
Avatar du membre
Edd
Apprenti Jedi
Messages : 732
Enregistré le : 10 août 2015 12:36

Re: indicateur de temps sous PRT

Message non lu par Edd »

Salut, pour une ligne rouge à 00h00min00sec :

Code : #

if time = 000000 then
ligne = barindex
endif
DRAWVLINE(ligne)coloured(200,0,0)
return
Avatar du membre
GOLDENBOY
Chevalier Jedi
Messages : 2677
Enregistré le : 23 sept. 2014 16:09

Re: indicateur de temps sous PRT

Message non lu par GOLDENBOY »

Merci Edd :mercichinois:
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Merci beaucoup Edd, cela m'a fait avancer. Ceci dit 2 soucis :

1/ le bug connu du "ratatinage de graphique" : les lignes verticales sont jointes par des lignes horizontales à 0, ce qui rend l'échelle par défaut du graphique illisible (0 à 12 000 points au lieu d'une fenêtre d'un abscisse de l'ordre d'une centaine de points correspondant à la volatilité de la période). Je ne sais pas s'il y a un contournement de ce bug.

2/ un bug que j'ignorais qui est que le dernier jour n'est pas représenté en Xticks : ça marche en 1 minute, mais pas en Xticks :(

Le code utilisé :

Code : #

C1=080000
C2=090000
c3=153000
c4=173000
c5=220000

if time = C1 or time = C2 or time = C3 or time = C4 or time = C5 then
ligne = barindex
endif
DRAWVLINE(ligne)coloured(200,0,0)
return ligne
Quelqu'un a-t-il une idée pour améliorer ce code dont la seule utilité est le repérage dans le temps sur un graphique Xticks lu en post market ?
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Heikin Ashi, déjà j'ai viré le bug "ratatinage" : il fallait faire des lignes distinctes une à une :

Code : #

if time = 080000 then
premarket = barindex
endif
DRAWVLINE(premarket)coloured(200,0,0)

if time = 090000 then
ouverture = barindex
endif
DRAWVLINE(ouverture)coloured(200,0,0)

if time = 153000 then
openus = barindex
endif
DRAWVLINE(openus)coloured(200,0,0)

if time = 173000 then
fermeture = barindex
endif
DRAWVLINE(fermeture)coloured(200,0,0)

if time = 220000 then
nuit = barindex
endif
DRAWVLINE(nuit)coloured(200,0,0)

return
Reste à trouver pourquoi ça ne s'affiche pas le dernier jour en Xticks, et surtout comment contrer cette difficulté... Et là je sèche. :joker:
Avatar du membre
falex
Le Gladiateur
Messages : 34275
Enregistré le : 12 févr. 2013 15:41

Re: indicateur de temps sous PRT

Message non lu par falex »

Pas mal le contour du bug de ratatinage. Des années qu'ils me chatouille les Anonyme005.

:top:
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Trop fier d'avoir apaisé tes Anonyme005 !

Par ailleurs j'ai compris ce qui "cloche" en Xticks : c'est qu'il n'y a pas toujours une barre à l'heure h:00:00 ou h:30:00 : si elle s'ouvre quelques secondes avant et la suivante quelques secondes après l'indicateur n'est pas tracé. En très faibles ticks (5 ticks par exemple) cela n'arrive à peu près jamais, mais en 21 et au dessus c'est assez fréquent.

Du coup je me demande : une autre méthode est-elle possible qui serait indépendante de la barre ? Quelque instruction ne dépendant que de l'axe des abscisses ?
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: indicateur de temps sous PRT

Message non lu par Jim »

Bonjour la file,

Plataxis, pour le changement de jour tu peux utiliser l'astuce :
IF hour < hour[1] THEN
...

Pour les horaires peu fréquentés (barres absentes) ou surfréquentés (1-tick à 9h00) :
IF time > TonHoraire AND Trigger THEN
Trigger = 0
...
avec Trigger qui est remis à un en début de journée.


En complément des remarques précédentes, je préfère coder les drawvline comme ci-desssous pour accélérer le processus :

Code : #

IF time = 90000 THEN
drawvline (barindex)
ENDIF

RETURN
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Merci Jim !

J'ai donc tenté d'avoir toujours une barre si le time dépasse ma cible... ET CA MARCHE :merci:

Code : #

IF hour < hour[1] THEN
predax = 1
opendax = 1
opendow = 1
closedax = 1
postdax = 1
endif


IF time > 080000 AND predax = 1 THEN
DRAWVLINE (barindex)
predax = 0
endif


if time > 090000 AND opendax = 1 THEN
DRAWVLINE (barindex)
opendax = 0
endif

if time > 153000 AND opendow = 1 THEN
DRAWVLINE (barindex)
opendow = 0
endif

if time > 173000 AND postdax = 1 THEN
DRAWVLINE (barindex)
postdax = 0
endif

if time > 220000 AND closedax = 1 THEN
DRAWVLINE (barindex)
closedax = 0
endif

RETURN

Trop forts ces conseils :top:
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: indicateur de temps sous PRT

Message non lu par Jim »

:mercichinois:
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Petite amélioration pour être sûr d'avoir toutes les barres dès le premier jour (série "once" du du début) :

Code : #

ONCE predax = 1
ONCE opendax = 1
ONCE opendow = 1
ONCE closedax = 1
ONCE postdax = 1
Spoiler:

Code : #

ONCE predax = 1
ONCE opendax = 1
ONCE opendow = 1
ONCE closedax = 1
ONCE postdax = 1

IF hour < hour[1] THEN
predax = 1
opendax = 1
opendow = 1
closedax = 1
postdax = 1
endif


IF time > 080000 AND predax = 1 THEN
DRAWVLINE (barindex)
predax = 0
endif


if time > 090000 AND opendax = 1 THEN
DRAWVLINE (barindex)
opendax = 0
endif

if time > 153000 AND opendow = 1 THEN
DRAWVLINE (barindex)
opendow = 0
endif

if time > 173000 AND postdax = 1 THEN
DRAWVLINE (barindex)
postdax = 0
endif

if time > 220000 AND closedax = 1 THEN
DRAWVLINE (barindex)
closedax = 0
endif

RETURN
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Flute, ça marchait et ça ne marche plus en X ticks : allez comprendre...

En fait il semble que l'heure ne soit plus disponible en Xticks...
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: indicateur de temps sous PRT

Message non lu par Jim »

Les données temps du x-tick deconnent sur les futures Dax depuis ce lundi.
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Nous sommes donc d'accord, et mon code est obsolète en X ticks si ça n'est pas rétabli. zut...

De ce que je comprends, le "time" semble n'être pas réinitialisé à chaque journée : nous sommes "toujours" après 8h00 dans la mesure où il y a toujours eu une journée avant le test depuis l'origine du temps...
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: indicateur de temps sous PRT

Message non lu par Jim »

J'ai un indicateur en 1-tick qui doit être calculé une fois par seconde : il y a des moments de la journée où il fonctionne, et d'autres moments non. Le problème vient du flux : on dirait que les temps associés aux ticks ne sont pas tous reconnus par prt.

J'ai le problème uniquement sur le DAX. J'ai des flux actions en tick, mais aucun souci là-bas.
Avatar du membre
Nomade
Ewok
Messages : 73
Enregistré le : 19 juin 2014 23:47

Re: indicateur de temps sous PRT

Message non lu par Nomade »

salut,
pour une raison qui m'echappe PRT a un probleme avec les variables de temps (time, hour, date, etc...) au sein du programme, les valeurs semblent bonnes mais pas "stables", c'est assez incomprehensible... tu peux toujours demander a PRT et attendre...

en attendant,

en utilisant INTRADAYBARINDEX pour reinitialiser les variables predax etc et en utilisant une variable intermediaire pour stocker TIME ca semble fonctionner :

Code : #

ONCE predax = 1
ONCE opendax = 1
ONCE opendow = 1
ONCE closedax = 1
ONCE postdax = 1
IF intradaybarindex=0 THEN
//IF hour < hour[1] THEN
predax = 1
opendax = 1
opendow = 1
closedax = 1
postdax = 1
endif

t=time

IF t >= 70000 and predax=1 then
DRAWVLINE (barindex)
predax = 0
endif
if t >= 80000 and opendax=1 then
DRAWVLINE (barindex)
opendax = 0
endif
if t>=143000 AND opendow = 1 THEN
DRAWVLINE (barindex)
opendow = 0
endif
if t>=163000 AND postdax = 1 THEN
DRAWVLINE (barindex)
postdax = 0
endif
if t>=210000 AND closedax = 1 THEN
DRAWVLINE (barindex)
closedax = 0
endif
RETURN
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

C'est marrant j'ai tenté la même chose car ça me semblait plus logique et... non ça ne fonctionne pas en X ticks :(
Avatar du membre
Nomade
Ewok
Messages : 73
Enregistré le : 19 juin 2014 23:47

Re: indicateur de temps sous PRT

Message non lu par Nomade »

as tu bien ajoute la ligne t =TIME et ensuite utilise t pour les tests ?

ca marche chez moi
(j'ai un decalage d'une heure, les lignes sont a 7h 8h 14h30 16h30 21h mais la 7h et la 21h sont confondues car mon affichage est de 7:00 a 21:00)
Fichiers joints
lignesverticalesxtick.png
lignesverticalesxtick.png (225.45 Kio) Vu 1100 fois
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Non j'ai répondu vite parce que j'avais testé avec intrabarindex sans succès, mais je vais reprendre ton code plus tranquillement plus tard.

Merci beaucoup !
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: indicateur de temps sous PRT

Message non lu par plataxis »

Excellent !

Ca ne marche pas avec SEULEMENT l'une des 2 modifs (intradaybarindex OU t=time) mais en cumulant les 2 c'est rentré dans l'ordre : bravo nomade :bravo: