Bonjour à tous,
J’aimerai colorer un indicateur en fonction de sa position par rapport à un autre paramètre de ce même indicateur.
Comme exemple j’ai pris le TDI où j’aimerai faire ressortir de couleurs différentes le TDI (mab) selon qu’il se trouve au dessus ou en dessous de “mid ”
A vos crayons si vous avez une idée …
// TDI Trader dynamic index by Nicolas
r = rsi[lengthrsi](close)
ma = average[lengthband](r)
offs = 1.6185 * std[lengthband](r)
up = ma+offs
dn = ma-offs
offs1 = 1.786 * std[lengthband](r)
up1 = ma+offs1
dn1 = ma-offs1
mid = (up+dn)/2
mab = average[lengthrsipl](r)
mbb = average[lengthtradesl](r)
lineup = 68
linemid = 50
linedown = 32
RETURN mab as "TDI" , mbb as " ma TDI " , lineup as "line up", linemid as "line mid", linedown as "line down", up coloured(0,238,238) as "up", dn coloured(0,238,238) as "dn", mid coloured(0,238,238) as "mid" , up1 coloured(0,238,238) as "up1", dn1 coloured(0,238,238) as "dn1"
// Variables :
// lengthRSI = 13 decimal
// lengthband = 34 decimal
// lengthrsipl = 2 entier
// lengthtradesl = 7 entier
Il faudrait créer 2 nouvelles variables et leur donner la valeur du mab en fonction de tes critères.
Je m’y suis mis ce matin et j’ai fais ça , ce qui me semble satisfaisant :
// TDI Trader dynamic index V1 by Nicolas modifié DID 17.10.2016
r = rsi[lengthrsi](close)
ma = average[lengthband](r)
offs = 1.6185 * std[lengthband](r)
up = ma+offs
dn = ma-offs
offs1 = 1.786 * std[lengthband](r)
up1 = ma+offs1
dn1 = ma-offs1
mid = (up+dn)/2
mab = average[lengthrsipl](r)
mbb = average[lengthtradesl](r)
lineup = 68
linemid = 50
linedown = 32
// coloration indicateur
if mab > mid then
signal = mab
else
signal = - mab
endif
RETURN mab coloured by signal as "TDI" , mbb as " ma TDI " , lineup as "line up", linemid as "line mid", linedown as "line down", up coloured(0,238,238) as "up", dn coloured(0,238,238) as "dn", mid coloured(0,238,238) as "mid" , up1 coloured(0,238,238) as "up1", dn1 coloured(0,238,238) as "dn1"
// Variables :
// lengthRSI = 13 decimal
// lengthband = 34 decimal
// lengthrsipl = 2 entier
// lengthtradesl = 7 entier
Ici tu ne colories que mab avec sa propre valeur en fait ..
Il faut bien comprendre l’instruction “coloured by” qui ne peut avoir que 2 conditions : soit 1 ou -1 (ou alors au dessus ou en dessous de 0). Si c’est supérieur à 0, alors la couleur de cette variable sera fonction de la couleur que tu choisiras pour “Hausse” dans la fenêtre de paramétrage et inversement quand c’est inférieur à 0.
Pourquoi “ne ” colories ? ma question initiale était de faire varier mab par rapport à mid. c’est à priori ce qui ressort du code où quelque chose m’échappe ?
bonne après midi.
Pas de soucis pour moi, c’est juste que l’utilisation que tu fais de “coloured by” est particulière mais en programmation aussi tous les chemins mènent à Rome ! 😉
Bonjour Nicolas,
L’utilisation de ” coloured by ” peut peut-être faire l’objet d’une petite vidéo sur ton blog, il est toujours utile de mieux comprendre ce que l’on fait parfois.
bonne journée