ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...
Répondre • Page 1 sur 1

Detection UT automatiquement

par clodreb » 06 mai 2014 22:25

Bonjour à toutes et tous,

est-ce que quelqu'un sait comment coder dans prt la détection automatique de l'ut en cours lors du lancement d'un indicateur ?

En clair, j'aimerai par exemple faire des conditions du genre :
Si ut 1 min --> prendre close[60]
Si ut 5 min --> prendre close[12]
si ut 10min --> prendre close[6]

...etc...

le but étant de ne pas devoir refaire exactement le même indicateur pour des ut différentes mais prendre 1 seul indicateur qui s'adapte en fonction de l'ut utilisée.

Merci d'avance à celui qui aurait la réponse.

Re: Detection UT automatiquement

par falex » 06 mai 2014 22:40

Demain

La j'ai pas le Pc sous la main.

La technique que j'ai fait est retrancher l'heure d'une barre n à n-1

Re: Detection UT automatiquement

par blAst » 06 mai 2014 22:47

falex a écrit :Demain

La j'ai pas le Pc sous la main.

La technique que j'ai fait est retrancher l'heure d'une barre n à n-1
Et ensuite tu fais un MIN(tempsN,tempsN-1) roulant comme ça si t as un trou de bougie et que ça te sort 2 heures alors que t es en bougies 1h, ben ca garde le plus petit intervalle de temps régulier ?

Re: Detection UT automatiquement

par falex » 06 mai 2014 23:03

Bien vue j'avais effectivement ce souci et je pense jamais aux fonctions min() et max()

Re: Detection UT automatiquement

par falex » 07 mai 2014 14:47

voici le code.

Faudrait le completer avec l'astuce de blast.

Code : #

//Detection de la valeur de l'UT en calculant l'heure entre t0 et t-1

once t0 = undefined
once t1 = undefined
once ut = undefined

if barindex = 9 then
t0 = time
endif

if barindex = 10 then
t1 = time
endif



ut = (t1 - t0) / 100

return ut as "UT"


Re: Detection UT automatiquement

par clodreb » 07 mai 2014 16:47

Merci pour vos réponses.
je pensais qu'il y aurait peut-être une commande genre "timeframe" (comme dans proscreener).
C'est dommage qu'il n'y en ait pas.

mais heureusement, vous êtes des champions de la bidouille qui fonctionne :mrgreen:

Merci :merci:

Re: Detection UT automatiquement

par blAst » 07 mai 2014 19:47

ma proposition plus mieux bien :prier: :idea: :?:

Code : #

ut=MIN((time-time[1])/100,ut[1])

return ut as "UT"
sur un historique suffisant, ut choppera rapidement la bonne valeur (au bout de quelques bougies, notamment si on débute par un overnight ou sur un changement d'heure ronde)

Re: Detection UT automatiquement

par falex » 07 mai 2014 20:01

Super blast
J'ai pas toujours était le roi de l'optimisation de code.

Re: Detection UT automatiquement

par clodreb » 07 mai 2014 20:26

heuuu, y a sûrement un truc qui ne va pas dans le code de blast car ça me donne tout le temps ut=nd.

le code de Falex par contre, fonctionne :mrgreen:

Re: Detection UT automatiquement

par blAst » 07 mai 2014 20:53

:gloups:

Et ça ? :idea:

Code : #

if BarIndex>1 then 
     ut=MIN((time-time[1])/100,ut[1])
else
     ut=100000
endif

return ut as "UT"

Re: Detection UT automatiquement

par clodreb » 09 mai 2014 06:43

Same player play again :lol:

cette nouvelle version me donne bien une valeur en ut 1 min de .... -2357.59 :mrgreen:

Blast, c'est sympa de ta part de vouloir optimiser ce code mais ne passe pas ton temps inutilement la dessus.
je suis certain que tu as des choses beaucoup plus intéressante à faire/tester.

je vais utiliser le code de Falex.

Merci beaucoup à vous deux de vous être penché sur mon problème. :merci: :merci:

Re: Detection UT automatiquement

par blAst » 09 mai 2014 08:23

C que, je n'aime pas buter :mrgreen: et prt a un drôle de cadre que je trouve malaisé, pas stable et moqueur
Non ce n est pas de la mauvaise foi :mrgreen: next code !! ;)

Re: Detection UT automatiquement

par takapoto » 18 août 2014 11:33

blAst a écrit ::gloups:

Et ça ? :idea:

Code : #

if BarIndex>1 then 
     ut=MIN((time-time[1])/100,ut[1])
else
     ut=100000
endif

return ut as "UT"
Le problème vient du passage de 23:59 à 00:01 qui donne un résultat fortement négatif qui par la suite est propagé par la fonction MIN.

Voici ce que je fait :

Code : #

//Renvoie la bonne UT en minutes (sauf pour la barre 0)
once ut=999
if barindex>0 then
    m=(hour*60)+minute[1]
    if m>m[1] then
        ut=m-m[1]
    else
        ut=ut[1]
    endif
    ut=min(ut,ut[1])
endif
return ut as "UT"
PS
Blast, j'ai essayé en ajoutant la fonction ABS à ton code, mais ce n'était toujours pas satisfaisant. Je n'ai pas creusé plus loin...

Sujets similaires
Outils de detection de Rotation sectorielle
Fichier(s) joint(s) par Djobydjoba » 29 avr. 2014 18:02 (42 Réponses)
PRT : détection gaps
Fichier(s) joint(s) par falex » 14 mai 2014 10:08 (27 Réponses)
PROSCREENER et détection KAGI
par Amarantine » 25 juil. 2014 16:41 (3 Réponses)
Proscreener : Détection de croisement STO
par Miju » 18 janv. 2015 02:25 (2 Réponses)
Journées de détection
Fichier(s) joint(s) par D.S. » 09 mars 2018 23:28 (68 Réponses)
Détection d'écrans - urgent
Fichier(s) joint(s) par smertrios90 » 26 févr. 2019 19:19 (47 Réponses)
Comment actualiser automatiquement le forum ?
par Rogue » 21 oct. 2014 11:17 (2 Réponses)
dupliquer alerte automatiquement
par GDX23 » 05 nov. 2014 12:05 (1 Réponses)
Maintenir le graphique centré automatiquement
Fichier(s) joint(s) par aa3 » 19 sept. 2016 22:42 (17 Réponses)