Modifier la couleur du graphique selon conditions tendance regression lineaire
Forums › ProRealTime forum Français › Support ProBuilder › Modifier la couleur du graphique selon conditions tendance regression lineaire
- This topic has 4 replies, 2 voices, and was last updated 1 year ago by kats.
-
-
05/31/2023 at 4:39 PM #215513
Bonjour, j’ai emprunté le code de la tendance en régression linéaire ici et j’ai voulu le modifier pour qu’il me teinte le fond de l’écran en plus de la ligne de tendance.
j’ai donc rajouter en bricolant les backgroundcolor mais vraiment à l’arrache car je n’ai pas vraiment compris ce qui indique le changement de couleur de la régression linéaire dans le code.
Ca fonctionne mais n’ayant isolé les conditions je ne peux le coupler avec d’autres indics (rsi , mm etc;;;)dans un même indicateur pour avoir des conditions multiples.
j’aurai voulu mettre une condition du type c1= indicateur a la hausse et c2= indicateur a la baisse mais je ne vois pas comment faire
je mets le code modifié pour compréhension car je ne sais pas si je suis claire
merci de votre aide
Kats123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122// --- settingslen = 100off= 0dev= 0.01 //Deviation (minval=0.01)// --- end of settingsonce length=100if barindex>len thenc = closecp = clreg = linearregression[len](close)[off]lregx = linearregression[len](close)[off+1]b = barindexs = lreg - lregxintr = lreg - b*sdS = 0.0for i=0 to len-1 dodS= dS + square(cp[i]-(s*(b-i)+intr))de = sqrt(dS/(len))up = (-de*dev) + cdn= (de*dev) + cnextc5=(high+low)/2//factor = 0.001hb = 0.00hb = (hb[1])hl = 0.000hl = (hl[1])lb = 0.00lb = (lb[1])l1 = 0.000l1 = (l1[1])c2 = 0c2 = (c2[1]) + 1trend = 0trend = (trend[1])n = dnx = upif barindex=0 thenc2 = 0lb = nhb = xl1 = c5hl = c5//hlif c2 = 1 thenif x >= hb[1] thenhb = xhl = c5trend = 1//trendelselb = nl1 = c5trend = -1//trendendifendifendifif c > 1 thenif trend[1] > 0 thenhl = max(hl[1], c5)if x >= hb[1] thenhb = x//hbelseif n < hb[1] - hb[1] * factor thenlb = nl1 = c5trend = -1//trendendifendifelsel1 = min(l1[1], c5 )if n <= lb[1] thenlb = n//lbelseif x > lb[1] + lb[1] * factor thenhb = xhl = c5trend = 1//trendendifendifendifendifif trend = 1 thenv = hbr=255g=255b=0backgroundcolor (176,242,182)elsev = lbr=0g=0b=0backgroundcolor (254,191,210)endifendif//band = average[length](AverageTrueRange[1](close))*2return v coloured(r,g,b) style(line,3)//, v+band coloured(168,168,168), v-band coloured(168,168,168)06/01/2023 at 7:51 AM #215525Tu as bien bossé, bravo. Pour ajouter une ou des conditions pour permettre le changement de couleur du fond, tu peux modifier la partie de ton code qui affiche les backgroundcolor comme ceci (ici j’ajoute une condition avec le RSI supérieure ou inférieur au niveau 50)
12345678910111213141516if trend = 1 and rsi[14]>50 thenv = hbr=255g=255b=0backgroundcolor (176,242,182)endifif trend = -1 and rsi[14]<50 thenv = lbr=0g=0b=0backgroundcolor (254,191,210)endif06/01/2023 at 10:22 AM #21554306/01/2023 at 10:27 AM #21554411/15/2023 at 8:01 AM #223720Bonjour
j’utilise ce code de tend RL trouvé ici sur un graphique en renko 2le code n’arrete pas de se recalculer a la moindre intervention (passage d’ordre par exemple et me dit a chaque fois qu’il faudrait rajouter defparam calculateonlastbars
c’est ce que j’ai fait mais ca ne change rien ou alors je en le met pas au bon endroit.
pouvez vous m’aider svp?
cdlt// — settings
len = 100
off= 0
dev= 0.01 //Deviation (minval=0.01)
// — end of settingsonce length=100
if barindex>len then
c = close
cp = c
lreg = linearregression[len](close)[off]
lregx = linearregression[len](close)[off+1]
b = barindex
s = lreg – lregx
intr = lreg – b*s
dS = 0.0
for i=0 to len-1 do
dS= dS + square(cp[i]-(s*(b-i)+intr))
de = sqrt(dS/(len))
up = (-de*dev) + c
dn= (de*dev) + c
nextc5=(high+low)/2
//factor = 0.001
hb = 0.00
hb = (hb[1])
hl = 0.000
hl = (hl[1])lb = 0.00
lb = (lb[1])
l1 = 0.000
l1 = (l1[1])c2 = 0
c2 = (c2[1]) + 1trend = 0
trend = (trend[1])
n = dn
x = upif barindex=0 then
c2 = 0
lb = n
hb = x
l1 = c5
hl = c5
//hl
if c2 = 1 then
if x >= hb[1] then
hb = x
hl = c5
trend = 1
//trend
else
lb = n
l1 = c5
trend = -1
//trend
endif
endif
endifif c > 1 then
if trend[1] > 0 then
hl = max(hl[1], c5)
if x >= hb[1] then
hb = x
//hb
else
if n < hb[1] - hb[1] * factor then lb = n l1 = c5 trend = -1 //trend endif endif else l1 = min(l1[1], c5 ) if n <= lb[1] then lb = n //lb else if x > lb[1] + lb[1] * factor then
hb = x
hl = c5trend = 1
//trend
endif
endif
endif
endifif trend = 1 then
v = hb
r=255
g=255
b=0backgroundcolor (176,242,182)
else
v = lb
r=0
g=0
b=0backgroundcolor (254,191,210)
endif
endif
//band = average[length](AverageTrueRange[1](close))*2return v coloured(r,g,b) style(line,3)//, v+band coloured(168,168,168), v-band coloured(168,168,168)
-
AuthorPosts
Find exclusive trading pro-tools on