Hello everyone, after a long time from the creation and creation, I decided to share with the whole world and not just with a few friends, a very useful indicator. Not from trading directions, but helps eliminate the problem of emotions, the worst enemy of the trader. The Fill Channel, I called it that, is used to place the order the SL and TP, and the size. Try it is very intuitive, you could even share opportunities, maybe here in the forum. A dream would be that prorealtime put the Fill Channel between the default presets.
// By filviole@tin.it
// Once j=0
defparam CalculateOnLastBars = 10000000
defparam drawonlastbaronly=true
//---settings
//k=10
//s=0.001
//j=0
//AttivaEntry=1 //true
//AttivaStepLong=0 //false
//AttivaStepShort=0 //false
//Step=6
//PrimoBuy=0
//PipStopLoss=0
//QuanteEntry=3
//Money=0 //false
//Size=0.1
//--- end of settings
de48=DPO[k*2](close)
//de48=Average[k*2](close)
if de48=de48[1] and de48[1]=de48[2] and de48[2]<>de48[3] then
flag=1
endif
n=(k*2)-4
p=(n/2)-1
d100=DPO[n](close)
moy100=close-d100
co=(moy100-moy100[1]+(close[p])/n)*n
if flag=1 and flag[1]=0 then
test=linearregression[k](co)
test1=linearregressionslope[k](co)
a=test1
b=test-test1*k
endif
if flag=0 then
reg=undefined
else
j=j+1
reg=a*j+b
endif
bluH=reg+s
bluL=reg-s
ArancioH=(s*3)+reg
neroh=(s*2)+reg
nerol=reg-(s*2)
ArancioL=reg-(s*3)
pip1=(PrimoBuy)*pipsize
pip2=pipStopLoss*pipsize
step2=abs(Step)*pipsize
if AttivaStepLong then //====================== LONG
ArancioL=ArancioL-pip2 //+PipStop
StepL2=reg
StepL3=reg
StepL1=bluL-s-pip1
Buy11=StepL1*100000*size
StopLoss=ArancioL*100000*size
Target11=reg*100000*size
Target21=BluH*100000*size
Perdita=Stoploss-Buy11
Guadagno1=Target11-buy11
Guadagno2=Target21-buy11
if QuanteEntry>=2 then
StepL2=StepL1-Step2
Buy21=StepL2*100000*size
Perdita=(stoploss*2)-(Buy11+Buy21)
Guadagno1=(2*Target11)-(Buy11+Buy21)
Guadagno2=(2*Target21)-(Buy11+Buy21)
endif
if QuanteEntry=3 then
StepL3=StepL1-Step2-Step2
Buy21=StepL2*100000*size
Buy31=StepL3*100000*size
Perdita=(stoploss*3)-(Buy11+Buy21+Buy31)
Guadagno1=(3*Target11)-(Buy11+Buy21+Buy31)
Guadagno2=(3*Target21)-(Buy11+Buy21+Buy31)
endif
NeroL=NeroH
else
stepL1=neroL
stepL2=neroL
stepL3=neroL
endif
if AttivaStepShort then //======================= SHORT
ArancioH=ArancioH+pip2
StepS2=reg
StepS3=reg
StepS1=bluH+s+pip1
Buy1=StepS1*100000*size
StopLoss=ArancioH*100000*size
Target1=reg*100000*size
Target2=BluL*100000*size
Perdita=Buy1-stoploss
Guadagno1=Buy1-Target1
Guadagno2=Buy1-Target2
if QuanteEntry>=2 then
StepS2=StepS1+Step2
Buy2=StepS2*100000*size
Perdita=(Buy1+Buy2)-stoploss*2
Guadagno1=(Buy1+Buy2)-(2*Target1)
Guadagno2=(Buy1+Buy2)-(2*Target2)
endif
if QuanteEntry=3 then
StepS3=StepS1+Step2+Step2
Buy2=StepS2*100000*size
Buy3=StepS3*100000*size
Perdita=(Buy1+Buy2+Buy3)-stoploss*3
Guadagno1=(Buy1+Buy2+Buy3)-(3*Target1)
Guadagno2=(Buy1+Buy2+Buy3)-(3*Target2)
endif
NeroH=NeroL
else
stepS1=neroH
stepS2=neroH
stepS3=neroH
endif
if AttivaStepLong and AttivaStepShort then
NeroH=reg
NeroL=reg
endif
H1 = HIGHEST[12](HIGH)
L1 = LOWEST[12](LOW)
PM = (H1+L1)/2
S1 = (PM*2)-H1
R1 = (PM*2)-L1
alfaSuggerimenti=255*AttivaEntry
once numeroMassimoCandelePerInversione = 10
once ritardo = 0
if (barindex>2) then
HAclose= totalprice
HAOpen = (HAOpen[1]+HAclose[1])/2
HAHigh = Max (Max (High,HAOpen) , Max(HAOpen,HAclose))
HALow = MIN (Min(low,HAOpen),Min(HAOpen,HAclose))
endif
refClose=HAclose
refOpen=HAOpen
refHigh=HAHigh
refLow=HALow
if refClose crosses over neroH then
sbloccaInversioneShort=1
sbloccaInversioneShortIndex=barindex
endif
if refClose crosses under neroL then
sbloccaInversioneLong=1
sbloccaInversioneLongIndex=barindex
endif
if ((barindex - sbloccaInversioneShortIndex > numeroMassimoCandelePerInversione) or (refClose crosses over arancioH)) then
sbloccaInversioneShort=0 // slsupe
endif
if ((barindex - sbloccaInversioneLongIndex > numeroMassimoCandelePerInversione) or (refClose crosses under arancioL)) then
sbloccaInversioneLong=0
endif
if (sbloccaInversioneShort) then
shortCondition= refClose[1+ritardo] - refOpen[1+ritardo]>0 and refClose[0+ritardo] - refOpen[0+ritardo]<0
endif
if (sbloccaInversioneLong) then
longCondition= refClose[1+ritardo] - refOpen[1+ritardo]<0 and refClose[0+ritardo] - refOpen[0+ritardo]>0
endif
if (shortCondition) then
DRAWARROWDOWN(barindex, refHigh) coloured (159,0,0,alfaSuggerimenti)
sbloccaInversioneShort=0
shortCondition=0
endif
if (longCondition) then
DRAWARROWUP(barindex, refLow) coloured (0,51,255,alfaSuggerimenti)
sbloccaInversioneLong=0
longCondition=0
endif
//s3=close[1]
//cand=barindex-barindex+1
//DRAWTEXT("c=#lolo#", cand, low[1])
if Money and AttivaStepLong then
DRAWTEXT("#perdita#",barindex,ArancioL,SansSerif,Bold,20)coloured(255,0,0)
DRAWTEXT("#guadagno1#",barindex,reg,SansSerif,Bold,20)coloured(0,83,81)
DRAWTEXT("#guadagno2#",barindex,BluH,SansSerif,Bold,20)coloured(0,0,255)
endif
if Money and AttivaStepShort then
DRAWTEXT("#perdita#",barindex,ArancioH,SansSerif,Bold,20)coloured(255,0,0)
DRAWTEXT("#guadagno1#",barindex,reg,SansSerif,Bold,20)coloured(0,83,81)
DRAWTEXT("#guadagno2#",barindex,BluL,SansSerif,Bold,20)coloured(0,0,255)
endif
return S1 COLOURED(255, 0, 0) AS "Sup" , R1 COLOURED(51,204, 0) AS "Res",reg COLOURED(255, 0,0),bluh COLOURED(0,0,255),blul COLOURED(0, 0, 255),nerol COLOURED(0, 0, 0),neroh COLOURED(0, 0, 0),arancioH COLOURED(255, 100, 0) as "Stop Loss" ,ArancioL COLOURED(255, 100, 0)as "Stop Loss", stepL1 COLOURED(0,0,0) AS "STEP1", stepL2 COLOURED(0,0,0) AS "STEP2", stepL3 COLOURED(0,0,0) AS "STEP3" , stepS1 COLOURED(0,0,0) AS "STEP1", stepS2 COLOURED(0,0,0) AS "STEP2", stepS3 COLOURED(0,0,0) AS "STEP3"