Cheers @GraHal, Here it is:
// Definition of code parameters
DEFPARAM CumulateOrders = False // Cumulating positions deactivated
// Conditions to enter long positions
indicator1 = CALL "Average Filter Regression"[43, a](close)
c1 = (close CROSSES OVER indicator1)
indicator2 = 25*BollingerBandWidth[21](close)
indicator3 = CALL "Average Filter Regression"[9, 30](25*BollingerBandWidth[21](close))
c2 = (indicator2 > indicator3)
IF c1 AND c2 THEN
BUY 10 PERPOINT AT MARKET
ENDIF
// Conditions to exit long positions
ignored, indicator4, ignored, ignored, ignored, ignored = CALL "Kase Dev Stop Lisse+SAR+4.5/6"
c3 = (close CROSSES UNDER indicator4)
IF c3 THEN
SELL AT MARKET
ENDIF
// Conditions to enter short positions
indicator5 = CALL "Average Filter Regression"[43, a](close)
c4 = (close CROSSES UNDER indicator5)
indicator6 = 25*BollingerBandWidth[21](close)
indicator7 = CALL "Average Filter Regression"[9, 30](25*BollingerBandWidth[21](close))
c5 = (indicator6 > indicator7)
IF c4 AND c5 THEN
SELLSHORT 10 PERPOINT AT MARKET
ENDIF
// Conditions to exit short positions
ignored, indicator8, ignored, ignored, ignored, ignored = CALL "Kase Dev Stop Lisse+SAR+4.5/6"
c6 = (close CROSSES OVER indicator8)
IF c6 THEN
EXITSHORT AT MARKET
ENDIF
//Voici le code en version SAR : plus WITH DEV STOP 4.5 + 6.0
//Settings
n=30
p1=1.0
p2=2.2
p3=3.6
p4=4.5
p5=6.0
difference=0
Hg=highest[2](high)
Lw=lowest[2](low)
DTR=max(max(Hg-Lw,abs(Hg-close[2])),abs(Lw-close[2]))
aDTR=average[n](DTR)
for i=0 to n-1 do
difference=difference+square(DTR[i]-aDTR)
next
difference=difference/n
sdev=sqrt(difference)
dev0=close-aDTR
dev1=close-aDTR-p1*sdev
dev2=close-aDTR-p2*sdev
dev3=close-aDTR-p3*sdev
dev4=close-aDTR-p4*sdev
dev5=close-aDTR-p5*sdev
if dev0<dev0[1] and close>dev5[1] then
dev0=dev0[1]
endif
if dev1<dev1[1] and close>dev5[1] then
dev1=dev1[1]
endif
if dev2<dev2[1] and close>dev5[1] then
dev2=dev2[1]
endif
if dev3<dev3[1] and close>dev5[1] then
dev3=dev3[1]
endif
if dev4<dev4[1] and close>dev5[1] then
dev4=dev4[1]
endif
if dev5<dev5[1] and close>dev5[1] then
dev5=dev5[1]
endif
dev6=close+aDTR
dev7=close+aDTR+p1*sdev
dev8=close+aDTR+p2*sdev
dev9=close+aDTR+p3*sdev
dev10=close+aDTR+p4*sdev
dev11=close+aDTR+p5*sdev
if dev6>dev6[1] and close<dev11[1] then
dev6=dev6[1]
endif
if dev7>dev7[1] and close<dev11[1] then
dev7=dev7[1]
endif
if dev8>dev8[1] and close<dev11[1] then
dev8=dev8[1]
endif
if dev9>dev9[1] and close<dev11[1] then
dev9=dev9[1]
endif
if dev10>dev10[1] and close<dev11[1] then
dev10=dev10[1]
endif
if dev11>dev11[1] and close<dev11[1] then
dev11=dev11[1]
endif
if close>dev11[1] then
flag=-1
else
if close<dev5[1] then
flag=1
endif
endif
if flag=-1 then
ind0=dev0
ind1=dev1
ind2=dev2
ind3=dev3
ind4=dev4
ind5=dev5
//k=1 Blue
r=0
g=191
b=255
else
ind0=dev6
ind1=dev7
ind2=dev8
ind3=dev9
ind4=dev10
ind5=dev11
//k=-1 Orange
r=255
g=128
b=0
endif
//ORIG return ind0 COLOURED BY k,ind1 coloured by k,ind2 coloured by k,ind3 coloured by k//
//ORANGE AND LIGHT BLUE
return ind0 coloured(r,g,b) style(dottedline,2) as "Warning Line", ind1 coloured(r,g,b) style(dottedline,2) as "Dev Stop 1.0", ind2 coloured(r,g,b) style(dottedline,2) as "Dev Stop 2.2", ind3 coloured(r,g,b) style(line,2) as "Dev Stop 3.6", ind4 coloured(r,g,b) style(dottedline,2) as "Dev Stop 4.5", ind5 coloured(r,g,b) style(line,2) as "Dev Stop 6.0"
//NO CHANGE OF COLOUR FOR TREND CHANGE return ind0 coloured(2, 118, 253) style(dottedline,2) as "Warning Line" ,ind1 coloured(2, 118, 253) style(dottedline,2) as "Dev Stop 1.0", ind2 coloured(2, 118, 253) style(dottedline,2) as "Dev Stop 2.2", ind3 coloured(2, 118, 253) style(line,2) as "Dev Stop 3.6", ind4 coloured(2, 118, 253) style(dottedline,2) as "Dev Stop 4.5", ind5 coloured(2, 118, 253) style(line,2) as "Dev Stop 6.0"
I was using filter #43 from here: https://www.prorealcode.com/prorealtime-indicators/average-filter-regression/
for first part of the Buy signal rules. The other part is the std deviation condition:
Indicator 2 is a 21 period Std Dev indicator. Buy signal if the std dev is > than a 30 period average (#9 from the list of 66 filters) to avoid flat markets.
Ps/ You should check out how the Kase Dev Stop rides some of those trends without stopping you out (regardless of entry type). 👌