ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Re: Programme avec différentes UT

par Apo-71 » 01 mars 2017 22:40

J'ai maintenant des recherches à faire pour coder ça, je suis novice mais motivé :)
:merci:

Re: Programme avec différentes UT

par Apo-71 » 01 mars 2017 22:56

Je pense à deux options pour coder un ut M1 à partir d'un ut 1Sec :

-Incrémenter le nombre de bougies, mémoriser les HIGHEST et LOWEST dans des variables , et recommencer des que le compte est à 60.

-Ou utiliser la fonction TIME pour préciser l'open et la cluture de la barre et garder les HIGHEST et LOWEST pour les plus haut et plus bas.
( et dans cette deuxième option, on pourrait utiliser le 1Tick ou on a toujours le problème du dernier tick) ?

Qu'en pensez vous ?

Re: Programme avec différentes UT

par Apo-71 » 20 mars 2017 16:56

Après avoir mis de côté le code, j'y reviens, j’incrémente donc jusqu’à 30 secondes (un exemple).

Maintenant, comment faire pour mémoriser les high,low,open et close des dernières bougies sur mon ut 30s ( je dois créer des variables pour les X bougies que je veux garder en mémoire ?)

Une fois le code terminé je le publierais pour que tout le monde puisse en profiter, mais il me manque encore quelques détails :lol2:

Re: Programme avec différentes UT

par Jim » 20 mars 2017 17:24

Par exemple, pour le plus haut de tes 10 dernières bougies : Highest[9](high)

Pour des situations plus tordues il faudra utiliser BarIndex

Re: Programme avec différentes UT

par Apo-71 » 21 mars 2017 10:06

Je pars d'un ut 1s pour créer un ut 30s.

Lorsque je demande de regarder les bougies précédentes, avec [1,2,3 ou X] derrière une fonction, comme ton exemple Highest[9](high), cela regarde les 9 dernières secondes, et non les 9 dernières périodes de 30s.

Quel est le moyen pour sauvegarder temporairement ces données ?

A part créer une très grande quantité de variable :

highPeriodeMoinsUn
HighPeriodeMoinsDeux
HighPeriodeMoinsTrois ...

Et on multiplie pour sauvegarder les open,close, et low.
Donc cela fait 12 variables pour sauvegarder seulement les 3 dernières périodes de 30s. ça parait lourd, avec vous un moyen plus "ligh"

Re: Programme avec différentes UT

par Jim » 21 mars 2017 10:53

Ca dépend de ce que tu veux faire.

Je te mets ci-dessous un code maison pour calculer une Kijin(26) en UT 5min à partir d'une UT 1-tick.
Le code est lourdingue, mais beaucoup plus rapide que des codes plus élégants.
J'espère que ça pourra t'inspirer :

Code : #


ONCE i = 1 // compteur de chandeliers de 5 min, de 1 à 25

TestMOD5 = minute MOD 5 = 0

IF trigger AND TestMOD5 THEN // cette condition n'est vraie que pour le premier tick du nouveau chandelier de 5min
trigger = 0 // on désarme le trigger dans le premier tick du nouveau chandelier de 5min

IF i = 1 THEN
PlusHaut = Highest[barindex-barindex1-1](close)
PlusBas = Lowest[barindex-barindex1-1](close)
barindex1 = barindex
ELSIF i = 2 THEN
PlusHaut = Highest[barindex-barindex2-1](close)
PlusBas = Lowest[barindex-barindex2-1](close)
barindex2 = barindex
ELSIF i = 3 THEN
PlusHaut = Highest[barindex-barindex3-1](close)
PlusBas = Lowest[barindex-barindex3-1](close)
barindex3 = barindex
ELSIF i = 4 THEN
PlusHaut = Highest[barindex-barindex4-1](close)
PlusBas = Lowest[barindex-barindex4-1](close)
barindex4 = barindex
ELSIF i = 5 THEN
PlusHaut = Highest[barindex-barindex5-1](close)
PlusBas = Lowest[barindex-barindex5-1](close)
barindex5 = barindex
ELSIF i = 6 THEN
PlusHaut = Highest[barindex-barindex6-1](close)
PlusBas = Lowest[barindex-barindex6-1](close)
barindex6 = barindex
ELSIF i = 7 THEN
PlusHaut = Highest[barindex-barindex7-1](close)
PlusBas = Lowest[barindex-barindex7-1](close)
barindex7 = barindex
ELSIF i = 8 THEN
PlusHaut = Highest[barindex-barindex8-1](close)
PlusBas = Lowest[barindex-barindex8-1](close)
barindex8 = barindex
ELSIF i = 9 THEN
PlusHaut = Highest[barindex-barindex9-1](close)
PlusBas = Lowest[barindex-barindex9-1](close)
barindex9 = barindex
ELSIF i = 10 THEN
PlusHaut = Highest[barindex-barindex10-1](close)
PlusBas = Lowest[barindex-barindex10-1](close)
barindex10 = barindex
ELSIF i = 11 THEN
PlusHaut = Highest[barindex-barindex11-1](close)
PlusBas = Lowest[barindex-barindex11-1](close)
barindex11 = barindex
ELSIF i = 12 THEN
PlusHaut = Highest[barindex-barindex12-1](close)
PlusBas = Lowest[barindex-barindex12-1](close)
barindex12 = barindex
ELSIF i = 13 THEN
PlusHaut = Highest[barindex-barindex13-1](close)
PlusBas = Lowest[barindex-barindex13-1](close)
barindex13 = barindex
ELSIF i = 14 THEN
PlusHaut = Highest[barindex-barindex14-1](close)
PlusBas = Lowest[barindex-barindex14-1](close)
barindex14 = barindex
ELSIF i = 15 THEN
PlusHaut = Highest[barindex-barindex15-1](close)
PlusBas = Lowest[barindex-barindex15-1](close)
barindex15 = barindex
ELSIF i = 16 THEN
PlusHaut = Highest[barindex-barindex16-1](close)
PlusBas = Lowest[barindex-barindex16-1](close)
barindex16 = barindex
ELSIF i = 17 THEN
PlusHaut = Highest[barindex-barindex17-1](close)
PlusBas = Lowest[barindex-barindex17-1](close)
barindex17 = barindex
ELSIF i = 18 THEN
PlusHaut = Highest[barindex-barindex18-1](close)
PlusBas = Lowest[barindex-barindex18-1](close)
barindex18 = barindex
ELSIF i = 19 THEN
PlusHaut = Highest[barindex-barindex19-1](close)
PlusBas = Lowest[barindex-barindex19-1](close)
barindex19 = barindex
ELSIF i = 20 THEN
PlusHaut = Highest[barindex-barindex20-1](close)
PlusBas = Lowest[barindex-barindex20-1](close)
barindex20 = barindex
ELSIF i = 21 THEN
PlusHaut = Highest[barindex-barindex21-1](close)
PlusBas = Lowest[barindex-barindex21-1](close)
barindex21 = barindex
ELSIF i = 22 THEN
PlusHaut = Highest[barindex-barindex22-1](close)
PlusBas = Lowest[barindex-barindex22-1](close)
barindex22 = barindex
ELSIF i = 23 THEN
PlusHaut = Highest[barindex-barindex23-1](close)
PlusBas = Lowest[barindex-barindex23-1](close)
barindex23 = barindex
ELSIF i = 24 THEN
PlusHaut = Highest[barindex-barindex24-1](close)
PlusBas = Lowest[barindex-barindex24-1](close)
barindex24 = barindex
ELSIF i = 25 THEN
PlusHaut = Highest[barindex-barindex25-1](close)
PlusBas = Lowest[barindex-barindex25-1](close)
barindex25 = barindex
//ELSIF i = 26 THEN
//PlusHaut = Highest[barindex-barindex26-1](close)
//PlusBas = Lowest[barindex-barindex26-1](close)
//barindex26 = barindex
i=0 // i=0 en prévision de la future incrémentation
ENDIF

i=i+1 // on incrémente i pour le prochain chandelier

IF time > 100400 AND time < 215400 THEN  // la kijun est pertinente seulement à partir de 10h05 sur Future (25 périodes de 5min = 2h05)
Kijun = (PlusHaut+PlusBas)/2
ELSE
Kijun = 0
ENDIF



ELSIF NOT TestMOD5 THEN // armement du trigger lorsqu'on n'est plus dans la première minute du chandelier de 5min
trigger = 1
ENDIF

RETURN Kijun coloured (255,153,51) STYLE(line,2) as "Kijun 5min"



Re: Programme avec différentes UT

par Topitop » 11 avr. 2017 10:47

Bonjour,
J'ai posé la question à ig lors du dernier salon AT de Paris et l'utilisation de différentes ut dans les systèmes automatiques est dans la roadmap.
La fonction devrait être disponible dans quelques semaines m'ont ils dit.
J'ai hâte !

Sujets similaires
PV différentes sur graphes avancés
par Obi Wan Kenobi » 10 oct. 2011 22:47 (13 Réponses)
Bougies différentes en PRT et IG Markets?
par Obi Wan Kenobi » 10 oct. 2012 19:37 (5 Réponses)
Les différentes sortes de devises
par Les3BB » 10 mars 2013 15:24 (0 Réponses)
[Probuilder] Différentes unités de temps
par plataxis » 14 févr. 2016 00:13 (2 Réponses)
Nos croquis, sur différentes UT
par Alphonse » 01 mars 2016 18:14 (2 Réponses)
Différentes unités de temps et Scalping.
par krisboy » 24 mars 2016 23:01 (14 Réponses)
Relations entre différentes actions.
par Mike82 » 28 oct. 2016 18:49 (3 Réponses)
Les différentes étapes de création d'une méthode
par Sid » 29 mars 2018 20:06 (3 Réponses)