-
yedek....incelenip....tasarlanacak.....
PHP Code:
//@version=5
// Copyright (c) 2019-present, Franklin Moormann (cheatcountry)
// Reverse Moving Average Convergence Divergence [CC] script may be freely distributed under the MIT license.
indicator('*', max_bars_back=500, overlay=true)
////////////////////Ana Kalıp/////////////////////////
inp = input(title='Source', defval=close)
res = input.timeframe(title='Resolution', defval='')
rep = input(title='Allow Repainting?', defval=false)
//////////////////////////////////////////////////////
src1 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
fastLength1 = input.int(title='FastLength', defval=12, minval=1)
slowLength1 = input.int(title='SlowLength', defval=26, minval=1)
signalLength1 = input.int(title='SignalLength', defval=9, minval=1)
macdLevel1 = input.float(title='MacdLevel', defval=0, minval=0)
fastAlpha1 = 2.0 / (1 + fastLength1)
slowAlpha1 = 2.0 / (1 + slowLength1)
fastEma1 = ta.ema(src1, fastLength1)
slowEma1 = ta.ema(src1, slowLength1)
pMacdEq1 = fastAlpha1 - slowAlpha1 != 0 ? ((nz(fastEma1[1]) * fastAlpha1) - (nz(slowEma1[1]) * slowAlpha1)) / (fastAlpha1 - slowAlpha1) : 0
pMacdEqSig1 = ta.ema(pMacdEq1, signalLength1)
pMacdLevel1 = fastAlpha1 - slowAlpha1 != 0 ? (macdLevel1 - (nz(fastEma1[1]) * (1 - fastAlpha1)) + (nz(slowEma1[1]) * (1 - slowAlpha1))) / (fastAlpha1 - slowAlpha1) : 0
slo1 = src1 - pMacdEq1
sig1 = slo1 > 0 ? slo1 > nz(slo1[1]) ? 2 : 1 : slo1 < 0 ? slo1 < nz(slo1[1]) ? -2 : -1 : 0
rmacdColor = sig1 > 1 ? color.green : sig1 > 0 ? color.lime : sig1 < -1 ? color.maroon : sig1 < 0 ? color.red : color.white
plot(pMacdEq1, title='MACD',style=plot.style_cross, color=rmacdColor, linewidth=2)
plot(pMacdEqSig1, title='MacdEqSignal', color=color.rgb(255, 255, 255, 100), linewidth=1)
//plot(pMacdLevel1, title='MacdLevel', color=color.blue, linewidth=2)
memo1=(pMacdEq1+pMacdEqSig1+pMacdLevel1)/3
plot(memo1, title='Avarage', color=color.rgb(241, 225, 8, 100), linewidth=2)
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
src3 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length3 = input.int(title='Length', defval=12, minval=1)
rmsLength3 = input.int(title='RMSLength', defval=50, minval=1)
mom3 = src3 - nz(src3[length3])
hannLength3 = math.ceil(length3 / 1.4)
filt3 = 0.0
coef3 = 0.0
for i = 1 to hannLength3 by 1
cos3 = 1 - math.cos(2 * math.pi * i / (hannLength3 + 1))
filt3 += cos3 * nz(mom3[i - 1])
coef3 += cos3
coef3
hFilt3 = coef3 != 0 ? filt3 / coef3 : 0
filtMa3 = math.sum(math.pow(hFilt3, 2), rmsLength3) / rmsLength3
rms3 = filtMa3 > 0 ? math.sqrt(filtMa3) : 0
scaledFilt3 = rms3 != 0 ? hFilt3 / rms3 : 0
a13 = math.exp(-1.414 * math.pi * math.abs(scaledFilt3) / length3)
b13 = 2 * a13 * math.cos(1.414 * math.pi * math.abs(scaledFilt3) / length3)
c23 = b13
c33 = -a13 * a13
c13 = 1 - c23 - c33
dsss3 = 0.0
dsss3 := c13 * ((src3 + nz(src3[1])) / 2) + c23 * nz(dsss3[1]) + c33 * nz(dsss3[2])
slo3 = src3 - dsss3
sig3 = slo3 > 0 ? slo3 > nz(slo3[1]) ? 2 : 1 : slo3 < 0 ? slo3 < nz(slo3[1]) ? -2 : -1 : 0
dsssColor = sig3 > 1 ? color.green : sig3 > 0 ? color.lime : sig3 < -1 ? color.maroon : sig3 < 0 ? color.red : color.black
plot(dsss3, title='Filter', color=dsssColor, linewidth=2)
///////////////////////////////////////////////////////////
src4 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length4 = input.int(title='Length', defval=27, minval=1)
a14 = math.exp(-1.414 * math.pi / length4)
b14 = 2 * a14 * math.cos(1.414 * math.pi / length4)
c24 = b14
c34 = -a14 * a14
c14 = 1 - c24 - c34
ssf4 = 0.0
ssf4 := bar_index < 3 ? src4 : 0.5 * c14 * (src4 + nz(src4[1])) + c24 * nz(ssf4[1]) + c34 * nz(ssf4[2])
e14 = 0.0
e14 := bar_index < 3 ? 0 : c14 * (src4 - ssf4) + c24 * nz(e14[1]) + c34 * nz(e14[2])
aef4 = ssf4 + e14
slo4 = src4 - nz(aef4[1])
sig4 = slo4 > 0 ? slo4 > nz(slo4[1]) ? 2 : 1 : slo4 < 0 ? slo4 < nz(slo4[1]) ? -2 : -1 : 0
aefColor = sig4 > 1 ? color.green : sig4 > 0 ? color.lime : sig4 < -1 ? color.maroon : sig4 < 0 ? color.red : color.black
//plot(aef4, title='Filter', color=aefColor, linewidth=2)
//////////////////////////////////////////////////////////////
src5 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
acc5 = input.float(title='Accelerator', defval=1.0, minval=1.0, step=0.01)
minLength5 = input.int(title='MinLength', defval=5, minval=1)
maxLength5 = input.int(title='MaxLength', defval=50, minval=1)
smoothLength5 = input.int(title='SmoothLength', defval=4, minval=1)
mult5 = input.float(title='Multiple', defval=2.0, minval=.01)
// We are checking current volatility to see how high it is and adjust accordingly.
// If volatility is very high then we use the minLength and vice versa
// Reason behind this is to hug price closely during high volatility but lag for low volatility
mean5 = ta.sma(src5, maxLength5)
stdDev5 = ta.stdev(src5, maxLength5)
a5 = mean5 - 1.75 * stdDev5
b5 = mean5 - 0.25 * stdDev5
c5 = mean5 + 0.25 * stdDev5
d5 = mean5 + 1.75 * stdDev5
length5 = 0.0
length5 := src5 >= b5 and src5 <= c5 ? nz(length5[1], maxLength5) + 1 : src5 < a5 or src5 > d5 ? nz(length5[1], maxLength5) - 1 : nz(length5[1], maxLength5)
length5 := math.max(math.min(length5, maxLength5), minLength5)
len5 = math.round(length5)
// We are providing a dynamic weight depending on the current momentum
// When momentum is at an extreme for overbought/oversold then we give more weight to the current price
mf5 = na(volume) or volume == 0 ? 100.0 - 100.0 / (1.0 + src5 / len5) : ta.mfi(src5, len5)
mfScaled5 = mf5 * 2 - 100
p5 = acc5 + math.abs(mfScaled5) / 25
sum5 = 0.0
weightSum5 = 0.0
for i = 0 to len5 - 1 by 1
weight5 = math.pow(len5 - i, p5)
sum5 += src5[i] * weight5
weightSum5 += weight5
weightSum5
uma5 = ta.wma(sum5 / weightSum5, smoothLength5)
stdev55 = ta.stdev(src5, len5)
upperBand5 = uma5 + stdev55 * mult5
lowerBand5 = uma5 - stdev55 * mult5
slo5 = src5 - uma5
sig5 = src5 > upperBand5 and nz(src5[1]) <= nz(upperBand5[1]) or src5 > lowerBand5 and nz(src5[1]) <= nz(lowerBand5[1]) ? 1 : src5 < lowerBand5 and nz(src5[1]) >= nz(lowerBand5[1]) or src5 < upperBand5 and nz(src5[1]) >= nz(upperBand5[1]) ? -1 : slo5 > 0 ? slo5 > nz(slo5[1]) ? 2 : 1 : slo5< 0 ? slo5 < nz(slo5[1]) ? -2 : -1 : 0
umaColor = sig5 > 1 ? color.green : sig5 > 0 ? color.lime : sig5 < -1 ? color.maroon : sig5 < 0 ? color.red : color.black
//plot(upperBand5, title='UpperBand', linewidth=2, color=umaColor)
//plot(uma5, title='MiddleBand', linewidth=1, color=color.new(color.white, 0))
//plot(lowerBand5, title='LowerBand', linewidth=2, color=umaColor)
/////////////////////////////////////////////////////////////////////////////////////
src6 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
acc6 = input.float(title='Accelerator', defval=1.0, minval=1.0, step=0.01)
minLength6 = input.int(title='MinLength', defval=5, minval=1)
maxLength6 = input.int(title='MaxLength', defval=50, minval=1)
smoothLength6 = input.int(title='SmoothLength', defval=4, minval=1)
// We are checking current volatility to see how high it is and adjust accordingly.
// If volatility is very high then we use the minLength and vice versa
// Reason behind this is to hug price closely during high volatility but lag for low volatility
mean6 = ta.sma(src6, maxLength6)
stdDev6 = ta.stdev(src6, maxLength6)
a6 = mean6 - 1.75 * stdDev6
b6 = mean6 - 0.25 * stdDev6
c6 = mean6 + 0.25 * stdDev6
d6 = mean6 + 1.75 * stdDev6
length6 = 0.0
length6 := src6 >= b6 and src6 <= c6 ? nz(length6[1], maxLength6) + 1 : src6 < a6 or src6 > d6 ? nz(length6[1], maxLength6) - 1 : nz(length6[1], maxLength6)
length6 := math.max(math.min(length6, maxLength6), minLength6)
len6 = math.round(length6)
// We are providing a dynamic weight depending on the current momentum
// When momentum is at an extreme for overbought/oversold then we give more weight to the current price
mf6 = na(volume) or volume == 0 ? 100.0 - 100.0 / (1.0 + src6 / len6) : ta.mfi(src6, len6)
mfScaled6 = mf6 * 2 - 100
p6 = acc6 + math.abs(mfScaled6) / 25
sum6 = 0.0
weightSum6 = 0.0
for i = 0 to len6 - 1 by 1
weight6 = math.pow(len6 - i, p6)
sum6 += src6[i] * weight6
weightSum6 += weight6
weightSum6
uma6 = ta.wma(sum6 / weightSum6, smoothLength6)
slo6 = src6 - uma6
sig6 = slo6 > 0 ? slo6 > nz(slo6[1]) ? 2 : 1 : slo6 < 0 ? slo6 < nz(slo6[1]) ? -2 : -1 : 0
umaColor6 = sig6 > 1 ? color.green : sig6 > 0 ? color.lime : sig6 < -1 ? color.maroon : sig6 < 0 ? color.red : color.black
//plot(uma6, title='UMA', linewidth=2, color=umaColor6)
//////////////////////////////////////////////////////////
src7 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length7 = input.int(title='Length', defval=15, minval=1)
ma7 = ta.sma(src7, length7)
a7 = ta.linreg(src7, length7, 0)
m7 = a7 - nz(a7[1]) + ma7
ie27 = (m7 + a7) / 2
slo7 = src7 - ie27
sig7 = slo7 > 0 ? slo7 > nz(slo7[1]) ? 2 : 1 : slo7 < 0 ? slo7 < nz(slo7[1]) ? -2 : -1 : 0
ie2Color = sig7 > 1 ? color.green : sig7 > 0 ? color.lime : sig7 < -1 ? color.maroon : sig7 < 0 ? color.red : color.white
//plot(ie27, title='IE2', color=ie2Color, linewidth=2)
////////////////////////////////////////////////////////
src8 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length8 = input(title='Length', defval=14)
sum8 = 0.0
weightSum8 = 0.0
for i = 0 to length8 - 1 by 1
weight8 = math.pow(length8 - i, 3)
sum8 += src8[i] * weight8
weightSum8 += weight8
weightSum8
cwma8 = sum8 / weightSum8
sig8 = src8 > cwma8 ? 1 : src8 < cwma8 ? -1 : 0
cwmaColor = sig8 > 0 ? color.green : sig8 < 0 ? color.red : color.black
//plot(cwma8, title='CWMA', linewidth=2, color=cwmaColor)
////////////////////////////////////////////////////////////
src9 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length9 = input.int(title='Length', defval=15, minval=1)
pi9 = 2 * math.asin(1)
a9 = math.exp(-1.414 * pi9 / length9)
b9 = 2 * a9 * math.cos(1.414 * pi9 / length9)
c29 = b9
c39 = -a9 * a9
c19 = (1 - b9 + math.pow(a9, 2)) / 4
bf9 = 0.0
bf9 := bar_index < 3 ? src9 : c19 * (src9 + 2 * nz(src9[1]) + nz(src9[2])) + c29 * nz(bf9[1]) + c39 * nz(bf9[2])
sig9 = src9 > bf9 ? 1 : src9 < bf9 ? -1 : 0
bfColor9 = sig9 > 0 ? color.green : sig9 < 0 ? color.red : color.black
//plot(bf9, title='2PBF', color=bfColor9, linewidth=2)
///////////////////////////////////////////////////////
src10 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length10 = input.int(title='Length', defval=10, minval=1)
pi10 = 2 * math.asin(1)
a10 = math.exp(-1.414 * pi10 / length10)
b10 = 2 * a10 * math.cos(1.414 * 1.25 * pi10 / length10)
c210 = b10
c310 = -a10 * a10
c110 = 1 - c210 - c310
bf10 = 0.0
bf10 := c110 * src10 + c210 * nz(bf10[1]) + c310 * nz(bf10[2])
sig10 = src10 > bf10 ? 1 : src10 < bf10 ? -1 : 0
bfColor10 = sig10 > 0 ? color.green : sig10 < 0 ? color.red : color.black
//plot(bf10, title='2PBF', color=bfColor10, linewidth=2)
///////////////////////////////////////////////////////
src11 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length11 = input.int(title='Length', defval=15, minval=1)
pi11 = 2 * math.asin(1)
a111 = math.exp(-1.414 * pi11 / length11)
b111 = 2 * a111 * math.cos(1.414 * pi11 / length11)
coef211 = b111
coef311 = -a111 * a111
coef111 = 1 - coef211 - coef311
ssf11 = 0.0
ssf11 := bar_index < 3 ? src11 : coef111 * src11 + coef211 * nz(ssf11[1]) + coef311 * nz(ssf11[2])
sig11 = src11 > ssf11 ? 1 : src11 < ssf11 ? -1 : 0
ssfColor = sig11 > 0 ? color.green : sig11 < 0 ? color.red : color.black
//plot(ssf11, title='SSF', color=ssfColor, linewidth=2)
/////////////////////////////////////////////////////
src12 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length12 = input.int(title='Length', defval=10, minval=1)
pi12 = 2 * math.asin(1)
a12 = math.exp(-1.414 * pi12 / length12)
b12 = 2 * a12 * math.cos(1.414 * pi12 / length12)
c212 = b12
c312 = -a12 * a12
c112 = 1 - c212 - c312
ssf12 = 0.0
ssf12 := c112 * ((src12 + nz(src12[1])) / 2) + c212 * nz(ssf12[1]) + c312 * nz(ssf12[2])
sig12 = src12 > ssf12 ? 1 : src12 < ssf12 ? -1 : 0
ssfColor12 = sig12 > 0 ? color.green : sig12 < 0 ? color.red : color.black
//plot(ssf12, title='SSF', color=ssfColor12, linewidth=2)
/////////////////////////////////////////////////////
src13 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length13 = input.int(title='Length', defval=10, minval=1)
pi13 = 2 * math.asin(1)
a130 = math.exp(-pi13 / length13)
b130 = 2 * a130 * math.cos(1.738 * pi13 / length13)
c130 = a130 * a130
d213 = b130 + c130
d313 = -(c130 + b130 * c130)
d413 = c130 * c130
d113 = 1 - d213 - d313 - d413
bf13 = 0.0
bf13 := d113 * src13 + d213 * nz(bf13[1]) + d313 * nz(bf13[2]) + d413 * nz(bf13[3])
sig13 = src13 > bf13 ? 1 : src13 < bf13 ? -1 : 0
bfColor13 = sig13 > 0 ? color.green : sig13 < 0 ? color.red : color.black
//plot(bf13, title='3PBF', color=bfColor13, linewidth=2)
//////////////////////////////////////////////////////
src14 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length14 = input.int(title='Length', defval=15, minval=1)
pi14 = 2 * math.asin(1)
a114 = math.exp(-pi14 / length14)
b114 = 2 * a114 * math.cos(1.738 * pi14 / length14)
c114 = a114 * a114
coef214 = b114 + c114
coef314 = -(c114 + b114 * c114)
coef414 = c114 * c114
coef114 = (1 - b114 + c114) * (1 - c114) / 8
bf14 = 0.0
bf14 := bar_index < 4 ? src14 : coef114 * (src14 + 3 * nz(src14[1]) + 3 * nz(src14[2]) + nz(src14[3])) + coef214 * nz(bf14[1]) + coef314 * nz(bf14[2]) + coef414 * nz(bf14[3])
sig14 = src14 > bf14 ? 1 : src14 < bf14 ? -1 : 0
bfColor14 = sig14 > 0 ? color.green : sig14 < 0 ? color.red : color.black
//plot(bf14, title='3PBF', color=bfColor14, linewidth=2)
///////////////////////////////////////
src15 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length15 = input.int(title='Length', defval=15, minval=1)
pi15 = 2 * math.asin(1)
a115 = math.exp(-pi15 / length15)
b115 = 2 * a115 * math.cos(1.738 * pi15 / length15)
c115 = a115 * a115
coef215 = b115 + c115
coef315 = -(c115 + b115 * c115)
coef415 = c115 * c115
coef115 = 1 - coef215 - coef315 - coef415
ssf15 = 0.0
ssf15 := bar_index < 4 ? src15 : coef115 * src15 + coef215 * nz(ssf15[1]) + coef315 * nz(ssf15[2]) + coef415 * nz(ssf15[3])
sig15 = src15 > ssf15 ? 1 : src15 < ssf15 ? -1 : 0
ssfColor15 = sig15 > 0 ? color.green : sig15 < 0 ? color.red : color.black
//plot(ssf15, title='SSF', color=ssfColor15, linewidth=2)
////////////////////////////////////////////
src16 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length16 = input.int(title='Length', defval=20, minval=1)
pi16 = 2 * math.asin(1)
twoPiPrd16 = 2 * pi16 / length16
alpha16 = (math.cos(twoPiPrd16) + math.sin(twoPiPrd16) - 1) / math.cos(twoPiPrd16)
dec16 = 0.0
dec16 := alpha16 / 2 * (src16 + nz(src16[1])) + (1 - alpha16) * nz(dec16[1])
sig16 = src16 > dec16 ? 1 : src16 < dec16 ? -1 : 0
decColor16 = sig16 > 0 ? color.green : sig16 < 0 ? color.red : color.black
//plot(dec16, title='DEC', color=decColor16, linewidth=2)
////////////////////////////////
length17 = input.int(title='Length', defval=15, minval=1)
src17 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
num17 = 0.0
coefSum17 = 0.0
for i = 0 to length17 - 1 by 1
distance17 = 0.0
for lb17 = 1 to length17 - 1 by 1
distance17 += math.pow(nz(src17[i]) - nz(src17[i + lb17]), 2)
distance17
num17 += distance17 * nz(src17[i])
coefSum17 += distance17
coefSum17
filt17 = coefSum17 != 0 ? num17 / coefSum17 : 0
sig17 = src17 > filt17 ? 1 : src17 < filt17 ? -1 : 0
filtColor17 = sig17 > 0 ? color.green : sig17 < 0 ? color.red : color.black
//plot(filt17, title='Filter', color=filtColor17, linewidth=2)
///////////////////////////////
src18 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length18 = input.int(title="Length", defval=14, minval=1)
pedestal18 = input.float(title="Pedestal", defval=3, minval=0.01)
filt18 = 0.0, coef18 = 0.0
for i = 0 to length18 - 1
sine18 = math.sin(pedestal18 + (((math.pi - (2 * pedestal18)) * i) / (length18 - 1)))
filt18 := filt18 + (sine18 * nz(src18[i]))
coef18 := coef18 + sine18
filt18 := coef18 != 0 ? filt18 / coef18 : 0
slo18 = src18 - filt18
sig18 = slo18 > 0 ? slo18 > nz(slo18[1]) ? 2 : 1 : slo18 < 0 ? slo18 < nz(slo18[1]) ? -2 : -1 : 0
hmaColor18 = sig18 > 1 ? color.green : sig18 > 0 ? color.lime : sig18 < -1 ? color.maroon : sig18 < 0 ? color.red : color.white
//plot(filt18, title='Hma', color=hmaColor18, linewidth=2)
//////////////////////////////
src19 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length19 = input.int(title="Length", defval=14, minval=1)
filt19 = 0.0, coef19 = 0.0
for i = 1 to length19 by 1
cosine19 = 1 - math.cos(2 * math.pi * i / (length19 + 1))
filt19 += cosine19 * nz(src19[i - 1])
coef19 += cosine19
filt19 := coef19 != 0 ? filt19 / coef19 : 0
slo19 = src19 - filt19
sig19 = slo19 > 0 ? slo19 > nz(slo19[1]) ? 2 : 1 : slo19 < 0 ? slo19 < nz(slo19[1]) ? -2 : -1 : 0
hmaColor19 = sig19 > 1 ? color.green : sig19 > 0 ? color.lime : sig19 < -1 ? color.maroon : sig19 < 0 ? color.red : color.white
//plot(filt19, title='Hma', color=hmaColor19, linewidth=2)
/////////////////////////////////////
src20 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
pi20 = 2 * math.asin(1)
period20 = 0.0
smooth20 = (4 * src20 + 3 * nz(src20[1]) + 2 * nz(src20[2]) + nz(src20[3])) / 10
detrender20 = (0.0962 * smooth20 + 0.5769 * nz(smooth20[2]) - 0.5769 * nz(smooth20[4]) - 0.0962 * nz(smooth20[6])) * (0.075 * nz(period20[1]) + 0.54)
q120 = (0.0962 * detrender20 + 0.5769 * nz(detrender20[2]) - 0.5769 * nz(detrender20[4]) - 0.0962 * nz(detrender20[6])) * (0.075 * nz(period20[1]) + 0.54)
i120 = nz(detrender20[3])
jI20 = (0.0962 * i120 + 0.5769 * nz(i120[2]) - 0.5769 * nz(i120[4]) - 0.0962 * nz(i120[6])) * (0.075 * nz(period20[1]) + 0.54)
jQ20 = (0.0962 * q120 + 0.5769 * nz(q120[2]) - 0.5769 * nz(q120[4]) - 0.0962 * nz(q120[6])) * (0.075 * nz(period20[1]) + 0.54)
i220 = i120 - jQ20
i220 := 0.2 * i220 + 0.8 * nz(i220[1])
q220 = q120 + jI20
q220 := 0.2 * q220 + 0.8 * nz(q220[1])
re20 = i220 * nz(i220[1]) + q220 * nz(q220[1])
re20 := 0.2 * re20 + 0.8 * nz(re20[1])
im20= i220 * nz(q220[1]) - q220 * nz(i220[1])
im20 := 0.2 * im20 + 0.8 * nz(im20[1])
period20 := im20 != 0 and re20 != 0 ? 2 * pi20 / math.atan(im20 / re20) : 0
period20 := math.min(math.max(period20, 0.67 * nz(period20[1])), 1.5 * nz(period20[1]))
period20 := math.min(math.max(period20, 6), 50)
period20 := 0.2 * period20 + 0.8 * nz(period20[1])
smoothPeriod20 = 0.0
smoothPeriod20 := 0.33 * period20 + 0.67 * nz(smoothPeriod20[1])
dcPeriod20 = math.ceil(smoothPeriod20 + 0.5)
iTrend20 = 0.0
for i = 0 to dcPeriod20 - 1 by 1
iTrend20 += nz(src20[i])
iTrend20
iTrend20 := dcPeriod20 > 0 ? iTrend20 / dcPeriod20 : iTrend20
trendline20 = (4 * iTrend20 + 3 * nz(iTrend20[1]) + 2 * nz(iTrend20[2]) + nz(iTrend20[3])) / 10
sig20 = smooth20 > trendline20 ? 1 : smooth20 < trendline20 ? -1 : 0
tlColor20 = sig20 > 0 ? color.green : sig20 < 0 ? color.red : color.black
//plot(trendline20, title='Trendline', color=tlColor20, linewidth=2)
///////////////////////////////////
src21 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
alpha21 = input.float(title='Alpha', defval=0.07, minval=0.01, step=0.01)
itrend21 = 0.0
itrend21 := bar_index < 7 ? (src21 + 2 * nz(src21[1]) + nz(src21[2])) / 4 : (alpha21 - math.pow(alpha21, 2) / 4) * src21 + 0.5 * math.pow(alpha21, 2) * nz(src21[1]) - (alpha21 - 0.75 * math.pow(alpha21, 2)) * nz(src21[2]) + 2 * (1 - alpha21) * nz(itrend21[1]) - math.pow(1 - alpha21, 2) * nz(itrend21[2])
trigger21 = 2 * itrend21 - nz(itrend21[2])
sig21 = trigger21 > itrend21 ? 1 : trigger21 < itrend21 ? -1 : 0
itColor21 = sig21 > 0 ? color.green : sig21 < 0 ? color.red : color.black
//plot(trigger21, title='Trigger', color=itColor21, linewidth=2)
//plot(itrend21, title='ITrend', color=color.new(color.black, 0), linewidth=1)
//////////////////////
src22 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length22 = input.int(title='Length', defval=20, minval=1)
deltaSum22 = 0.0
for int i = 0 to length22 - 1 by 1
deltaSum22 += math.abs(nz(src22[i]) - nz(src22[i + 1]))
ef22 = deltaSum22 != 0 ? math.min(math.abs(src22 - nz(src22[length22 - 1])) / deltaSum22, 1) : 0
s22 = math.pow((0.6667 * ef22) + 0.0645, 2)
kama22 = 0.0
kama22 := (s22 * src22) + ((1 - s22) * nz(kama22[1]))
slo22 = src22 - kama22
sig22 = slo22 > 0 ? slo22 > nz(slo22[1]) ? 2 : 1 : slo22 < 0 ? slo22 < nz(slo22[1]) ? -2 : -1 : 0
kamaColor22 = sig22 > 1 ? color.green : sig22 > 0 ? color.lime : sig22 < -1 ? color.maroon : sig22 < 0 ? color.red : color.black
//plot(kama22, title='Filter', color=kamaColor22, linewidth=2)
////////////////////////
src23 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
gamma23 = input.float(title='Gamma', defval=0.8, minval=0.01, step=0.01)
l023 = 0.0
l023 := (1 - gamma23) * src23 + gamma23 * nz(l023[1])
l123 = 0.0
l123 := -gamma23 * l023 + nz(l023[1]) + gamma23 * nz(l123[1])
l223 = 0.0
l223 := -gamma23 * l123 + nz(l123[1]) + gamma23 * nz(l223[1])
l323 = 0.0
l323 := -gamma23 * l223 + nz(l223[1]) + gamma23 * nz(l323[1])
filt23 = (l023 + 2 * l123 + 2 * l223 + l323) / 6
fir23 = (src23 + 2 * nz(src23[1]) + 2 * nz(src23[2]) + nz(src23[3])) / 6
sig23 = fir23 > filt23 ? 1 : fir23 < filt23 ? -1 : 0
lfColor23 = sig23 > 0 ? color.green : sig23 < 0 ? color.red : color.black
//plot(filt23, title='FILT', color=lfColor23, linewidth=2)
//plot(fir23, title='FIR', color=color.new(color.black, 0), linewidth=1)
/////////////////////////////////
src24 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
threshold24 = input.float(title='Threshold', defval=0.002, minval=0.0001, step=0.001)
length24 = input.int(title='Length', defval=39, minval=1)
smth24 = (src24 + (2 * nz(src24[1])) + (2 * nz(src24[2])) + nz(src24[3])) / 6
len24 = length24
v324 = 0.2, v224 = 0.0, alpha24 = 0.0
while (v324 > threshold24 and len24 > 0)
alpha24 := 2.0 / (len24 + 1)
v124 = ta.median(smth24, len24)
v224 := (alpha24 * smth24) + ((1 - alpha24) * nz(v224[1]))
v324 := v124 != 0 ? math.abs(v124 - v224) / v124 : v324
len24 -= 2
len24 := len24 < 3 ? 3 : len24
alpha24 := 2.0 / (len24 + 1)
filter24 = 0.0
filter24 := (alpha24 * smth24) + ((1 - alpha24) * nz(filter24[1]))
slo24 = src24 - filter24
sig24 = slo24 > 0 ? slo24 > nz(slo24[1]) ? 2 : 1 : slo24 < 0 ? slo24 < nz(slo24[1]) ? -2 : -1 : 0
maafColor24 = sig24 > 1 ? color.green : sig24 > 0 ? color.lime : sig24 < -1 ? color.maroon : sig24 < 0 ? color.red : color.black
//plot(filter24, title='MAAF', linewidth=2, color=maafColor24)
///////////////////////////////
src25 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
fastLimit25 = input.float(title='FastLimit', defval=0.5, minval=0.01, step=0.01)
slowLimit25 = input.float(title='SlowLimit', defval=0.05, minval=0.01, step=0.01)
pi25 = 2 * math.asin(1)
period25 = 0.0
smooth25 = (4 * src25 + 3 * nz(src25[1]) + 2 * nz(src25[2]) + nz(src25[3])) / 10
detrender25 = (0.0962 * smooth25 + 0.5769 * nz(smooth25[2]) - 0.5769 * nz(smooth25[4]) - 0.0962 * nz(smooth25[6])) * (0.075 * nz(period25[1]) + 0.54)
q125 = (0.0962 * detrender25 + 0.5769 * nz(detrender25[2]) - 0.5769 * nz(detrender25[4]) - 0.0962 * nz(detrender25[6])) * (0.075 * nz(period25[1]) + 0.54)
i125 = nz(detrender25[3])
jI25 = (0.0962 * i125 + 0.5769 * nz(i125[2]) - 0.5769 * nz(i125[4]) - 0.0962 * nz(i125[6])) * (0.075 * nz(period25[1]) + 0.54)
jQ25 = (0.0962 * q125 + 0.5769 * nz(q125[2]) - 0.5769 * nz(q125[4]) - 0.0962 * nz(q125[6])) * (0.075 * nz(period25[1]) + 0.54)
i225 = i125 - jQ25
i225 := 0.2 * i225 + 0.8 * nz(i225[1])
q225 = q125 + jI25
q225 := 0.2 * q225 + 0.8 * nz(q225[1])
re25 = i225 * nz(i225[1]) + q225 * nz(q225[1])
re25 := 0.2 * re25 + 0.8 * nz(re25[1])
im25 = i225 * nz(q225[1]) - q225 * nz(i225[1])
im25 := 0.2 * im25 + 0.8 * nz(im25[1])
period25 := im25 != 0 and re25 != 0 ? 2 * pi25 / math.atan(im25 / re25) : 0
period25 := math.min(math.max(period25, 0.67 * nz(period25[1])), 1.5 * nz(period25[1]))
period25 := math.min(math.max(period25, 6), 50)
period25 := 0.2 * period25 + 0.8 * nz(period25[1])
smoothPeriod25 = 0.0
smoothPeriod25 := 0.33 * period25 + 0.67 * nz(smoothPeriod25[1])
phase25 = i125 != 0 ? math.atan(q125 / i125) * 180 / pi25 : 0
deltaPhase25 = nz(phase25[1]) - phase25
deltaPhase25 := deltaPhase25 < 1 ? 1 : deltaPhase25
alpha25 = fastLimit25 / deltaPhase25
alpha25 := alpha25 < slowLimit25 ? slowLimit25 : alpha25
mama25 = 0.0
mama25 := alpha25 * src25 + (1 - alpha25) * nz(mama25[1])
fama25 = 0.0
fama25 := 0.5 * alpha25 * mama25 + (1 - 0.5 * alpha25) * nz(fama25[1])
sig25 = mama25 > fama25 ? 1 : mama25 < fama25 ? -1 : 0
mamaColor25 = sig25 > 0 ? color.green : sig25 < 0 ? color.red : color.black
//plot(mama25, title='MAMA', color=mamaColor25, linewidth=2)
//plot(fama25, title='FAMA', color=color.new(color.black, 0), linewidth=1)
//////////////////////////////////////
length26 = input.int(title='Length', defval=15, minval=1)
momLength26 = input.int(title='MomentumLength', defval=5, minval=1)
src26 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
num26 = 0.0
coefSum26 = 0.0
for i = 0 to length26 - 1 by 1
coef26 = math.abs(nz(src26[i]) - nz(src26[i + momLength26]))
num26 += coef26 * nz(src26[i])
coefSum26 += coef26
coefSum26
filt26 = coefSum26 != 0 ? num26 / coefSum26 : 0
sig26 = src26 > filt26 ? 1 : src26 < filt26 ? -1 : 0
filtColor26 = sig26 > 0 ? color.green : sig26 < 0 ? color.red : color.black
//plot(filt26, title='Filter', color=filtColor26, linewidth=2)
//////////////////////////////////
src27 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
wma127 = (7 * src27 + 6 * nz(src27[1]) + 5 * nz(src27[2]) + 4 * nz(src27[3]) + 3 * nz(src27[4]) + 2 * nz(src27[5]) + nz(src27[6])) / 28
wma227 = (7 * wma127 + 6 * nz(wma127[1]) + 5 * nz(wma127[2]) + 4 * nz(wma127[3]) + 3 * nz(wma127[4]) + 2 * nz(wma127[5]) + nz(wma127[6])) / 28
predict27 = 2 * wma127 - wma227
trigger27 = (4 * predict27 + 3 * nz(predict27[1]) + 2 * nz(predict27[2]) + nz(predict27[3])) / 10
sig27 = predict27 > trigger27 ? 1 : predict27 < trigger27 ? -1 : 0
pmaColor27 = sig27 > 0 ? color.green : sig27 < 0 ? color.red : color.black
//plot(predict27, title='Predict', color=pmaColor27, linewidth=2)
//plot(trigger27, title='Trigger', color=color.new(color.black, 0), linewidth=1)
/////////////////////////////////////
src28 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length28 = input.int(title="Length", defval=14, minval=1)
filt28 = 0.0, coef28 = 0.0, l228 = length28 / 2.0
for i = 1 to length28
c28 = i < l228 ? i : i > l228 ? length28 + 1 - i : l228
filt28 := filt28 + (c28 * nz(src28[i - 1]))
coef28 := coef28 + c28
filt28 := coef28 != 0 ? filt28 / coef28 : 0
slo28 = src28 - filt28
sig28 = slo28 > 0 ? slo28 > nz(slo28[1]) ? 2 : 1 : slo28 < 0 ? slo28 < nz(slo28[1]) ? -2 : -1 : 0
tmaColor28 = sig28 > 1 ? color.green : sig28 > 0 ? color.lime : sig28 < -1 ? color.maroon : sig28 < 0 ? color.red : color.white
//plot(filt28, title='Tma', color=tmaColor28, linewidth=2)
//////////////////////////////////
src29 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
shortLength29 = input.int(title='ShortLength', defval=9, minval=1)
longLength29 = input.int(title='LongLength', defval=30, minval=1)
shortAvg29 = ta.wma(src29, shortLength29)
shortMa29 = math.sum(math.pow(src29 - shortAvg29, 2), shortLength29) / shortLength29
shortRms29 = shortMa29 > 0 ? math.sqrt(shortMa29) : 0
longAvg29 = ta.wma(src29, longLength29)
longMa29 = math.sum(math.pow(src29 - longAvg29, 2), longLength29) / longLength29
longRms29 = longMa29 > 0 ? math.sqrt(longMa29) : 0
kk29 = longRms29 != 0 ? 0.2 * shortRms29 / longRms29 : 0
vidya29 = 0.0
vidya29 := kk29 * src29 + (1 - kk29) * nz(vidya29[1])
slo29 = src29 - vidya29
sig29 = slo29 > 0 ? slo29 > nz(slo29[1]) ? 2 : 1 : slo29 < 0 ? slo29 < nz(slo29[1]) ? -2 : -1 : 0
vidyaColor29 = sig29 > 1 ? color.green : sig29 > 0 ? color.lime : sig29 < -1 ? color.maroon : sig29 < 0 ? color.red : color.black
//plot(vidya29, title='Vidya', color=vidyaColor29, linewidth=2)
////////////////////////////////////////
src31 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length31 = input(title='Length', defval=11)
offset31 = input(title='Offset', defval=4)
sum31 = 0.0
weightSum31 = 0.0
for i = 0 to length31 - 1 by 1
weight31 = length31 - i - offset31
sum31 += src31[i] * weight31
weightSum31 += weight31
weightSum31
epma31 = 1 / weightSum31 * sum31
sig31 = src31 > epma31 ? 1 : src31 < epma31 ? -1 : 0
epmaColor31 = sig31 > 0 ? color.green : sig31 < 0 ? color.red : color.black
//plot(epma31, title='EPMA', linewidth=2, color=epmaColor31)
////////////////////////////////
src32 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length32 = input.int(title='Length', defval=14, minval=1)
jsa32 = (src32 + src32[length32]) / 2
sig32 = src32 > jsa32 ? 1 : src32 < jsa32 ? -1 : 0
jsaColor32 = sig32 > 0 ? color.green : sig32 < 0 ? color.red : color.black
//plot(jsa32, color=jsaColor32, linewidth=2)
/////////////////////////////
src33 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
fastLength33 = input.int(title = "FastLength", defval = 14, minval = 1)
slowLength33 = input.int(title = "SlowLength", defval = 30, minval = 1)
leavittProjection(src33, length33) =>
result33 = ta.linreg(src33, length33, -1)
fastLp33 = leavittProjection(src33, fastLength33)
slowLp33 = leavittProjection(src33, slowLength33)
slo33 = fastLp33 - slowLp33
sig33 = slo33 > 0 ? slo33 > nz(slo33[1]) ? 2 : 1 : slo33 < 0 ? slo33 < nz(slo33[1]) ? -2 : -1 : 0
lpColor33 = sig33 > 1 ? color.green : sig33 > 0 ? color.lime : sig33 < -1 ? color.maroon : sig33 < 0 ? color.red : color.white
//plot(fastLp33, title = 'FastLp', color = lpColor33, linewidth = 2)
//plot(slowLp33, title = 'SlowLp', color = chart.fg_color, linewidth = 1)
//////////////////////////////////
src34 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length34 = input(title='Length', defval=5)
k34 = input.float(title='K Constant', step=0.1, defval=0.6)
mdi34 = 0.0
mdi34 := na(mdi34[1]) ? src34 : nz(mdi34[1]) + (src34 - nz(mdi34[1])) / math.max(k34 * length34 * math.pow(src34 / nz(mdi34[1]), 4), 1)
sig34 = src34 > mdi34 ? 1 : src34 < mdi34 ? -1 : 0
mdiColor34 = sig34 > 0 ? color.green : sig34 < 0 ? color.red : color.black
//plot(mdi34, title='MDI', linewidth=2, color=mdiColor34)
////////////////////////////////////////////
src35 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length35 = input.int(title='Length', defval=10, minval=1)
fastLength35 = input.int(title='FastLength', defval=2, minval=1)
slowLength35 = input.int(title='SlowLength', defval=30, minval=1)
// first half uses the same formula as the kaufman adaptive moving average
diff35 = math.abs(src35 - nz(src35[1]))
signal35 = math.abs(src35 - nz(src35[length35]))
noise35 = math.sum(diff35, length35)
ratio35 = noise35 != 0 ? signal35 / noise35 : 0
// this is where it differs from the kaufman adaptive moving average
fastSc35 = 2 / (fastLength35 + 1)
slowSc35 = 2 / (slowLength35 + 1)
temp35 = ratio35 * fastSc35 + slowSc35
maaq35 = 0.0
prevMaaq35 = nz(maaq35[1], src35)
maaq35 := prevMaaq35 + math.pow(temp35, 2) * (src35 - prevMaaq35)
sig35 = src35 > maaq35 ? 1 : src35 < maaq35 ? -1 : 0
maaqColor35 = sig35 > 0 ? color.green : sig35 < 0 ? color.red : color.black
//plot(maaq35, title='MAAQ', linewidth=2, color=maaqColor35)
///////////////////////////////
src36 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
fac36 = input.float(title='Factor', defval=0.2, minval=0.01)
val236 = 2 / fac36 - 1
factor36 = 2 / (val236 + 1)
mwdx36 = 0.0
mwdx36 := factor36 * src36 + (1 - factor36) * nz(mwdx36[1], src36)
sig36 = src36 > mwdx36 ? 1 : src36 < mwdx36 ? -1 : 0
mwdxColor36 = sig36 > 0 ? color.green : sig36 < 0 ? color.red : color.black
//plot(mwdx36, title='MWDX', linewidth=2, color=mwdxColor36)
////////////////////////
src37 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
fastLength37 = input.int(title='FastLength', defval=10, minval=1)
slowLength37 = input.int(title='SlowLength', defval=50, minval=1)
mult37 = input.int(title='Multiple', defval=1, minval=1)
fastEma37 = ta.ema(src37, fastLength37)
slowEma37 = ta.ema(src37, slowLength37)
sqAvg37 = math.sum(math.pow(slowEma37 - fastEma37, 2), fastLength37) / fastLength37
dev37 = math.sqrt(sqAvg37) * mult37
upperBand37 = slowEma37 + dev37
lowerBand37 = slowEma37 - dev37
middleBand37 = fastEma37
sig37 = src37 > upperBand37 and nz(src37[1]) <= nz(upperBand37[1]) or src37 > lowerBand37 and nz(src37[1]) <= nz(lowerBand37[1]) ? 1 : src37 < lowerBand37 and nz(src37[1]) >= nz(lowerBand37[1]) or src37 < upperBand37 and nz(src37[1]) >= nz(upperBand37[1]) ? -1 : src37 > middleBand37 ? 1 : src37 < middleBand37 ? -1 : 0
mabColor37 = sig37 > 0 ? color.green : sig37 < 0 ? color.red : color.black
//plot(upperBand37, title='MabUp', color=mabColor37, linewidth=2)
//plot(middleBand37, title='MabMid', color=color.new(color.black, 0), linewidth=1)
//plot(lowerBand37, title='MabLow', color=mabColor37, linewidth=2)
//////////////////////////////////
src38 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length38 = input(title='Length', defval=14)
sum38 = 0.0
weightSum38 = 0.0
owma38 = 0.0
for i = 0 to length38 - 1 by 1
corr38 = ta.correlation(src38, owma38, length38)
weight38 = math.pow(length38 - i, corr38)
sum38 += src38[i] * weight38
weightSum38 += weight38
weightSum38
owma38 := sum38/ weightSum38
sig38 = src38 > owma38 ? 1 : src38 < owma38 ? -1 : 0
owmaColor38 = sig38 > 0 ? color.green : sig38 < 0 ? color.red : color.black
//plot(owma38, title='OWMA', linewidth=2, color=owmaColor38)
/////////////////////////////////
src39 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
minLength39 = input.int(title='MinLength', defval=5, minval=1)
maxLength39 = input.int(title='MaxLength', defval=50, minval=1)
mean39 = ta.sma(src39, maxLength39)
stdDev39 = ta.stdev(src39, maxLength39)
a39 = mean39 - 1.75 * stdDev39
b39 = mean39 - 0.25 * stdDev39
c390 = mean39 + 0.25 * stdDev39
d39 = mean39 + 1.75 * stdDev39
length39 = 0.0
length39 := src39 >= b39 and src39 <= c390 ? nz(length39[1], maxLength39) + 1 : src39 < a39 or src39 > d39 ? nz(length39[1], maxLength39) - 1 : nz(length39[1], maxLength39)
length39 := math.max(math.min(length39, maxLength39), minLength39)
sc39 = 2 / (length39 + 1)
vlma39 = 0.0
vlma39 := src39 * sc39 + (1 - sc39) * nz(vlma39[1], src39)
sig39 = src39 > vlma39 ? 1 : src39 < vlma39 ? -1 : 0
vlmaColor39 = sig39 > 0 ? color.green : sig39 < 0 ? color.red : color.black
//plot(vlma39, title='VLMA', linewidth=2, color=vlmaColor39)
//////////////////////////////
src41 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length41 = input(title='Length', defval=14)
p41 = input.float(title='Power', minval=0, defval=1.0)
sum41 = 0.0
weightSum41 = 0.0
for i = 0 to length41 - 1 by 1
weight41 = math.pow(length41 - i, p41)
sum41 += src41[i] * weight41
weightSum41 += weight41
weightSum41
vpwma41 = sum41 / weightSum41
sig41 = src41 > vpwma41 ? 1 : src41 < vpwma41 ? -1 : 0
vpwmaColor41 = sig41 > 0 ? color.green : sig41 < 0 ? color.red : color.black
//plot(vpwma41, title='VPWMA', linewidth=2, color=vpwmaColor41)
/////////////////////////////
src42 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length42 = input(title='Length', defval=14)
sum42 = 0.0
weightSum42 = 0.0
for i = 0 to length42 - 1 by 1
weight42 = math.pow(length42 - i, 2)
sum42 += src42[i] * weight42
weightSum42 += weight42
weightSum42
swma42 = sum42 / weightSum42
sig42 = src42 > swma42 ? 1 : src42 < swma42 ? -1 : 0
swmaColor42 = sig42 > 0 ? color.green : sig42 < 0 ? color.red : color.black
//plot(swma42, title='SWMA', linewidth=2, color=swmaColor42)
//////////////////////////
src43 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length43 = input(title='Length', defval=14)
sum43 = 0.0
weightSum43 = 0.0
for i = 0 to length43 - 1 by 1
weight43 = math.pow(length43 - i, 0.5)
sum43 += src43[i] * weight43
weightSum43 += weight43
weightSum43
srwma43 = sum43 / weightSum43
sig43 = src43 > srwma43 ? 1 : src43 < srwma43 ? -1 : 0
srwmaColor43 = sig43 > 0 ? color.green : sig43 < 0 ? color.red : color.black
//plot(srwma43, title='SRWMA', linewidth=2, color=srwmaColor43)
////////////////////////
src44 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length44 = input.int(title='Length', defval=20, minval=1)
middleBandLength44 = input.int(title='MiddleBandLength', defval=21, minval=1)
bandsDeviation44 = input.float(title='BandsDeviation', defval=2.4, minval=0.1)
lowBandAdjust44 = input.float(title='LowBandAdjust', defval=0.9, minval=0.1)
atrPeriod44 = length44 * 2 - 1
atrBuf44 = ta.atr(atrPeriod44) * bandsDeviation44
ma44 = ta.ema(src44, length44)
upperBand44 = ma44 + ma44 * atrBuf44 / src44
middleBand44 = ta.ema(src44, middleBandLength44)
lowerBand44 = ma44- ma44 * atrBuf44 * lowBandAdjust44 / src44
sig44 = src44 > upperBand44 and nz(src44[1]) <= nz(upperBand44[1]) or src44 > lowerBand44 and nz(src44[1]) <= nz(lowerBand44[1]) or src44 > middleBand44 ? 1 : src44 < lowerBand44 and nz(src44[1]) >= nz(lowerBand44[1]) or src44 < upperBand44 and nz(src44[1]) >= nz(upperBand44[1]) or src44 < middleBand44 ? -1 : 0
svbColor44 = sig44 > 0 ? color.green : sig44 < 0 ? color.red : color.black
//plot(upperBand44, title='SVBUp', color=svbColor44, linewidth=2)
//plot(middleBand44, title='SVBMid', color=color.new(color.black, 0), linewidth=1)
//plot(lowerBand44, title='SVBLow', color=svbColor44, linewidth=2)
//////////////////////
src45 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length45 = input.int(title='Length', defval=50, minval=2)
mult45 = input.float(title='Mult', defval=10.0, minval=0.01)
alpha45 = 2.0 / (length45 + 1)
mom45 = src45 - nz(src45[1])
up45 = mom45 > 0 ? mom45 : 0
dn45 = mom45 < 0 ? math.abs(mom45) : 0
upMa45 = ta.ema(up45, length45)
dnMa45 = ta.ema(dn45, length45)
rs45 = upMa45 + dnMa45 != 0 ? math.abs(upMa45 - dnMa45) / (upMa45 + dnMa45) : 0
rsEma45 = 0.0
rsEma45 := nz(rsEma45[1]) + (alpha45 * (1 + (rs45 * mult45)) * (src45 - nz(rsEma45[1])))
slo45 = src45 - rsEma45
sig45 = slo45 > 0 ? slo45 > nz(slo45[1]) ? 2 : 1 : slo45 < 0 ? slo45 < nz(slo45[1]) ? -2 : -1 : 0
rsemaColor45 = sig45 > 1 ? color.green : sig45 > 0 ? color.lime : sig45 < -1 ? color.maroon : sig45 < 0 ? color.red : color.black
//plot(rsEma45, title='RSEma', color=rsemaColor45, linewidth=2)
//////////////////////
volSym46 = input.symbol(title='Volatility Symbol', defval='VIX')
src46 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
volSrc46 = request.security(volSym46, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length46 = input.int(title='Length', defval=10, minval=1)
maLength46 = input.int(title='MaLength', defval=10, minval=1)
mult46 = input.float(title='Mult', defval=10.0, minval=.01)
alpha46 = 2.0 / (length46 + 1)
mom46 = src46 - nz(src46[1])
pv46 = mom46> 0 ? volSrc46 : 0
nv46 = mom46 < 0 ? volSrc46 : 0
pvMa46 = ta.ema(pv46, maLength46)
nvMa46 = ta.ema(nv46, maLength46)
rs46 = pvMa46 + nvMa46 != 0 ? math.abs(pvMa46 - nvMa46) / (pvMa46 + nvMa46) : 0
rsvaEma46 = 0.0
rsvaEma46 := nz(rsvaEma46[1]) + (alpha46 * (1 + (rs46 * mult46)) * (src46 - nz(rsvaEma46[1])))
slo46 = src46 - rsvaEma46
sig46 = slo46 > 0 ? slo46 > nz(slo46[1]) ? 2 : 1 : slo46 < 0 ? slo46 < nz(slo46[1]) ? -2 : -1 : 0
rsvaemaColor46 = sig46 > 1 ? color.green : sig46 > 0 ? color.lime : sig46 < -1 ? color.maroon : sig46 < 0 ? color.red : color.black
//plot(rsvaEma46, title='RSEma', color=rsvaemaColor46, linewidth=2)
/////////////////////////////////
float inp55 = input(title = 'Source', defval = close)
string res55 = input.timeframe(title = 'Resolution', defval = '')
bool rep55 = input(title = 'Allow Repainting?', defval = false)
float src47 = request.security(syminfo.tickerid, res55, inp55[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
int length47 = input.int(title = 'Length', defval = 40, minval = 2)
float mult47 = input.float(title = 'Mult', defval = 10.0, minval = 0.01)
float alpha47 = 2.0 / (length47 + 1)
float trL47 = ta.lowest(ta.tr, length47)
float trH47 = ta.highest(ta.tr, length47)
float trAdj47 = trH47 - trL47 != 0 ? (ta.tr - trL47) / (trH47 - trL47) : 0
float trAdjEma47 = 0.0
trAdjEma47 := nz(trAdjEma47[1]) + (alpha47 * (1 + (trAdj47 * mult47)) * (src47 - nz(trAdjEma47[1])))
float slo47 = src47 - trAdjEma47
int sig47 = slo47 > 0 ? slo47 > nz(slo47[1]) ? 2 : 1 : slo47 < 0 ? slo47 < nz(slo47[1]) ? -2 : -1 : 0
color tradjemaColor47 = sig47 > 1 ? color.green : sig47 > 0 ? color.lime : sig47 < -1 ? color.maroon : sig47 < 0 ? color.red : color.black
//plot(trAdjEma47, title = 'TrAdjEma', color = tradjemaColor47, linewidth = 2)
/////////////////////////////////
float src49 = request.security(syminfo.tickerid, res55, inp55[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
float tr49 = request.security(syminfo.tickerid, res55, ta.tr[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
int length49 = input.int(title = 'Length', defval = 30, minval = 2)
float hhC49 = ta.highest(src49, length49)
float llC49 = ta.lowest(src49, length49)
float result49 = hhC49 - llC49
float effort49 = math.sum(tr49, length49)
float alpha49 = effort49 != 0 ? result49 / effort49 : 0
float nama49 = 0.0
nama49 := (alpha49 * src49) + ((1 - alpha49) * nz(nama49[1]))
float slo49 = src49 - nama49
int sig49 = slo49 > 0 ? slo49 > nz(slo49[1]) ? 2 : 1 : slo49 < 0 ? slo49 < nz(slo49[1]) ? -2 : -1 : 0
color namaColor49 = sig49 > 1 ? color.green : sig49 > 0 ? color.lime : sig49 < -1 ? color.maroon : sig49 < 0 ? color.red : color.black
//plot(nama49, title = 'Nama', color = namaColor49, linewidth = 2)
//////////////////////////////////////
float src50 = request.security(syminfo.tickerid, res55, inp55[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
float tr50 = request.security(syminfo.tickerid, res55, ta.tr[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
int length50 = input.int(title = 'Length', defval = 30, minval = 2)
float result50 = math.abs(src50 - nz(src50[length50]))
float effort50 = math.sum(tr50, length50)
float alpha50 = effort50 != 0 ? result50 / effort50 : 0
float anama50 = 0.0
anama50 := (alpha50 * src50) + ((1 - alpha50) * nz(anama50[1]))
float slo50 = src50 - anama50
int sig50 = slo50 > 0 ? slo50 > nz(slo50[1]) ? 2 : 1 : slo50 < 0 ? slo50 < nz(slo50[1]) ? -2 : -1 : 0
color anamaColor50 = sig50 > 1 ? color.green : sig50 > 0 ? color.lime : sig50 < -1 ? color.maroon : sig50 < 0 ? color.red : color.black
//plot(anama50, title = 'Anama', color = anamaColor50, linewidth = 2)
/////////////////////////////////////////////////////////
float src51 = request.security(syminfo.ticker, res55, inp55[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
int fastLength51 = input.int(title = 'FastLength', defval = 6, minval = 1)
int slowLength51 = input.int(title = 'SlowLength', defval = 12, minval = 1)
int sampleLength51 = input.int(title = 'SampleLength', defval = 5, minval = 1)
hannFilter51(float sampleSrc51, int length51) =>
filt51 = 0.0, coef51 = 0.0
for i = 1 to length51
cosine51 = 1 - math.cos(2 * math.pi * i / (length51 + 1))
filt51 := filt51 + (cosine51 * nz(sampleSrc51[i - 1]))
coef51 := coef51 + cosine51
filt51 := coef51 != 0 ? filt51 / coef51 : 0
float sample51 = 0.0
sample51 := bar_index % sampleLength51 == 0 ? src51 : nz(sample51[1])
float fastAvg51 = hannFilter51(sample51, fastLength51)
float slowAvg51 = hannFilter51(sample51, slowLength51)
float slo51 = fastAvg51 - slowAvg51
int sig51 = slo51 > 0 ? slo51 > nz(slo51[1]) ? 2 : 1 : slo51 < 0 ? slo51 < nz(slo51[1]) ? -2 : -1 : 0
color udsmaColor51 = sig51 > 1 ? color.green : sig51 > 0 ? color.lime : sig51 < -1 ? color.maroon : sig51 < 0 ? color.red : color.black
//plot(fastAvg51, title = "FastAverage", color = udsmaColor51, linewidth = 2)
//plot(slowAvg51, title = "SlowAverage", color = chart.fg_color, linewidth = 1)
//////////////////////////////////
float src52 = request.security(syminfo.tickerid, res55, inp55[rep55 ? 0 : barstate.isrealtime ? 1 : 0])[rep55 ? 0 : barstate.isrealtime ? 0 : 1]
fastLength52 = input.int(title = "FastLength", defval = 14, minval = 1)
slowLength52 = input.int(title = "SlowLength", defval = 30, minval = 1)
leavittProjection52(float src52, int length52) =>
float result52 = ta.linreg(src52, length52, -1)
leavittConvolution52(float src52, int length52) =>
int sqrtLength52 = math.floor(nz(math.sqrt(length52)))
float result52 = ta.linreg(leavittProjection52(src52, length52), sqrtLength52, -1)
float fastConv52 = leavittConvolution52(src52, fastLength52)
float slowConv52 = leavittConvolution52(src52, slowLength52)
float slo52 = fastConv52 - slowConv52
int sig52 = slo52 > 0 ? slo52 > nz(slo52[1]) ? 2 : 1 : slo52 < 0 ? slo52 < nz(slo52[1]) ? -2 : -1 : 0
color lcColor52 = sig52 > 1 ? color.green : sig52 > 0 ? color.lime : sig52 < -1 ? color.maroon : sig52 < 0 ? color.red : color.white
//plot(fastConv52, title = 'FastConv', color = lcColor52, linewidth = 2)
//plot(slowConv52, title = 'SlowConv', color = chart.fg_color, linewidth = 1)
//////////////////////////////////////////////
////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
f_security(_symbol66, _res66, _src66, _repaint66) =>
request.security(_symbol66, _res66, _src66[_repaint66 ? 0 : barstate.isrealtime ? 1 : 0])[_repaint66 ? 0 : barstate.isrealtime ? 0 : 1]
res66 = input.timeframe(title='Resolution', defval='')
rep66 = input(title='Allow Repainting?', defval=false)
length53 = input.int(title='Length', defval=14, minval=1)
factor53 = input.int(title='Factor', defval=2, minval=1)
p53 = f_security(syminfo.tickerid, res66, hl2, rep66)
h53 = f_security(syminfo.tickerid, res66, high, rep66)
l53 = f_security(syminfo.tickerid, res66, low, rep66)
t53 = f_security(syminfo.tickerid, res66, ta.tr, rep66)
mpEma53 = ta.ema(p53, length53)
trEma53 = ta.ema(t53, length53)
stdDev53 = ta.stdev(trEma53, length53)
ad53 = p53 > nz(p53[1]) ? mpEma53 + trEma53 / 2 : p53 < nz(p53[1]) ? mpEma53 - trEma53 / 2 : mpEma53
adm53 = ta.ema(ad53, length53)
trndDn53 = 0.0
trndDn53 := ta.crossunder(adm53, mpEma53) ? h53[2] : p53 < nz(p53[1]) ? p53 + stdDev53 * factor53 : nz(trndDn53[1], h53[2])
trndUp53 = 0.0
trndUp53 := ta.crossover(adm53, mpEma53) ? l53[2] : p53 > nz(p53[1]) ? p53 - stdDev53 * factor53 : nz(trndUp53[1], l53[2])
trndr53 = 0.0
trndr53 := adm53 < mpEma53 ? trndDn53 : adm53 > mpEma53 ? trndUp53 : nz(trndr53[1], 0)
sig53 = p53 > trndr53 ? 1 : p53 < trndr53 ? -1 : 0
trndrColor53 = sig53 > 0 ? color.green : sig53 < 0 ? color.red : color.black
//plot(trndr53, color=trndrColor53, linewidth=2)
//plot(mpEma53, color=color.new(color.blue, 0), linewidth=2)
//plot(adm53, color=color.new(color.black, 0), linewidth=1)
/////////////////////////////////////////
c54 = f_security(syminfo.tickerid, res66, close, rep66)
v54 = f_security(syminfo.tickerid, res66, volume, rep66)
length54 = input.int(title='Length', defval=50, minval=2)
mult54 = input.float(title='Mult', defval=10.0, minval=0.01)
alpha54 = 2.0 / (length54 + 1)
mom54 = c54 - nz(c54[1])
pv54 = mom54 > 0 ? v54 : 0
nv54 = mom54 < 0 ? v54 : 0
pvMa54 = ta.ema(pv54, length54)
nvMa54 = ta.ema(nv54, length54)
vs54 = pvMa54 + nvMa54 != 0 ? math.abs(pvMa54 - nvMa54) / (pvMa54 + nvMa54) : 0
rsvaEma54 = 0.0
rsvaEma54 := nz(rsvaEma54[1]) + (alpha54 * (1 + (vs54 * mult54)) * (c54 - nz(rsvaEma54[1])))
slo54 = c54 - rsvaEma54
sig54 = slo54 > 0 ? slo54 > nz(slo54[1]) ? 2 : 1 : slo54 < 0 ? slo54 < nz(slo54[1]) ? -2 : -1 : 0
rsvaemaColor54 = sig54 > 1 ? color.green : sig54 > 0 ? color.lime : sig54 < -1 ? color.maroon : sig54 < 0 ? color.red : color.black
//plot(rsvaEma54, title='RSEma', color=rsvaemaColor54, linewidth=2)
////////////////////////////////////
length56 = input.int(title='Length', defval=25, minval=1)
h56 = f_security(syminfo.tickerid, res66, high, rep66)
l56 = f_security(syminfo.tickerid, res66, low, rep66)
c56 = f_security(syminfo.tickerid, res66, close, rep66)
hh56 = ta.highest(h56, length56)
ll56 = ta.lowest(l56, length56)
atr56 = ta.atr(length56)
mult56 = math.sqrt(length56)
dSup56 = hh56 - atr56 * mult56
dRes56 = ll56 + atr56 * mult56
dMid56 = (dSup56 + dRes56) / 2
sig56 = c56 > dMid56 ? 1 : c56 < dMid56 ? -1 : 0
dsrColor56 = sig56 > 0 ? color.green : sig56 < 0 ? color.red : color.black
//plot(dSup56, title='Support', color=color.new(color.red, 0), linewidth=2)
//plot(dMid56, title='Middle', color=dsrColor56, linewidth=1)
//plot(dRes56, title='Resistance', color=color.new(color.green, 0), linewidth=2)
///////////////////////////////
length57 = input.int(title='Length', defval=3, minval=1)
h57 = f_security(syminfo.tickerid, res66, high, rep66)
l57 = f_security(syminfo.tickerid, res66, low, rep66)
c57 = f_security(syminfo.tickerid, res66, close, rep66)
highMa57 = ta.sma(h57, length57)
lowMa57 = ta.sma(l57, length57)
ghla57 = 0.0
ghla57 := c57 > nz(highMa57[1]) ? lowMa57 : c57 < nz(lowMa57[1]) ? highMa57 : nz(ghla57[1])
sig57 = c57 > ghla57 ? 1 : c57 < ghla57 ? -1 : 0
ghlaColor57 = sig57 > 0 ? color.green : sig57 < 0 ? color.red : color.black
//plot(ghla57, title='GHLA', color=ghlaColor57, linewidth=2)
//////////////////////////////////
lbLength58 = input.int(title='LookBackLength', defval=21, minval=1)
p58 = f_security(syminfo.tickerid, res66, close, rep66)
h58 = f_security(syminfo.tickerid, res66, high, rep66)
l58 = f_security(syminfo.tickerid, res66, low, rep66)
ll58 = ta.lowest(lbLength58)
hh58 = ta.highest(lbLength58)
hCount58 = 0
lCount58 = 0
cbl58 = p58
for i = 0 to lbLength58 by 1
if l58[i] == ll58
for j58 = i + 1 to i + lbLength58 by 1
lCount58 += (h58[j58] > h58[i] ? 1 : 0)
if lCount58 == 2
cbl58 := h58[j58]
break
if h58[i] == hh58
for j58 = i + 1 to i + lbLength58 by 1
hCount58 += (l58[j58] < l58[i] ? 1 : 0)
if hCount58 == 2
cbl58 := l58[j58]
break
sig58 = p58 > cbl58 ? 1 : p58 < cbl58 ? -1 : 0
cblColor58 = sig58 > 0 ? color.green : sig58 < 0 ? color.red : color.black
//plot(cbl58, color=cblColor58, linewidth=2)
//////////////////////////////
inp59 = input(title='Source', defval=close)
h59 = f_security(syminfo.tickerid, res66, high, rep66)
l59 = f_security(syminfo.tickerid, res66, low, rep66)
c59 = f_security(syminfo.tickerid, res66, inp59, rep66)
length59 = input.int(title='Length', defval=14, minval=1)
mHigh59 = ta.linreg(h59, length59, 0) - ta.linreg(h59, length59, 1)
mLow59 = ta.linreg(l59, length59, 0) - ta.linreg(l59, length59, 1)
upperBand59 = h59, lowerBand59 = l59
for i = 0 to length59 - 1
currH59 = nz(h59[i])
prevH59 = nz(h59[i - 1])
currL59 = nz(l59[i])
prevL59 = nz(l59[i - 1])
vHigh59 = currH59 + (nz(mHigh59[i]) * i)
vLow59 = currL59 + (nz(mLow59[i]) * i)
upperBand59 := math.max(vHigh59, upperBand59)
lowerBand59 := math.min(vLow59, lowerBand59)
middleBand59 = (upperBand59 + 59) / 2
slo59 = c59 - middleBand59
sig59 = (c59 > upperBand59 and nz(c59[1]) <= nz(upperBand59[1])) or (c59 > lowerBand59 and nz(c59[1]) <= nz(lowerBand59[1]))
? 1 : (c59 < lowerBand59 and nz(c59[1]) >= nz(lowerBand59[1])) or (c59 < upperBand59 and nz(c59[1]) >= nz(upperBand59[1]))
? -1 : slo59 > 0 ? slo59 > nz(slo59[1]) ? 2 : 1 : slo59 < 0 ? slo59 < nz(slo59[1]) ? -2 : -1 : 0
pbColor59 = sig59 > 1 ? color.green : sig59 > 0 ? color.lime : sig59 < -1 ? color.maroon : sig59 < 0 ? color.red : color.black
//plot(upperBand59, title="UpperBand", linewidth=2, color=pbColor59)
//plot(middleBand59, title="MiddleBand", linewidth=1, color=color.white)
//plot(lowerBand59, title="LowerBand", linewidth=2, color=pbColor59)
///////////////////////////////////
length61 = input.int(title='Length', defval=25, minval=1)
h61 = f_security(syminfo.tickerid, res66, high, rep66)
l61 = f_security(syminfo.tickerid, res66, low, rep66)
c61 = f_security(syminfo.tickerid, res66, close, rep66)
hh61 = ta.highest(h61, length61)
ll61 = ta.lowest(l61, length61)
range_161 = hh61 - ll61
sup161 = ll61 - 0.25 * range_161
sup261 = ll61 - 0.5 * range_161
res161 = hh61 + 0.25 * range_161
res261 = hh61 + 0.5 * range_161
mid61 = (sup161 + sup261 + res161 + res261) / 4
sig61 = c61 > mid61 ? 1 : c61 < mid61 ? -1 : 0
psrColor61 = sig61 > 0 ? color.green : sig61 < 0 ? color.red : color.black
//plot(sup161, title='Support1', color=color.new(color.red, 0), linewidth=2)
//plot(sup261, title='Support2', color=color.new(color.red, 0), linewidth=2)
//plot(mid61, title='Middle', color=psrColor61, linewidth=1)
//plot(res161, title='Resistance1', color=color.new(color.green, 0), linewidth=2)
//plot(res261, title='Resistance2', color=color.new(color.green, 0), linewidth=2)
///////////////////////////////////////////////////////////
-
-
yedeklemeler...
PHP Code:
//@version=6
indicator(title = '...', shorttitle = '.', overlay = true, max_lines_count = 100, max_labels_count=100)
ye99 = input.int(100, 'P1', minval = 1)
ye98 = input.string('Percentage')
hpFilter(sye97, ye99) =>
var float ye96 = na
ye96 := na(ye96[1]) ? sye97 : (sye97 + (ye99 - 1) * nz(ye96[1])) / ye99
ye96
//
ye95 = hpFilter(close, ye99)
ye92 = (close - ye95) / ye95 * 100
ye87 = close - ye95
var ye94 = array.new_float()
var ye93 = array.new_float()
if ye98 == 'Percentage'
if ye92 > 0
array.push(ye94, ye92)
else if ye92 < 0
array.push(ye93, ye92)
//
ye91 = array.size(ye94) > 0 ? array.avg(ye94) : na
ye90 = array.size(ye93) > 0 ? array.avg(ye93) : na
ye89 = ye91 / 100 * ye95 + ye95
ye88 = ye90 / 100 * ye95 + ye95
plot(ye95, title = '100-M ', color = color.rgb(3, 36, 247), linewidth = 2, force_overlay = true)
plot(ye89, title = '100-H ', color = color.rgb(3, 36, 247), force_overlay = true, style = plot.style_line)
plot(ye88, title = '100-L ', color = color.rgb(3, 36, 247), force_overlay = true, style = plot.style_line)
-
yedeklemeler....
PHP Code:
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © carefulCode53358
// ------------------------------------------------------------------
// RJT CRYSTALS v1.02
// [en]Version 1.1 (solved the new compilator detection errors)
// Use this graphic tracer based in crystals to help interpreting
// the evolution of the price under a new and different perspective.
// The form of the crystals and the overlap between them will show
// a new mode to predict the begin and the end of trends.
// A clue... find the triangles. ;)
// *Parameters: Coloured Crystals?
// ------------------------------------------------------------------
// [es]Version 1.1 (resuelta la nueva detección de errores del compilador)
// Utiliza este trazador gráfico a base de cristales para ayudarte
// a interpretar la evolución del precio bajo una nueva y diferente
// perspectiva. La forma de los cristales así como su superposición
// entre ellos mostrarán un modo diferente de predecir el comienzo y
// final de las tendencias. Una pista... encuentra los triángulos. ;)
// *Parámetros: Coloured Crystals? (¿cristales coloreados?)
// ------------------------------------------------------------------
// [ID. 0014-03-102-1300-00]
// ------------------------------------------------------------------
// Author: Rafael Jiménez Tocino
// Email: info@tradingrafa.com
// ------------------------------------------------------------------
// Source code protected by PineCrypt v.1.0 (www.pinescripts.com)
// (to renove expiry key contact the author of this script)
// ------------------------------------------------------------------
//@version=2
GcFuzSqity9GSymNUaJlKX6gThDdzlqJEpAjb9JXVgOGfE='V',Ln840RhQbZP83Vr3Z5w8_SB9E45dUSKTSh5LNDSe0J4eHH=sunday,
ZLlkue66ZsJ8LvP3RMiLSfYSDNVZzntMPpdCUiQH1q2s4Uc4xXvMv='l',
wNPRv_gQGgpa4ji1P7gKh8H6yBWHVcrXrCdNT99r2gg51XKh3Fg1lr='Y',KyUlqQomCm6fdYO668sUMQ62FVWvWkyCjKonMIppacBhHegWjcyl=areabr,f6mLmDZpdyyFj9YuPG8Q_lPZD9c9Upuz4jnQZlUwcgjGfG='R',rz_ZiJcnaPNYfmT4E6vp2mIiXI8OlFjXaqC3rJDjj0XwKshMCvJwcwKyt='H',Xpis3JXGi7odLm_avxWrj1lNOgZ59WwFdqH6WULXp_gXcF='p',nM85QXOIUQeZoD3fQiDxU1N1BGvLRRn8Hkt9suzZnlC='G',_gJtts06DICilbBtQ7_zLuhh5aa5EsX3HbhPDIvzECUkGvezC0vQxjSWy='7',li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3='S',YIeUvifkIqmg1gh6Qqd1ZW04EW6bQtYYQJrK7SekCz4BQBa0uUbd8H=#dbdbea,gNkRgCig3sGuNVMgOzgIze8oRA95fgnAMuU9sgDv54mExSUzcC_VZD0='X',LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m='o',iJa5Szyg84anB6j6RQGKwrhQOuHuK_NqSuAEqGBX0H='£',yYZJn5q8wJs7PAIsyLcWJtUKDk5G_cql1Wsq5ZTGtFcXk65JDNBB1m='1',uU5p2NYnpxt5_iRbHpGJtXsxD8wsGYtQ8PNG0APcOUaGRVV='5',mVN5E9MyiQoj63MgW6vRIp1SK23hfCe42LCHgnnJsTGLC5=true,R3wMZKF4Mbtop0JwTGzlmYIf5MRZbP36KxtqrkG74Xygr7_aoY1='%',cYcixbkUVPiafMBGmWkhsjTj8_aKjEikoIFL3TvnUWt='b',wqhqShbPxmtPMWpxK_z7FeL3EG4f2CIOD_arqs7o93CG5DzM=weekofyear(0)-43,WTpyn_G42b_JL6VWNoZUzUavyoMvTmBXan1kkuGEjX='\\',JTOwS6iJ8VlhhFDzEivttlBtQF7hU7YhCJNJjyQce_ly6MhR='v',Flaw6RSjtZojdz0ZYgyTsdwOTOj00nY3_twig1TDULi='#',dj9EvhtgHr6LgISsqTdCtfIEojlelK28Wvq6voG3XlrOaDVTPGNs='r',ucQW2BjC2isWOqcAVnfZVPWQNLmbGvmzIG3NwxLHXbiLjpcqQ9A43D7IDl='T',H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y=' ',AKgpuWGr_PAeEdy1jylLiFETqH7Txak7MhsACKmR6POC6=#ffff26,sPFbnRqiCkaFEVp95L_mycWr2OVA3rOvPiiYufJdpe_Ka2a='6',DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo='P',xHloWCuSikqyZ3JwvofZ8rep3NRv1rNv8Ldphzt1DgwbFQyGEv='k',FAypCIlJYAR5ZNiWU4KYpyUHTkDdnz15iQ0EXquyPag5SL2k5Cmyta=cross,qKr1YAGXuJDcFEbWsDJISVzdLKL4I3vWBe1h6eau1D0phZBDIxNUsppTPm='W',HjqHLCwpIYJKBjlJzQc0byIRDDr0YBm_sbcPTTPIwblD9nqHLTy2y2='j',T7fsdM_HwpiFzbem8yn7mKqYiy6bNti_P6qgVoij5jIn2j9HEsHm442qnx8=#73fafb,waHH5rAjClM6qRGDfBR2DNXbOm2DyBsBzzYyS4P14eE7ri=#fdfdff,fhMV1JVPsp67Cpc9PBjo9H7fe8z4sSemWBTkV63ccS3gUlI0='4',py8MnLkFau195MRjwmIm4DUn96UPsAg6G0SMIqoNsg7pg2m='|',oLnLrIgytZ0dhKdlkIKpqo6natksUWqEK2lPCi_GLojNLS9Xs0ba5PWu0Kc='Z',szuqCKVI48Mc10TOQ9mOwopjTrDTvmXnApPYhXjd1lFNS='m',dzLLzMcAaPD2U_gBZZBt6VyHf8UIG4vJ06cwD5xZxflm_A_R='(',k0m6GT3P538HSlUq_uPPe_EUDDZFZWavGCvTL4QkfmxG81hBP='n',GD6XgdsUjST32t5FrMJJk1Af2kmzFovNY0AXdyYXUdMzrtxo0QnCB=#bf00ff,MNWxWO599A8oZP_sTMtJV3zmjVH_ZFb1F02a_rv_TkUqPQ2nNY='2',_qYHoJIiPkc84VAWuFw7TjnZXwZQfQlQrqy3H1MJglea_Kr1jUE='0',F0earkWF_97ICRSvo8FDv_96YRTVUbyxZ1RkHqzHOxZzygS7fg=')',IGznK6g3xPi2MiYPzYokQyiOR5o4F7CGbQ3N1qTKpzN9O=#d90201,x3JcXa_FBjFqicRJEz8FWOlcSd0R8YwNea5nIABCRDeUzjs7hE='K',Z8F46fvVOFyjMJMLkUI1hiFTMQgixLK7a6MlFIA1YU='L',wqZ4foykGfrzkwfRZX6bgaSdEfQHDLWWcBgewDhr2h='*',VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp='e',LCGm8V2sJrWaagLP64QOkOvYI1ORQkw3dvOjXD9xPhd=year(0)-1960,faf7ajrzk_i0UxzhJSkgAqRzZiGFObNaJC_vEHGEkIqv1='E',PTxKDVR4efifkfM4wccpREEsN2sSgCWv2GuyIlU06BHolVOnmo5BQ8Out=sunday,e6dEORZu_UKZfNVneAm92bxbNYx57GXT4MllsuxM='C',tm6D8VL5QS6u9QJrCsxpG4oxm0d9XGO4H_TX2573kAobb_YDYdX=#acac9d,PgY8gjTKdBQAbNYXzGQC_CJQeCoRwJheNBhK0va5YLGW3GcCC1fFl4_WKdAE=solid,gw__OiRjFE8rqMkfQMVQt0bIaRhnkvvNDXLJsXm7z5kj1ts='M',ECI7Z6jyOAPUv9oOLXn5mub1NoXWVsvPw2m5k5K94auPjmQW=friday,V3r75fwx1pisUACBYmy1LQyc7TlrW56uMvMHYi9aIOl='-',yhJsWH4kHzRV5Wf6NwctkCrVcrllLUbPssTlLT03=':',h9a8eZ2aifOLotRLOn7ze1hG5ZoZIwuDSEqEn127XUc3HHy=#ffbf00,CgItlfYuq6uW12wyRzBdQxbIU_UmiKtCrvnZmyzbmZAHU8e8rPSdnr='ñ',jYuW12d7kuJDGH1KQ2hfyRQFi1hYUzNw46cChWTGJOz='F',zQvjtMVRc3KPo2LYKlOyoG5tDeIVeW63bgoNkL8d='=',W24qDHFdLaW_or4WT3OXH_31oHgtFeagKq7cIea7e='f',UqLN8EKcwfxFUm_2_Ou6GEoc0ydc_udcGXx15wlYCTmHaYJiLurfMMMfv5V4='/',K_rZAL9JE7RyuaB9TDF2hTo3ofNwaY1vcN9H9W1mGMBjqQQx8mTvKhsgdsw='D',nLiu54cHtsK3pPdG9kRDkr9ItjDgbWbxLT2RykpzynP=',',M6YRrYCnneffiw3m51lNav_HSdnRB9K6YG73ioMdrzT2a5KTOq21='N',pFK8yGSTvVbJ3mS1Tyu5VfqwCI_tnLyFU3uDvFHXtBUbZyH=#b3b304,JdRC6Jsfo6QQqZboU_wX9l0qqQAIUqpb3Xu5qcwGKi6XdThzfz='_',pbVk1aquuVIVb_KBICIpaOL8T_MFXW8OaDnNZ5TIc1k1fUaoUug=#ff26c9,cSGX7mEUCzk0IBHs66BKJ1Ak0lr2KyOOX1SQSDjmUeyI6JgcNWeiF='Q',XDHUlls1Mdgyg_cChqhCCcc8s2nTmYJJqKKpWXH52kt6iJKDwGfplQ=';',v3Me7PLYYHfyR8Nc8FzuIJdP3e7BzWBLzFrYqPrYG=monday,BJWz42pe1_9l2NAvHlOwCVXLFJTw2ArckzWK3cfoKS5hmwT='g',uh6hPv_ZNRUxtF6hQ4gcVYAkaE2eIef2NB8qQ2dduL933no1I09='€',egqjPz92F8N5LVr2ZCTbw5QPnyPIyyNeq_o3IANUwWJlNcaD2pKZEXvdoVpO='q',F0_hc4C3ZCNA1Aa7QDWTwPkle_P5CzWRF5fGm0skplGz=#4cff4c,GbBuGtlaSs6CN4lgOWz2sMHReBf0dHXa5YHXhu4AMvASz8kkoGJ='U',VQrg641NIyUS_6Xoo_HxwH6mlKf6p9d5ztssspNnQ9Wf=wednesday,V8qAlVCh5ZOyW2hvAgRYgNzd8jvFXnBV1XZi5SxRu2rXG3eRIW3jIHvj6XZ='A',MaTuXlVZmiTfahHBa_X1B_KbA_2T3RKFGPjMyqzJm68m6='@',mUFBAomv0x_aY4yFfQjruIdYW8avjPu9RZDFQX9okpSDDh45y55F3cCjpY9q='a',yzXxVrYOfVM0iwGubttTGD_lde4WoH2GOrHwRJxlB8D4ZxSnQRbyeL=na,g8PKlCASBtbREeOJZVDqmdWC8Qn6F6kyBQTSGblMHj=#2626ff,zwQCFgZcxteVOyHDdwgIiEB_NMnk_LOiE4pub3WbqukwTtAFZnPAr_oxnhS='{',RRffTbmST0hOKtvqI1AdSQ2OW4IlUoMj9pq5X0yN_isShpZSimDuWn9E='J',bpVJWc8POWNLV14FAbUFtqQHzvcBobZPyZ_xHnQovhtW0CD='©',l99Ijwe20STJfNgKIy2Wv8S2dWDoXO3Jm1T3D020VThESWmLFKyK8AeFOAD_=#8c0208,CzbjfxLgjZ8mvZdpeok9FmzUv50GfvDAuXc4G1_e7dZuaXASul1Kmph1slo='\n',s3YbyuwMjY4ygMfwlxrcmPR2XgfhyocAaNmztN7tDC='B',p9AhwpPCgL9Nt8OTX3DtBHnyHkwO5vfahTxqKeStxuzV9OrK4FO=#018c23,D6p_V8DQu4CN6HL5myBKbtgI5gthZVt2Lm3Kscdn7BB0u9eozqJCgnTXuO=false,vQdTYziXRf3fbw1Vy3gkejjb3krDvurT7zhOdknzgZ=#05b3b2,e10qp9quHBlSR1e201f4wUeXPvHIK4SHxmUvgee8AeJR7XEFjiWl=tuesday,u7KlYrkFx6XAm6hkqRUnoTSD8YbZNHuhPEfxNbG0DqCaaDQN37_lm='w',P_TQqis5Hg9qid9DjXKRezoGgwtapabgjPKrtkG0HlPTA='u',mVocr6sPxs6FCS7oshNOupSb5W9d7vXZxBdAij5aTbBoFWXPTbUT8VDBha='¥',BXFKbybekaThYWmF24qHnsr8JKDuEprQPgjRZvACFmSi='$',MlkBRRlTdu57RNWlbSrZ0VZ8Q2iSsIDxqDzbqnhnW8Fx8J6XzZb='y',C1twuE4G32ZXqBJ0cva2qnsjsGnM9tWbiJSbV1Nvj9fpLXg_y90J='"',iJyUoSaJ5UCjymuNqoLNgH0Aj2j0YJA33r3SSYXwd_7PShqIo1RCVsts0='3',TUfBfYTgXyBd6M6pTEQz2e0rNvaUD2j1Bcp_iWx7=dashed,FOq2JFOiUHX1ni2mEI5jc3AizkajXCOyFlSUvtk4j7Z5FJXzJKH8rvHj5='c',kmvg004V8sK6L6YVg9raosCWrWU5CCtQVwCOH4z3I7gKAbZmGFHUX='Ñ',vo5ZgEUvVtOW64D0IhQzFGXquiCTiDE8PsLBjQCL9TYugGM5Q=thursday,s5zV2usKqVJA1nenV1tMi7L8OTG0gLYJQAF9hdHZuHdLwsCYhErjk=#23028c,IcWDHNz9WKi_L9dONtK67adD60U9JUBlMJB3ZhA_Gl9k='z',r7t9T6p3Ih3lmn7mT69pnALRDhg2RyudTkJ4kY9YUx='x',Kv_kcdnpq2hJLUeM5X4sgT9r9yfkD7X5yud7Y0kxGYnkQnHIHu0Hm8gyb='O',K1KDOEchpZawFOIzdvksoCfbE_e8mCWaAQZbERvGje8lkDBfsbGglD1DV2l=dayofweek(0),PsCbLNKkeEiTuNofCc7NV12xrwut5zdw9fOElMi7npxTaD8qi68cqx='d',JdDwmIUOxSrfg3e4iSY2fEqpB5eMQMUqSjNVfHBFnQxKZhG2uXUgsfHE5e3='I',jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf='t',VSLP1_sp1W_XeCO1qXCm_9080MWuBq5eizKZb1b8_z3gyh_UHYJ1ybmu=saturday,CsDfgxebTvnUvH7lM7N3m2ysAUJoI_PkKJuvxQTnhxKdIiix='h',Wu0DFfeuJrYouyceqJm8ePFFMc0b2VEBioVTEeYQfAJgx='s',E0x3xktM8JRoEeWOCc7EFkepkPcqBLB_i40drC0toP2='.',RCB8KSDHlZOFiSrvAwSrS07xkEvmA9WJEtknUvpkgNP2rYwHGxIi=thursday,mJvbLQMDMiBkHQs4gsrQh6uGJpTzG3c5FalvOipV3Me9KLDvQFFoD='8',Iahx6DMy0_7avpT7wnrJ1y3nR1r4MOCEJ0uT9w7tp2UuBOsUeATP='&',E6d_T8VVvC_uNR47TvSuhwriVDpOvl234k_oYj_PAK8='!',o4VY1EYRGRPd7I3CP4gHh7uMoCuz5oIn1iG_9hMjZKsyTsXvq3N4ZAZu='i',JyHoxAPnERpUBiv8op35egvwin0g2qXTcKNDpCDJzk5nAVY6pEwK=#0f0f1e,WUJzzn1nTP2b_Y4KFc5dz1RbBdZnhJ7BPKcZi5a5mIY53hoABfJ=saturday,L6akNHIq4sayfVJGUf8CNs2BDD6OGAkyeYLaLemhUjtCtuLMItcwHv='9',NhBIa8RCqW4qwb6eoYKiZCKoRHn87wSonvPLhwqxhM=circles,z9BUoXbwS2Hz9QuguW8u1ajDsv8n2Wgw9cauN1HoZxWSATkRETYj='}',JUuRAwmLWEz1qGKe50Z3vFdBgj11EdmUwi4BkLzVc1NL4UUNbthuJ='+',TIatrXQo5X4CxZp5YFYxODLgsG_zoJGIhEj7jBst4y2=qKr1YAGXuJDcFEbWsDJISVzdLKL4I3vWBe1h6eau1D0phZBDIxNUsppTPm+qKr1YAGXuJDcFEbWsDJISVzdLKL4I3vWBe1h6eau1D0phZBDIxNUsppTPm+qKr1YAGXuJDcFEbWsDJISVzdLKL4I3vWBe1h6eau1D0phZBDIxNUsppTPm+E0x3xktM8JRoEeWOCc7EFkepkPcqBLB_i40drC0toP2+DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo+JdDwmIUOxSrfg3e4iSY2fEqpB5eMQMUqSjNVfHBFnQxKZhG2uXUgsfHE5e3+M6YRrYCnneffiw3m51lNav_HSdnRB9K6YG73ioMdrzT2a5KTOq21+faf7ajrzk_i0UxzhJSkgAqRzZiGFObNaJC_vEHGEkIqv1+li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3+e6dEORZu_UKZfNVneAm92bxbNYx57GXT4MllsuxM+f6mLmDZpdyyFj9YuPG8Q_lPZD9c9Upuz4jnQZlUwcgjGfG+JdDwmIUOxSrfg3e4iSY2fEqpB5eMQMUqSjNVfHBFnQxKZhG2uXUgsfHE5e3+DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo+ucQW2BjC2isWOqcAVnfZVPWQNLmbGvmzIG3NwxLHXbiLjpcqQ9A43D7IDl+li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3+E0x3xktM8JRoEeWOCc7EFkepkPcqBLB_i40drC0toP2+e6dEORZu_UKZfNVneAm92bxbNYx57GXT4MllsuxM+Kv_kcdnpq2hJLUeM5X4sgT9r9yfkD7X5yud7Y0kxGYnkQnHIHu0Hm8gyb+gw__OiRjFE8rqMkfQMVQt0bIaRhnkvvNDXLJsXm7z5kj1ts,XkRBbzWQv7g0z_qpPTNsAFuPMYL2u8pCVoP8ZYsi0K=u7KlYrkFx6XAm6hkqRUnoTSD8YbZNHuhPEfxNbG0DqCaaDQN37_lm+u7KlYrkFx6XAm6hkqRUnoTSD8YbZNHuhPEfxNbG0DqCaaDQN37_lm+u7KlYrkFx6XAm6hkqRUnoTSD8YbZNHuhPEfxNbG0DqCaaDQN37_lm+E0x3xktM8JRoEeWOCc7EFkepkPcqBLB_i40drC0toP2+DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo+o4VY1EYRGRPd7I3CP4gHh7uMoCuz5oIn1iG_9hMjZKsyTsXvq3N4ZAZu+k0m6GT3P538HSlUq_uPPe_EUDDZFZWavGCvTL4QkfmxG81hBP+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3+FOq2JFOiUHX1ni2mEI5jc3AizkajXCOyFlSUvtk4j7Z5FJXzJKH8rvHj5+dj9EvhtgHr6LgISsqTdCtfIEojlelK28Wvq6voG3XlrOaDVTPGNs+o4VY1EYRGRPd7I3CP4gHh7uMoCuz5oIn1iG_9hMjZKsyTsXvq3N4ZAZu+Xpis3JXGi7odLm_avxWrj1lNOgZ59WwFdqH6WULXp_gXcF+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+Wu0DFfeuJrYouyceqJm8ePFFMc0b2VEBioVTEeYQfAJgx+E0x3xktM8JRoEeWOCc7EFkepkPcqBLB_i40drC0toP2+FOq2JFOiUHX1ni2mEI5jc3AizkajXCOyFlSUvtk4j7Z5FJXzJKH8rvHj5+LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m+szuqCKVI48Mc10TOQ9mOwopjTrDTvmXnApPYhXjd1lFNS,yIpcF3Y3UuIrTcUNZCVYXqsHB8cYw1h5MvTZ3fmUn8k=ucQW2BjC2isWOqcAVnfZVPWQNLmbGvmzIG3NwxLHXbiLjpcqQ9A43D7IDl+rz_ZiJcnaPNYfmT4E6vp2mIiXI8OlFjXaqC3rJDjj0XwKshMCvJwcwKyt+JdDwmIUOxSrfg3e4iSY2fEqpB5eMQMUqSjNVfHBFnQxKZhG2uXUgsfHE5e3+li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3+e6dEORZu_UKZfNVneAm92bxbNYx57GXT4MllsuxM+f6mLmDZpdyyFj9YuPG8Q_lPZD9c9Upuz4jnQZlUwcgjGfG+JdDwmIUOxSrfg3e4iSY2fEqpB5eMQMUqSjNVfHBFnQxKZhG2uXUgsfHE5e3+DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo+ucQW2BjC2isWOqcAVnfZVPWQNLmbGvmzIG3NwxLHXbiLjpcqQ9A43D7IDl+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+rz_ZiJcnaPNYfmT4E6vp2mIiXI8OlFjXaqC3rJDjj0XwKshMCvJwcwKyt+V8qAlVCh5ZOyW2hvAgRYgNzd8jvFXnBV1XZi5SxRu2rXG3eRIW3jIHvj6XZ+li5_GWTSIArsvQ0GYJs5t0rcSsoAApOj2xv6DYQiT3+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+faf7ajrzk_i0UxzhJSkgAqRzZiGFObNaJC_vEHGEkIqv1+gNkRgCig3sGuNVMgOzgIze8oRA95fgnAMuU9sgDv54mExSUzcC_VZD0+DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo+JdDwmIUOxSrfg3e4iSY2fEqpB5eMQMUqSjNVfHBFnQxKZhG2uXUgsfHE5e3+f6mLmDZpdyyFj9YuPG8Q_lPZD9c9Upuz4jnQZlUwcgjGfG+faf7ajrzk_i0UxzhJSkgAqRzZiGFObNaJC_vEHGEkIqv1+K_rZAL9JE7RyuaB9TDF2hTo3ofNwaY1vcN9H9W1mGMBjqQQx8mTvKhsgdsw+E0x3xktM8JRoEeWOCc7EFkepkPcqBLB_i40drC0toP2+CzbjfxLgjZ8mvZdpeok9FmzUv50GfvDAuXc4G1_e7dZuaXASul1Kmph1slo+e6dEORZu_UKZfNVneAm92bxbNYx57GXT4MllsuxM+LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m+k0m6GT3P538HSlUq_uPPe_EUDDZFZWavGCvTL4QkfmxG81hBP+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+mUFBAomv0x_aY4yFfQjruIdYW8avjPu9RZDFQX9okpSDDh45y55F3cCjpY9q+FOq2JFOiUHX1ni2mEI5jc3AizkajXCOyFlSUvtk4j7Z5FJXzJKH8rvHj5+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+CsDfgxebTvnUvH7lM7N3m2ysAUJoI_PkKJuvxQTnhxKdIiix+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+mUFBAomv0x_aY4yFfQjruIdYW8avjPu9RZDFQX9okpSDDh45y55F3cCjpY9q+P_TQqis5Hg9qid9DjXKRezoGgwtapabgjPKrtkG0HlPTA+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+CsDfgxebTvnUvH7lM7N3m2ysAUJoI_PkKJuvxQTnhxKdIiix+LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m+dj9EvhtgHr6LgISsqTdCtfIEojlelK28Wvq6voG3XlrOaDVTPGNs+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+BJWz42pe1_9l2NAvHlOwCVXLFJTw2ArckzWK3cfoKS5hmwT+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+mUFBAomv0x_aY4yFfQjruIdYW8avjPu9RZDFQX9okpSDDh45y55F3cCjpY9q+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+k0m6GT3P538HSlUq_uPPe_EUDDZFZWavGCvTL4QkfmxG81hBP+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+u7KlYrkFx6XAm6hkqRUnoTSD8YbZNHuhPEfxNbG0DqCaaDQN37_lm+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+x3JcXa_FBjFqicRJEz8FWOlcSd0R8YwNea5nIABCRDeUzjs7hE+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+MlkBRRlTdu57RNWlbSrZ0VZ8Q2iSsIDxqDzbqnhnW8Fx8J6XzZb+CzbjfxLgjZ8mvZdpeok9FmzUv50GfvDAuXc4G1_e7dZuaXASul1Kmph1slo+dzLLzMcAaPD2U_gBZZBt6VyHf8UIG4vJ06cwD5xZxflm_A_R+Xpis3JXGi7odLm_avxWrj1lNOgZ59WwFdqH6WULXp_gXcF+dj9EvhtgHr6LgISsqTdCtfIEojlelK28Wvq6voG3XlrOaDVTPGNs+LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+FOq2JFOiUHX1ni2mEI5jc3AizkajXCOyFlSUvtk4j7Z5FJXzJKH8rvHj5+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+PsCbLNKkeEiTuNofCc7NV12xrwut5zdw9fOElMi7npxTaD8qi68cqx+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+cYcixbkUVPiafMBGmWkhsjTj8_aKjEikoIFL3TvnUWt+MlkBRRlTdu57RNWlbSrZ0VZ8Q2iSsIDxqDzbqnhnW8Fx8J6XzZb+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+TIatrXQo5X4CxZp5YFYxODLgsG_zoJGIhEj7jBst4y2+F0earkWF_97ICRSvo8FDv_96YRTVUbyxZ1RkHqzHOxZzygS7fg,_fAUQL6gyA8nyC6yFL6D4S4mzVWblHfV7ty3Rv_x_BmreRWe=DmMuaSYttz_Ztw3QrNCOAfDBwrRWONpVMVXZf_r2aMo+dj9EvhtgHr6LgISsqTdCtfIEojlelK28Wvq6voG3XlrOaDVTPGNs+LeNKDF9MgTw1Y6wSeu38pN2iuyn91G7zhU_QU19icdfgeKc6km77m+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+FOq2JFOiUHX1ni2mEI5jc3AizkajXCOyFlSUvtk4j7Z5FJXzJKH8rvHj5+jmQSISfemsz1iqV3eyYV0Vz01v4B4A01CZlyrfIbPuf+VBHfdDcmHXXF80KPtoAO5O9awj8WvQYURFnR_BGp+PsCbLNKkeEiTuNofCc7NV12xrwut5zdw9fOElMi7npxTaD8qi68cqx+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+cYcixbkUVPiafMBGmWkhsjTj8_aKjEikoIFL3TvnUWt+MlkBRRlTdu57RNWlbSrZ0VZ8Q2iSsIDxqDzbqnhnW8Fx8J6XzZb+H_RQ8zLa89f2AZrlNbxiyBP6_hsaZ80VYEKXQknfBI54y+XkRBbzWQv7g0z_qpPTNsAFuPMYL2u8pCVoP8ZYsi0K,aaa7lCelvXyPIPy8t68AGttUSElxXoGP4BI4LJb443Vv8LDyD0bQoIeZhW0P=input(defval="Protected by www.PineScripts.com",title="Do not change this:",type=string),z9GzrEXmrop7fV4vW1VgUzzrwN4ar7SeTRvjsIEPeXTZmSO=aaa7lCelvXyPIPy8t68AGttUSElxXoGP4BI4LJb443Vv8LDyD0bQoIeZhW0P,study("Yörük",shorttitle=".",overlay=true),kitHrHSgbQzNXEP394ABUILQ3ae9h8hOXGv4mGQo=input(title="Coloured Crystals",defval=true,type=bool),Lnsar3bPNOUy4pvpKguwBJ185x8FY1gR9vZ_gxJMi7726svsIBzCo34dgu=50,size=1,JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom=nz(JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom[1],0)==2?0:nz(JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom[1],0)+1,pR2Xtf2Jr9FZnhyetDFEtpbgNWkv8CC3nKbMBJebNo4U2k4n2sxfj2TG=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?high:JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?open:close,WMAouErwmjtwruTqtTFQkXBQdhl9LrkGFBixNAyEyrHv1NUOiEQQt=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?low:JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?open:close,B6K6ycIZZ1a5O0PgwIHX6oOy62SPnmxfj_aUMiFj8lcKUD4XafSxs=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?close:JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?high:open,H6vPa6kjBCiKRzS7oOS_3eDFI7QPkAa27nS9QQiHsurowZwcrvD=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?close:JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?low:open,LaTE7Majfp26QTTzaydQ2gh7Dmn8CvX3vr2XiRyd=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?open:JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?close:high,Yl5PT3ESlD1khHsMSRk27rEBkJyY9bCW95CCMJ8jV=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?open:JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?close:low,p_7XreXNftmjq_No8R_tgdF1_q4b6NtBTeMEQuGo_byv=close>=close[1]?p9AhwpPCgL9Nt8OTX3DtBHnyHkwO5vfahTxqKeStxuzV9OrK4FO:IGznK6g3xPi2MiYPzYokQyiOR5o4F7CGbQ3N1qTKpzN9O,pwk7HlMTbZAnhXbZKJ2snM2LL3bwJLDuKfSd5wb_e7CZi_8VOWT8ezfv=kitHrHSgbQzNXEP394ABUILQ3ae9h8hOXGv4mGQo?p_7XreXNftmjq_No8R_tgdF1_q4b6NtBTeMEQuGo_byv:tm6D8VL5QS6u9QJrCsxpG4oxm0d9XGO4H_TX2573kAobb_YDYdX,s9XR4fGGXFXq9idsrWqHBjsMpXdPow20j_je_y_3jJ6EhIBjz=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?na:p_7XreXNftmjq_No8R_tgdF1_q4b6NtBTeMEQuGo_byv,XW3B5YBJmnqTQIQKDeziOIpRhE22DU2Q5KpaFIFMsg=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?na:p_7XreXNftmjq_No8R_tgdF1_q4b6NtBTeMEQuGo_byv,NotTJ5V776tSeBTYb6exI2ts71pdZ5GI8vPkzE7pATjRr=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==2?na:p_7XreXNftmjq_No8R_tgdF1_q4b6NtBTeMEQuGo_byv,q5cQYFGSOWU_xoa0gyOW2ssxpDdRGhtHDckn82uUHEnIMQE2yEj4iZ=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==0?waHH5rAjClM6qRGDfBR2DNXbOm2DyBsBzzYyS4P14eE7ri:pwk7HlMTbZAnhXbZKJ2snM2LL3bwJLDuKfSd5wb_e7CZi_8VOWT8ezfv,wGatSkza6xPH2cJyEtukU1TFXFRhUt8G_7R_No9oRzRybtud_s9jMyzQ=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==1?waHH5rAjClM6qRGDfBR2DNXbOm2DyBsBzzYyS4P14eE7ri:pwk7HlMTbZAnhXbZKJ2snM2LL3bwJLDuKfSd5wb_e7CZi_8VOWT8ezfv,_3P6obn2T8WMKcq_1qWBfGE98m0HU3lScMoDcRHUdCF1aMmTQfwf6aEjaBu3=JGMjbBNRMP5bKh_fI2o1c7IZXnVgHGxOkukE1P462nfND6yGBVIUsitom==2?waHH5rAjClM6qRGDfBR2DNXbOm2DyBsBzzYyS4P14eE7ri:pwk7HlMTbZAnhXbZKJ2snM2LL3bwJLDuKfSd5wb_e7CZi_8VOWT8ezfv,BPZAANEc8fRcuL6dSmNnX1_CZo6nJK9DVTmVTMNjFTYsW4h=plot(pR2Xtf2Jr9FZnhyetDFEtpbgNWkv8CC3nKbMBJebNo4U2k4n2sxfj2TG,transp=0,linewidth=size,style=line,****=true,color=NotTJ5V776tSeBTYb6exI2ts71pdZ5GI8vPkzE7pATjRr),Zb1xkZK9Il89LpS1nqlKbXlCdJOcCZEfy20A4TndedtU5f=plot(WMAouErwmjtwruTqtTFQkXBQdhl9LrkGFBixNAyEyrHv1NUOiEQQt,transp=0,linewidth=size,style=line,****=true,color=NotTJ5V776tSeBTYb6exI2ts71pdZ5GI8vPkzE7pATjRr),fill(BPZAANEc8fRcuL6dSmNnX1_CZo6nJK9DVTmVTMNjFTYsW4h,Zb1xkZK9Il89LpS1nqlKbXlCdJOcCZEfy20A4TndedtU5f,transp=Lnsar3bPNOUy4pvpKguwBJ185x8FY1gR9vZ_gxJMi7726svsIBzCo34dgu,color=_3P6obn2T8WMKcq_1qWBfGE98m0HU3lScMoDcRHUdCF1aMmTQfwf6aEjaBu3),guU7LEPon1Y7ogNupxzv3ZVhqSJbw0if3AyhyTrXWjaEz7yYtLlR_09=plot(B6K6ycIZZ1a5O0PgwIHX6oOy62SPnmxfj_aUMiFj8lcKUD4XafSxs,transp=0,linewidth=size,style=circles,****=true,color=s9XR4fGGXFXq9idsrWqHBjsMpXdPow20j_je_y_3jJ6EhIBjz),uOKSBBL8yK5QVpfRHL9jV5FcO4sV5HjjPW2Nq6XQlVRX_er6VPAwmq=plot(H6vPa6kjBCiKRzS7oOS_3eDFI7QPkAa27nS9QQiHsurowZwcrvD,transp=0,linewidth=size,style=circles,****=true,color=s9XR4fGGXFXq9idsrWqHBjsMpXdPow20j_je_y_3jJ6EhIBjz),fill(guU7LEPon1Y7ogNupxzv3ZVhqSJbw0if3AyhyTrXWjaEz7yYtLlR_09,uOKSBBL8yK5QVpfRHL9jV5FcO4sV5HjjPW2Nq6XQlVRX_er6VPAwmq,transp=Lnsar3bPNOUy4pvpKguwBJ185x8FY1gR9vZ_gxJMi7726svsIBzCo34dgu,color=q5cQYFGSOWU_xoa0gyOW2ssxpDdRGhtHDckn82uUHEnIMQE2yEj4iZ),QSH9z2grqSGiyliKwiU_Z3F1tnXWTGJN6LEOnqfHlvdN0Tlx2lWPHlLRj=plot(LaTE7Majfp26QTTzaydQ2gh7Dmn8CvX3vr2XiRyd,transp=0,linewidth=size,style=circles,****=true,color=XW3B5YBJmnqTQIQKDeziOIpRhE22DU2Q5KpaFIFMsg),Ddfb4f29Jt4wxfaSSK3pcKRsZCXDKNFSBAVISJhfi0e7kCy=plot(Yl5PT3ESlD1khHsMSRk27rEBkJyY9bCW95CCMJ8jV,transp=0,linewidth=size,style=circles,****=true,color=XW3B5YBJmnqTQIQKDeziOIpRhE22DU2Q5KpaFIFMsg),fill(QSH9z2grqSGiyliKwiU_Z3F1tnXWTGJN6LEOnqfHlvdN0Tlx2lWPHlLRj,Ddfb4f29Jt4wxfaSSK3pcKRsZCXDKNFSBAVISJhfi0e7kCy,transp=Lnsar3bPNOUy4pvpKguwBJ185x8FY1gR9vZ_gxJMi7726svsIBzCo34dgu,color=wGatSkza6xPH2cJyEtukU1TFXFRhUt8G_7R_No9oRzRybtud_s9jMyzQ),nIygynyDXCdXGrOF8lInLfpjuFuW6WZkEmpYKxvmRwYy0yBqFRkF=z9GzrEXmrop7fV4vW1VgUzzrwN4ar7SeTRvjsIEPeXTZmSO,G3aJS_mfSiwGJrVGQuXbMBA3DUM_ozvIjBrrwEGxhXc9yt9Zf=nIygynyDXCdXGrOF8lInLfpjuFuW6WZkEmpYKxvmRwYy0yBqFRkF,iLDSiZ1nAUUfVfHImS1MqboJTVTZtxn0WUqjNDeSK5OI2=G3aJS_mfSiwGJrVGQuXbMBA3DUM_ozvIjBrrwEGxhXc9yt9Zf,mo7pp7lhzCTyu4mNeCr2h7UEiTr2gxY_KyxI958ZBM6ERHTI7oFzI0r=iLDSiZ1nAUUfVfHImS1MqboJTVTZtxn0WUqjNDeSK5OI2==_fAUQL6gyA8nyC6yFL6D4S4mzVWblHfV7ty3Rv_x_BmreRWe,_yn7ttTHoxR6KJngAyd2sWOOdwbBl0DIJDoPC4EMEC8wu=mo7pp7lhzCTyu4mNeCr2h7UEiTr2gxY_KyxI958ZBM6ERHTI7oFzI0r?0:-1,hrv2IIFtLx3JJhdtrlFmFBdFktZzHnXbFpAN9KShCuN=mo7pp7lhzCTyu4mNeCr2h7UEiTr2gxY_KyxI958ZBM6ERHTI7oFzI0r?na:close[_yn7ttTHoxR6KJngAyd2sWOOdwbBl0DIJDoPC4EMEC8wu],plot(hrv2IIFtLx3JJhdtrlFmFBdFktZzHnXbFpAN9KShCuN),zwKllUgrZrbxmM_U4S34k_jmlxiiNVqIeRk9Ra74HGXw_YMRV4RSOmi=close,VDhmznjndtMibnBeW02kdV3n8hZFk5WVxdziGRTUd0vWOV2qeXGfhUd4=high,K4J2jlKNcvtiS1r7W76KICidGq1X45AWL35kuBIiW7GlihW_w3PyesM=VDhmznjndtMibnBeW02kdV3n8hZFk5WVxdziGRTUd0vWOV2qeXGfhUd4+zwKllUgrZrbxmM_U4S34k_jmlxiiNVqIeRk9Ra74HGXw_YMRV4RSOmi,rX6cIln6LMSceWUyljMJJndYKR02K1Nton2nSIirk0uU7n1c=(VDhmznjndtMibnBeW02kdV3n8hZFk5WVxdziGRTUd0vWOV2qeXGfhUd4*open[15])+zwKllUgrZrbxmM_U4S34k_jmlxiiNVqIeRk9Ra74HGXw_YMRV4RSOmi,P8fadzT4TQ_9xeQE3fExvrS1WBtY_99hj0zyq3nLwpGLiqXqb4l7cIe=aaa7lCelvXyPIPy8t68AGttUSElxXoGP4BI4LJb443Vv8LDyD0bQoIeZhW0P=="Protected by www.PineScripts.com"?na:-10000,plot(P8fadzT4TQ_9xeQE3fExvrS1WBtY_99hj0zyq3nLwpGLiqXqb4l7cIe)
// Encrypt Compilation [1838] ---------------------------------------
////////////////////////SAR DÖNGÜLEME HESAPLAMASI///////////////////////////////////////////////////////////////
A1 = input(0.)
B1 = input(0.1)
C1 = input(0.1, ".")
ABC1 = sar(A1, B1, C1)
plot(ABC1, "1", style=cross, color=blue, linewidth = 3, transp=00)
A11 = input(0.)
B11 = input(0.1)
C11 = input(0.9, ".")
ABC11 = sar(A11, B11, C11)
plot(ABC11, "2", style=cross, color=fuchsia, linewidth = 3, transp=00)
A111 = input(0.)
B111 = input(0.1)
C111 = input(0.2, ".")
ABC111 = sar(A111, B111, C111)
plot(ABC111, "3", style=cross, color=lime, linewidth = 3, transp=00)
A1112 = input(0.)
B1112 = input(0.01)
C1112 = input(0.1, ".")
ABC1112 = sar(A1112, B1112, C1112)
plot(ABC1112, "4", style=cross, color=red, linewidth = 3, transp=00)
A11122 = input(0.)
B11122 = input(0.9)
C11122 = input(0.1, ".")
ABC11122 = sar(A11122, B11122, C11122)
plot(ABC11122, "5", style=cross, color=white, linewidth = 3, transp=00)
A111222 = input(0.02)
B111222 = input(0.02)
C111222 = input(0.2, ".")
ABC111222 = sar(A111222, B111222, C111222)
plot(ABC111222, "6", style=cross, color=black, linewidth = 3, transp=00)
///////////////////////////////////////
PHP Code:
//@version=6
indicator(title = 'yörük 2025', shorttitle = '.', overlay = true, max_lines_count = 100, max_labels_count=100, max_boxes_count = 100, max_bars_back = 100)
//////////////////////////////////////////////////////////////////MTF SAR HESAPLAMASIDIR///////////////
start46 = input(0.)
increment46 = input(0.1)
maximum46 = input(0.9, "Max Value")
out55 = ta.sar(start46, increment46, maximum46)
plot_color = close > out55 ? color.rgb(5, 182, 64) : close < out55 ? color.rgb(169, 7, 7) : na
show_header = input(false, title="Show header?", group='Table Settings')
dashboard_position = input.string("Top center", title="Position", options=["Top right", "Top center", "Middle right"], group='Table Settings')
text_size = input.string('Normal', title="Size", options=["Tiny", "Small", "Normal", "Large"], group='Table Settings')
text_color = input.color(color.rgb(11, 68, 224), title="Text color", group='Table Settings')
table_color = input.color(color.purple, title="Border color", group='Table Settings')
uptrend_indicator = "🔵"
downtrend_indicator = "🟠"
tf11 = input.timeframe("1", title="Timeframe 1")
tf22 = input.timeframe("3", title="Timeframe 2")
tf33 = input.timeframe("5", title="Timeframe 3")
tf4 = input.timeframe("10", title="Timeframe 4")
tf5 = input.timeframe("15", title="Timeframe 5")
tf6 = input.timeframe("30", title="Timeframe 6")
tf7 = input.timeframe("60", title="Timeframe 7")
tf8 = input.timeframe("120", title="Timeframe 8")
tf9 = input.timeframe("240", title="Timeframe 9")
tf10 = input.timeframe("D", title="Timeframe 10")
var table_position = dashboard_position == 'Top center' ? position.middle_left :
dashboard_position == 'Top center' ? position.middle_left :
dashboard_position == 'Middle right' ? position.middle_right : position.middle_right
var table_text_size = text_size == 'Normal' ? size.normal :
text_size == 'Small' ? size.small : size.normal
var t = table.new(position=table_position, columns=3, rows=20, frame_color=#cdcbcb, frame_width=5, border_color=table_color, border_width=1,bgcolor =color.rgb(21, 21, 21) )
get_trend_status(trend_value) =>
is_uptrend = close > trend_value
candle_now = is_uptrend ? uptrend_indicator : downtrend_indicator
candle_now
//--------------------------------------------------------------------------------------
sar_1 = request.security(syminfo.tickerid, tf11, ta.sar(start46, increment46, maximum46))
sar_2 = request.security(syminfo.tickerid, tf22, ta.sar(start46, increment46, maximum46))
sar_3 = request.security(syminfo.tickerid, tf33, ta.sar(start46, increment46, maximum46))
sar_4 = request.security(syminfo.tickerid, tf4, ta.sar(start46, increment46, maximum46))
sar_5 = request.security(syminfo.tickerid, tf5, ta.sar(start46, increment46, maximum46))
sar_6 = request.security(syminfo.tickerid, tf6, ta.sar(start46, increment46, maximum46))
sar_7 = request.security(syminfo.tickerid, tf7, ta.sar(start46, increment46, maximum46))
sar_8 = request.security(syminfo.tickerid, tf8, ta.sar(start46, increment46, maximum46))
sar_9 = request.security(syminfo.tickerid, tf9, ta.sar(start46, increment46, maximum46))
sar_10 = request.security(syminfo.tickerid, tf10, ta.sar(start46, increment46, maximum46))
trend_indicator_1 = get_trend_status(sar_1)
trend_indicator_2 = get_trend_status(sar_2)
trend_indicator_3 = get_trend_status(sar_3)
trend_indicator_4 = get_trend_status(sar_4)
trend_indicator_5 = get_trend_status(sar_5)
trend_indicator_6 = get_trend_status(sar_6)
trend_indicator_7 = get_trend_status(sar_7)
trend_indicator_8 = get_trend_status(sar_8)
trend_indicator_9 = get_trend_status(sar_9)
trend_indicator_10 = get_trend_status(sar_10)
if tf11 == "60"
tf11 := "1H"
if tf11 == "120"
tf11 := "2H"
if tf11 == "180"
tf11 := "3H"
if tf11 == "240"
tf11 := "4H"
if tf22 == "60"
tf22 := "1H"
if tf22 == "120"
tf22 := "2H"
if tf22 == "180"
tf22 := "3H"
if tf22 == "240"
tf22 := "4H"
if tf33 == "60"
tf33 := "1H"
if tf33 == "120"
tf33 := "2H"
if tf33 == "180"
tf33 := "3H"
if tf33 == "240"
tf33 := "4H"
if tf4 == "60"
tf4 := "1H"
if tf4 == "120"
tf4 := "2H"
if tf4 == "180"
tf4 := "3H"
if tf4 == "240"
tf4 := "4H"
if tf5 == "60"
tf5 := "1H"
if tf5 == "120"
tf5 := "2H"
if tf5 == "180"
tf5 := "3H"
if tf5 == "240"
tf5 := "4H"
if tf6 == "60"
tf6 := "1H"
if tf6 == "120"
tf6 := "2H"
if tf6 == "180"
tf6 := "3H"
if tf6 == "240"
tf6 := "4H"
if tf7 == "60"
tf7 := "1H"
if tf7 == "120"
tf7 := "2H"
if tf7 == "180"
tf7 := "3H"
if tf7 == "240"
tf7 := "4H"
if tf8 == "60"
tf8 := "1H"
if tf8 == "120"
tf8 := "2H"
if tf8 == "180"
tf8 := "3H"
if tf8 == "240"
tf8 := "4H"
if tf9 == "60"
tf9 := "1H"
if tf9 == "120"
tf9 := "2H"
if tf9 == "180"
tf9 := "3H"
if tf9 == "240"
tf9 := "4H"
if tf10 == "60"
tf10 := "1H"
if tf10 == "120"
tf10 := "2H"
if tf10 == "180"
tf10 := "3H"
if tf10 == "240"
tf10 := "4H"
//---------------------------------------------------------------------------------------------
// Update table with trend data
//---------------------------------------------------------------------------------------------
if (barstate.islast)
table.cell(t, 0, 1, tf11, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 1, text="●", text_color=trend_indicator_1==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 1, str.tostring(sar_1, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 2, tf22, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 2, text="●", text_color=trend_indicator_2==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 2, str.tostring(sar_2, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 3, tf33, text_color=color.white, text_size=table_text_size,bgcolor= color.rgb(21, 21, 21))
table.cell(t, 1, 3, text="●", text_color=trend_indicator_3==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 3, str.tostring(sar_3, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 4, tf4, text_color=color.white, text_size=table_text_size, bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 4, text="●", text_color=trend_indicator_4==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 4, str.tostring(sar_4, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 5, tf5, text_color=color.white, text_size=table_text_size, bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 5, text="●", text_color=trend_indicator_5==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 5, str.tostring(sar_5, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 6, tf6, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 6, text="●", text_color=trend_indicator_6==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 6, str.tostring(sar_6, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 7, tf7, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 7, text="●", text_color=trend_indicator_7==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 7, str.tostring(sar_7, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 8, tf8, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 8, text="●", text_color=trend_indicator_8==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 8, str.tostring(sar_8, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 9, tf9, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 9, text="●", text_color=trend_indicator_9==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 9, str.tostring(sar_9, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 0, 10, tf10, text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t, 1, 10, text="●", text_color=trend_indicator_10==uptrend_indicator?color.lime:color.red,text_size = size.large)
table.cell(t, 2, 10, str.tostring(sar_10, "#.##"), text_color=color.white, text_size=table_text_size,bgcolor = color.rgb(21, 21, 21))
table.cell(t,0,0,"Periyot",text_color = color.white,bgcolor = color.rgb(21, 21, 21))
table.cell(t,1,0,"Trend",text_color = color.white,bgcolor = color.rgb(21, 21, 21))
table.cell(t,2,0,"Fiyat",text_color = color.white,bgcolor = color.rgb(21, 21, 21))
lookback = input.int(5, "Line Lookback Period", minval=1)
///////////////////SON//////////////////
// INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
grp = "Standart Deviation Levels"
length = input.int(5, "SMA Length", group = "SMA")
mult1 = input.int(1, "Standart Deviation 1", group = grp)
mult2 = input.int(2, "Standart Deviation 2", group = grp)
mult3 = input.int(3, "Standart Deviation 3", group = grp)
show_tp = input.bool(true, "Show", group = "Trend Distribution Profile")
bins = input.int(50, "Bins Amount", group = "Trend Distribution Profile")
offset = input.int(30, "Offset", group = "Trend Distribution Profile")
//col_up = input.color(color.rgb(18, 209, 235), "", group = "Theme", inline = "c")
//col_dn = input.color(color.rgb(250, 40, 86), "", group = "Theme", inline = "c")
var start_index = int(na)
var trend = bool(na)
// }
// CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
avg = ta.sma(close, length)
atr = ta.atr(200)
stdv1 = avg + atr * mult1
stdv2 = avg + atr * mult2
stdv3 = avg + atr * mult3
stdv_1 = avg - atr * mult1
stdv_2 = avg - atr * mult2
stdv_3 = avg - atr * mult3
max = stdv3
min = stdv_3
avg_diff = avg - avg[5]
avg_col = avg_diff / ta.percentile_linear_interpolation(avg_diff, 500, 100)
//avg_color = color.from_gradient(avg_col, -0.3, 0.3, col_dn, col_up)
if ta.crossover(avg_col, 0.1) and not trend
trend := true
start_index := bar_index
if ta.crossunder(avg_col, -0.1) and trend
trend := false
start_index := bar_index
loockback = bar_index - start_index
draw_stdv(src, mult, mid = false)=>
if barstate.islast
if mid
line.delete(line.new(bar_index, avg, bar_index+5, avg, color = color.black, width = 2)[1])
line.delete(line.new(bar_index, src, bar_index+5, src, color = chart.fg_color, width = 2)[1])
label.delete(label.new(bar_index+5, src, color = color.new(chart.fg_color, 100), textcolor = chart.fg_color, text = mult, style = label.style_label_left)[1])
// }
// PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
draw_stdv(stdv1, "+1", true)
draw_stdv(stdv2, "+2")
draw_stdv(stdv3, "+3")
draw_stdv(stdv_1, "-1")
draw_stdv(stdv_2, "-2")
draw_stdv(stdv_3, "-3")
// }
///////////////////////////////////////////YÜZDEYLE KANAL HESAPLAMASI///////////////////
ye99 = input.int(100, 'P1', minval = 1)
ye98 = input.string('Percentage')
hpFilter(sye97, ye99) =>
var float ye96 = na
ye96 := na(ye96[1]) ? sye97 : (sye97 + (ye99 - 1) * nz(ye96[1])) / ye99
ye96
//
ye95 = hpFilter(close, ye99)
ye92 = (close - ye95) / ye95 * 100
ye87 = close - ye95
var ye94 = array.new_float()
var ye93 = array.new_float()
if ye98 == 'Percentage'
if ye92 > 0
array.push(ye94, ye92)
else if ye92 < 0
array.push(ye93, ye92)
//
ye91 = array.size(ye94) > 0 ? array.avg(ye94) : na
ye90 = array.size(ye93) > 0 ? array.avg(ye93) : na
ye89 = ye91 / 100 * ye95 + ye95
ye88 = ye90 / 100 * ye95 + ye95
plot(ye95, title = 'M100 ', color = color.rgb(247, 178, 3), linewidth = 2, force_overlay = true)
plot(ye89, title = 'H100 ', color = color.rgb(247, 178, 3), force_overlay = true, style = plot.style_line)
plot(ye88, title = 'L100 ', color = color.rgb(247, 178, 3), force_overlay = true, style = plot.style_line)
//////////////////////////////ATR TREND HESAPLAMASIDIR/////////////////
var params = "Parameters"
src55 = nz(input.source(close, title = "Source", group = params))
len55 = input.int(5, title = "ATR Len", group = params)
multi55 = input.float(1.5, title = "Multi", step = 0.25, minval = 0, group = params)
var cols = "Colors"
up_col = input.color(color.rgb(255, 255, 255, 00), title = "Yükseliş", group = cols)
down_col = input.color(color.rgb(247, 3, 3), title = "DÜşüş", group = cols)
flat_col = input.color(color.rgb(0, 0, 0, 00), title = "Flat ", inline = "3", group = cols)
rope_smoother(float _src55, float _threshold) =>
var float _rope = _src55
_move = _src55 - _rope //Movement from Rope
_rope += math.max(math.abs(_move) - nz(_threshold), 0) * math.sign(_move) //Directional Movement beyond the Threshold
[_rope,_rope+_threshold,_rope-_threshold] //[Rope, Upper, Lower]
///_____________________________________________________________________________________________________________________
//Calculating Rope
atr99 = ta.atr(len55)*multi55
[rope,upper,lower] = rope_smoother(src55,atr99)
//Directional Detection
var dir = 0
dir := rope > rope[1] ? 1 : rope < rope[1] ? -1 : dir
if ta.cross(src55,rope)
dir := 0
//Directional Color Assignment
col = dir > 0 ? up_col : dir < 0 ? down_col : flat_col
//High and Low Output Lines
var float c_hi = na
var float c_lo = na
//Counters for Accumulating Averages
var float h_sum = 0
var float l_sum = 0
var int c_count = 0
//Flip-Flop
var ff = 1
if dir == 0
if dir[1] != 0
h_sum := 0
l_sum := 0
c_count := 0
ff := ff * -1
h_sum += upper
l_sum += lower
c_count += 1
c_hi := h_sum/c_count
c_lo := l_sum/c_count
///
plot(rope, linewidth = 3, color = col, title = "ATR", force_overlay = true)
/////////////////////////////////////////////////MACD BAR RENKLENDİRME HESAPLAMASI//////////////////////
groupFrames = 'Trend Monitoring Time Frames'
tf1 = input.timeframe('1', title='TF1 - Short', group=groupFrames)
tf2 = input.timeframe('5', title='TF2 - Medium', group=groupFrames)
tf3 = input.timeframe('15', title='TF3 - Long', group=groupFrames)
statusThreshold = input.int(4, title='Min Status Matches for Candle Color', options=[1, 2, 3, 4])
//-----------------------------------------
// User Inputs - Candle Color Settings
//-----------------------------------------
groupBody = 'Candle Color: Body'
sbBodyColor = input.color(color.white, title='KESİN AL', group=groupBody)
bullBodyColor = input.color(color.rgb(255, 255, 255, 100), title='AL', group=groupBody)
baseBodyColor = input.color(color.rgb(4, 4, 4), title='DİKKAT ET', group=groupBody)
bearBodyColor = input.color(color.rgb(255, 82, 82, 100), title='SAT', group=groupBody)
sbearBodyColor = input.color(color.rgb(255, 82, 82, 100), title='KESİN SAT', group=groupBody)
ghostBodyColor = input.color(color.rgb(223, 64, 251, 100), title='TREND YOK', group=groupBody)
groupBorder = 'Candle Color: Border & Wick'
sbBorderColor = input.color(color.white, title='KESİN AL', group=groupBorder)
bullBorderColor = input.color(color.rgb(255, 255, 255, 100), title='AL', group=groupBorder)
baseBorderColor = input.color(color.rgb(4, 4, 4), title='DİKKAT ET', group=groupBorder)
bearBorderColor = input.color(color.rgb(255, 82, 82, 100), title='SAT', group=groupBorder)
sbearBorderColor = input.color(color.rgb(255, 82, 82, 100), title='KESİN SAT', group=groupBorder)
ghostBorderColor = input.color(color.rgb(223, 64, 251, 100), title='TREND YOK', group=groupBorder)
//-----------------------------------------
// User Inputs - MACD Settings (at bottom per request)
//-----------------------------------------
groupMACD = 'MACD Settings'
macdFastLen = input.int(20, title='MACD Fast Length', minval=1, group=groupMACD)
macdSlowLen = input.int(40, title='MACD Slow Length', minval=1, group=groupMACD)
macdSignalLen = input.int(5, title='MACD Signal Smoothing', minval=1, group=groupMACD)
maType = input.string('EMA', title='MACD MA Type', options=['EMA', 'SMA', 'WMA'], group=groupMACD)
//-----------------------------------------
// MACD Calculation Function
//-----------------------------------------
calcMACD(_src, _fastLen, _slowLen, _signalLen) =>
fastMA = maType == 'EMA' ? ta.ema(_src, _fastLen) : maType == 'SMA' ? ta.sma(_src, _fastLen) : ta.wma(_src, _fastLen)
slowMA = maType == 'EMA' ? ta.ema(_src, _slowLen) : maType == 'SMA' ? ta.sma(_src, _slowLen) : ta.wma(_src, _slowLen)
macdValue = fastMA - slowMA
signalLine = maType == 'EMA' ? ta.ema(macdValue, _signalLen) : maType == 'SMA' ? ta.sma(macdValue, _signalLen) : ta.wma(macdValue, _signalLen)
hist = macdValue - signalLine
[macdValue, signalLine, hist, fastMA, slowMA]
//-----------------------------------------
// MACD (10m) Logic
//-----------------------------------------
[macdLine, signalLine, macdHist, _, _] = request.security(syminfo.tickerid, '10', calcMACD(close, macdFastLen, macdSlowLen, macdSignalLen))
macdBullish = macdLine > signalLine
macdStrong = macdBullish and macdLine > -0.25 and signalLine > -0.25
macdSuperBear = not macdBullish and macdLine < -0.25 and signalLine < -0.25
macdNeutral = not macdBullish and macdLine > -0.025 and signalLine > -0.025 and not macdSuperBear
macdText = macdStrong ? 'SUPERBULL' : macdSuperBear ? 'SUPERBEAR' : macdNeutral ? 'Basing' : macdBullish ? 'Bullish' : 'Bearish'
//-----------------------------------------
// Timeframe Status Function
//-----------------------------------------
f_getStatus(tf) =>
[smaHigh, smaLow] = request.security(syminfo.tickerid, tf, [ta.sma(high, 20), ta.sma(low, 20)])
[macdLine_tf, signalLine_tf, _, fastMA_tf, slowMA_tf] = request.security(syminfo.tickerid, tf, calcMACD(close, macdFastLen, macdSlowLen, macdSignalLen))
price_tf = request.security(syminfo.tickerid, tf, close)
macdBullish_tf = macdLine_tf > signalLine_tf
aboveSMAs = price_tf > smaHigh and price_tf > smaLow
belowSMAs = price_tf < smaHigh and price_tf < smaLow
belowMAs = macdLine_tf < fastMA_tf and signalLine_tf < slowMA_tf
status = ''
statusColor = color.gray
if aboveSMAs and macdBullish_tf and macdLine_tf > -0.025
status := 'SUPERBULL'
else if belowSMAs and not macdBullish_tf and macdLine_tf < -0.025 and belowMAs
status := 'SUPERBEAR'
else if macdLine_tf > -0.025 and not macdBullish_tf
status := 'Basing'
else if aboveSMAs and macdBullish_tf
status := 'Bullish'
else if not aboveSMAs and not macdBullish_tf
status := 'Bearish'
[status, statusColor]
//-----------------------------------------
// Timeframe Status Logic
//-----------------------------------------
[status1, color1] = f_getStatus(tf1)
[status5, color5] = f_getStatus(tf2)
[status15, color15] = f_getStatus(tf3)
//-----------------------------------------
// Status Match Count
//-----------------------------------------
superbullCount = (macdText == 'SUPERBULL' ? 1 : 0) + (status1 == 'SUPERBULL' ? 1 : 0) + (status5 == 'SUPERBULL' ? 1 : 0) + (status15 == 'SUPERBULL' ? 1 : 0)
superbearCount = (macdText == 'SUPERBEAR' ? 1 : 0) + (status1 == 'SUPERBEAR' ? 1 : 0) + (status5 == 'SUPERBEAR' ? 1 : 0) + (status15 == 'SUPERBEAR' ? 1 : 0)
basingCount = (macdText == 'Basing' ? 1 : 0) + (status1 == 'Basing' ? 1 : 0) + (status5 == 'Basing' ? 1 : 0) + (status15 == 'Basing' ? 1 : 0)
bullishCount = (macdText == 'Bullish' ? 1 : 0) + (status1 == 'Bullish' ? 1 : 0) + (status5 == 'Bullish' ? 1 : 0) + (status15 == 'Bullish' ? 1 : 0)
bearishCount = (macdText == 'Bearish' ? 1 : 0) + (status1 == 'Bearish' ? 1 : 0) + (status5 == 'Bearish' ? 1 : 0) + (status15 == 'Bearish' ? 1 : 0)
//-----------------------------------------
// Candle Coloring Logic
//-----------------------------------------
candleBodyColor = ghostBodyColor
candleBorderWickColor = ghostBorderColor
if superbullCount >= statusThreshold
candleBodyColor := sbBodyColor
candleBorderWickColor := sbBorderColor
else if superbearCount >= statusThreshold
candleBodyColor := sbearBodyColor
candleBorderWickColor := sbearBorderColor
else if basingCount >= statusThreshold
candleBodyColor := baseBodyColor
candleBorderWickColor := baseBorderColor
else if bullishCount >= statusThreshold
candleBodyColor := bullBodyColor
candleBorderWickColor := bullBorderColor
else if bearishCount >= statusThreshold
candleBodyColor := bearBodyColor
candleBorderWickColor := bearBorderColor
plotcandle(open, high, low, close,
title='BAR',
color=candleBodyColor,
bordercolor=candleBorderWickColor,
wickcolor=candleBorderWickColor)
/////////////////////FİBO RSİ MAS İMZA /////////////////////////////////
//@version=6
var table logo = table.new(position.bottom_center, 1, 1)
if barstate.islast
table.cell(logo, 0, 0, '@yörük@ YATIRIM TAVSİYESİ OLARAK KULLANILAMAZ. @yörük@ ', text_size = size.normal, text_color = color.rgb(218, 241, 5))
//@version=6
import TradingView/ta/10
xx14 = ta.ema(hl2, 1) - ta.ema(hl2, 41)
yy14 = math.abs(xx14) <= 0
var int zz14 = 0
if barstate.isconfirmed
if yy14
zz14 := xx14 >= 0 ? 1 : xx14 <= 0 ? -1 : zz14[1]
else
zz14 := xx14 >= 0 ? 1 : xx14 <= 0 ? -1 : zz14[1]
mf14 = zz14 == 1 ? color.lime : zz14 == -1 ? color.red : color.gray
bgcolor(color.new(mf14,60))
smaHigh = ta.sma(high, 3)
smaLow = ta.sma(low, 3)
mf=(smaHigh+smaLow)/2
plot(mf, title = '@yörük@ ', color = #fd07f500, linewidth = 2)
type_ma = input.string("EMA", "Type", options = ["SMA", "EMA"], group = "MA")
length98 = input.int(3, "Length", inline = "ma", group = "MA")
source98 = input.source(close, "", inline = "ma", group = "MA")
grp98 = "MA Shift Oscillator"
osc_len = input.int(15, "Length", group = grp98, inline = "osc")
osc_threshold = input.float(0.5, "", step = 0.1, group = grp98, inline = "osc")
osc_col_up2 = input.color(color.rgb(255, 255, 255, 100), "", inline = "c", group = "color")
osc_col_dn2 = input.color(color.rgb(0, 0, 0, 100), "", inline = "c", group = "color")
ma(source98, length98, MAtype) =>
switch MAtype
"SMA" => ta.sma(source98, length98)
"EMA" => ta.ema(source98, length98)
// MA
MA = ma(source98, length98, type_ma)
color98 = source98 >= MA ? osc_col_up2 : osc_col_dn2
plot(MA, "MAS", color=color98, force_overlay = true, linewidth = 1)
renk = input(true)
grp1 = "Indicator Settings"
src44 = input.source(hlc3, "Source", group=grp1, tooltip="Price source used for band calculations", display = display.data_window)
len44 = input.int(3, "Length", group=grp1, tooltip="Length for the basis calculation", display = display.data_window)
basis = ta.ema(ta.ema(src44, len44), len44)
plot(basis, title = 'FİBO', style = plot.style_linebr, color = renk ? basis > close ? color.rgb(0, 0, 0, 100) : color.rgb(255, 255, 255, 100) : color.silver, linewidth = 2)
///////////////////////////////
-
-
https://www.tradingview.com/x/pYJw0Rnm/ 5 dakkalıkta...kanal altında...
gün sonuna m100-h100 arasında sonlanabilir gibi...
-
https://www.tradingview.com/x/s3mjWn9u/ kanal medyanından tepki gelebilir....
eğer gelirse...saatlik kanal tepeye yönlenebilir....https://www.tradingview.com/x/UWgqP3I4/
günlükte atr üstünde hedefler.....1-5-6-4..... https://www.tradingview.com/x/2200kw0y/
-