sinus grafiği...
https://tr.tradingview.com/v/JxnqrkRI/ ilk kod bu... versiyon 3...
kaydedip...versiyon 5 taşıyın...
örnek görüntü.... https://www.tradingview.com/x/VMAdPTVj/
Printable View
sinus grafiği...
https://tr.tradingview.com/v/JxnqrkRI/ ilk kod bu... versiyon 3...
kaydedip...versiyon 5 taşıyın...
örnek görüntü.... https://www.tradingview.com/x/VMAdPTVj/
bu da diğer kod.... https://tr.tradingview.com/v/Plhgucwi/
overlay..false olduğu için aşagıda çıkar...ya true yapın ...
ya da grafiğin üstüne taşıyın....
https://www.tradingview.com/x/4E3PQrDA/ bu normal...
bu üstüne taşınmış hali....https://www.tradingview.com/x/p1Mp5QK5/
bu kodun esprisi bir sonraki dalga içindeki... hareket alanlarını görmek...
şimdi sinus grafiği....
ilginçtir...
kullanan kişi.... fiyata zaman damgası çakar.....
kesişimler...ve uzunluk kişiye göre değişir....
şahsi fikrime göre....kısa periyotlarda kullanmak...1-5 bilemedin 15 dak....
daha güzel sonuçlar veriyor.....
stratejiyi kendinize göre belirlersiniz.....
https://tr.wikipedia.org/wiki/Sin%C3%BCs_(matematik)
Sinüs fonksiyonu çoğunlukla ışık, ses, harmonik osilatörlerin konumu ve hızı, güneş ışığı yoğunluğu, gündüz uzunluğu ve yıl içindeki ortalama sıcaklık değişimleri gibi periyodik olayları modellemek için kullanılır.
https://www.tradingview.com/x/o7BqcByO/
500 ve 200 uzunluklu çift sinus dalgası
https://www.tradingview.com/x/V5yhpQ6M/
500-200-100 sinus üçleme.....
https://www.tradingview.com/x/lpEpB8i1/
x100...
https://www.tradingview.com/x/mXKtxLcE/
3 ağustos tepesi...bugün için 2 numaralı çizgi....destek konumunda...
burası kırılmadan...ciddi bir düşüşten bahsedilmez....
kırılacak olursa elimiz armut toplamaz....boşuna mı teknik öğrenmeye çalışıyoz....
https://www.tradingview.com/x/geqYPC4s/ bu ise parabol ve trend bakışı....
trend hala devam....
ayrıca saatlikte bile...https://www.tradingview.com/x/ZcAknZGc/
parabol kanal arası hareketler bile....trendi bozmuş değil hala....
hatta 2 günlük range kanalı hedefleri belli iken....
günlükte olasılığı parabolden dolayı yeni yüksek kanalın açılması olarak düşünmek daha mantıklı....
saatlikte de en yakın stop noktamız.....https://www.tradingview.com/x/5yPtqgPw/ 7645 civarı....
https://tr.tradingview.com/u/cheatco...lished-scripts
bu yazar çok güzel kodlar yayınlamış.....
bir kitabı okuyup....
her sayfadaki fikri....kodlamış... çok güzel...
bu kodların birleşiminden güzel şeyler çıkabilir....
kalıp güzel....
sizlerde beğendiklerinizi belirtirseniz......
güzel bir birleştirme yapılır....
örneğin...20 tane beğenilen kod....
hepsi tek kod içinde....
sinyalli...
örnek olarak....
başlangıca...
macd benzeri koyalım....
ama hesaplaması farklı fiyat üstünde.....
https://tr.tradingview.com/v/U7I8mxTw/
maviyi sıfır çizgisi gibi....
beyazı sinyal gibi....
renk değiştireni macd gibi düşünün....
https://www.tradingview.com/x/F9nyptwS/
yazarın kodlarına kabataslak baktım....
ana kalıp....
bar renklendirmeler iptal...
alarmlar iptal....
çift renkler ile dört renkli sinyaller kalacak...
plot çizgile iptal.....
50 civarı kod...
filtreler dahil.....
tek ortalama şeklinde çalışılabilir.....
görüntü buna benzer sade olacak...
https://www.tradingview.com/x/ufUuEEB0/
uğraşalım yapalım....
isteyene göndereyim.....
https://www.tradingview.com/x/DXP1wh50/
16tane birleşti....
versiyon dönüşümleri zaman alıyor....
https://www.tradingview.com/x/ZpPcJZJH/
46 birleşmiş hali
https://www.tradingview.com/x/uTG9OYcA/
2.böüm birleştirmeler...
https://www.tradingview.com/x/y05xM2uv/
2 kod ayrı şimdilik...
birleşimi 57oldu şimdilik.....
kodların birleşmesi tamamlandı....
https://www.tradingview.com/x/5pt3n7sw/
her üç kod....1 trend kabul edildi....
kodlarda...osilatör...indikatör...filtreler....
ne ararsan var....
kitap özeti gibi....matematiğin her hali.....
şimdi sadeleşme yapılacak.....
trend sayısı 3 veya 5 e indirilecek....
3 tercih nedeni....
kod bütünü....aynı köke bağlanınca.....
makinayı yormuyor....
trend bölümlemesi.....
döngüsellikle ilişkilendirmesi yapılacak.....
PHP Code:
//@version=5
// Copyright (c) 2019-present, Franklin Moormann (cheatcountry)
// Trender [CC] script may be freely distributed under the MIT license.
indicator('*', overlay=true)
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)
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)
inp = input(title='Source', defval=close)
res = input.timeframe(title='Resolution', defval='')
rep = input(title='Allow Repainting?', defval=false)
bar = input(title='Allow Bar Color Change?', defval=false)
src1 = request.security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
fastLength = input.int(title='FastLength', defval=12, minval=1)
slowLength = input.int(title='SlowLength', defval=26, minval=1)
signalLength = input.int(title='SignalLength', defval=9, minval=1)
macdLevel = input.float(title='MacdLevel', defval=0, minval=0)
fastAlpha = 2.0 / (1 + fastLength)
slowAlpha = 2.0 / (1 + slowLength)
fastEma = ta.ema(src1, fastLength)
slowEma = ta.ema(src1, slowLength)
pMacdEq = fastAlpha - slowAlpha != 0 ? ((nz(fastEma[1]) * fastAlpha) - (nz(slowEma[1]) * slowAlpha)) / (fastAlpha - slowAlpha) : 0
pMacdEqSig = ta.ema(pMacdEq, signalLength)
pMacdLevel = fastAlpha - slowAlpha != 0 ? (macdLevel - (nz(fastEma[1]) * (1 - fastAlpha)) + (nz(slowEma[1]) * (1 - slowAlpha))) / (fastAlpha - slowAlpha) : 0
slo = src1 - pMacdEq
sig = slo > 0 ? slo > nz(slo[1]) ? 2 : 1 : slo < 0 ? slo < nz(slo[1]) ? -2 : -1 : 0
//alertcondition(ta.crossover(sig, 1), 'Strong Buy Signal', 'Strong Bullish Change Detected')
//alertcondition(ta.crossunder(sig, -1), 'Strong Sell Signal', 'Strong Bearish Change Detected')
//alertcondition(ta.crossover(sig, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig, 0), 'Sell Signal', 'Bearish Change Detected')
rmacdColor = sig > 1 ? color.green : sig > 0 ? color.yellow : sig < -1 ? color.maroon : sig < 0 ? color.red : color.white
//barcolor(bar ? rmacdColor : na)
plot(pMacdEq, title='Macd', style=plot.style_cross, color=rmacdColor, linewidth=2)
//plot(pMacdEqSig, title='Sinyal', style=plot.style_stepline, color=color.orange, linewidth=1)
//plot(pMacdLevel, title='Mcd-0', color=color.blue, linewidth=2)
///////////////////////////////////////////////////////////////////
inp14 = input(title='Source', defval=close)
res14 = input.timeframe(title='Resolution', defval='')
rep14 = input(title='Allow Repainting?', defval=false)
//bar14 = input(title='Allow Bar Color Change?', defval=true)
src14 = request.security(syminfo.tickerid, res14, inp14[rep14 ? 0 : barstate.isrealtime ? 1 : 0])[rep14 ? 0 : barstate.isrealtime ? 0 : 1]
length14 = input.int(title='Length', defval=15, minval=1)
ma14 = ta.sma(src14, length14)
a14 = ta.linreg(src14, length14, 0)
m14 = a14 - nz(a14[1]) + ma14
ie2 = (m14 + a14) / 2
slo14 = src14 - ie2
sig14 = slo14 > 0 ? slo14 > nz(slo14[1]) ? 2 : 1 : slo14 < 0 ? slo14 < nz(slo14[1]) ? -2 : -1 : 0
//alertcondition(ta.crossover(sig14, 1), 'Strong Buy Signal', 'Strong Bullish Change Detected')
//alertcondition(ta.crossunder(sig14, -1), 'Strong Sell Signal', 'Strong Bearish Change Detected')
//alertcondition(ta.crossover(sig14, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig14, 0), 'Sell Signal', 'Bearish Change Detected')
ie2Color = sig14 > 1 ? color.green : sig14 > 0 ? color.lime : sig14 < -1 ? color.maroon : sig14 < 0 ? color.red : color.white
//barcolor(bar14 ? ie2Color : na)
//plot(ie2, title='IE2', color=ie2Color, linewidth=2)
///////////////////////////////////
inp33 = input(title='Source', defval=close)
res33 = input.timeframe(title='Resolution', defval='')
rep33 = input(title='Allow Repainting?', defval=false)
//bar33 = input(title='Allow Bar Color Change?', defval=true)
src33 = request.security(syminfo.tickerid, res33, inp33[rep33 ? 0 : barstate.isrealtime ? 1 : 0])[rep33 ? 0 : barstate.isrealtime ? 0 : 1]
acc33 = input.float(title='Accelerator', defval=1.0, minval=1.0, step=0.01)
minLength33 = input.int(title='MinLength', defval=5, minval=1)
maxLength33 = input.int(title='MaxLength', defval=50, minval=1)
smoothLength33 = input.int(title='SmoothLength', defval=4, minval=1)
mult33 = 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
mean33 = ta.sma(src33, maxLength33)
stdDev33 = ta.stdev(src33, maxLength33)
a33 = mean33 - 1.75 * stdDev33
b33 = mean33 - 0.25 * stdDev33
c33 = mean33 + 0.25 * stdDev33
d33 = mean33 + 1.75 * stdDev33
length33 = 0.0
length33 := src33 >= b33 and src33 <= c33 ? nz(length33[1], maxLength33) + 1 : src33 < a33 or src33 > d33 ? nz(length33[1], maxLength33) - 1 : nz(length33[1], maxLength33)
length33 := math.max(math.min(length33, maxLength33), minLength33)
len33 = math.round(length33)
// 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
mf33 = na(volume) or volume == 0 ? 100.0 - 100.0 / (1.0 + src33 / len33) : ta.mfi(src33, len33)
mfScaled = mf33 * 2 - 100
p33 = acc33 + math.abs(mfScaled) / 25
sum33 = 0.0
weightSum33 = 0.0
for i = 0 to len33 - 1 by 1
weight33 = math.pow(len33 - i, p33)
sum33 += src33[i] * weight33
weightSum33 += weight33
weightSum33
uma = ta.wma(sum33 / weightSum33, smoothLength33)
stdev44 = ta.stdev(src33, len33)
upperBand33 = uma + stdev44 * mult33
lowerBand33 = uma - stdev44 * mult33
slo33 = src33 - uma
sig33 = src33 > upperBand33 and nz(src33[1]) <= nz(upperBand33[1]) or src33 > lowerBand33 and nz(src33[1]) <= nz(lowerBand33[1]) ? 1 : src33 < lowerBand33 and nz(src33[1]) >= nz(lowerBand33[1]) or src33 < upperBand33 and nz(src33[1]) >= nz(upperBand33[1]) ? -1 : slo33 > 0 ? slo33 > nz(slo33[1]) ? 2 : 1 : slo33 < 0 ? slo33 < nz(slo33[1]) ? -2 : -1 : 0
//alertcondition(ta.crossover(sig33, 1), 'Strong Buy Signal', 'Strong Bullish Change Detected')
//alertcondition(ta.crossunder(sig33, -1), 'Strong Sell Signal', 'Strong Bearish Change Detected')
//alertcondition(ta.crossover(sig33, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig33, 0), 'Sell Signal', 'Bearish Change Detected')
umaColor = sig33 > 1 ? color.green : sig33 > 0 ? color.lime : sig33 < -1 ? color.maroon : sig33 < 0 ? color.red : color.black
//barcolor(bar ? umaColor : na)
//plot(upperBand33, title='UpperBand', linewidth=2, color=umaColor)
//plot(uma, title='MiddleBand', linewidth=1, color=color.new(color.white, 0))
//plot(lowerBand33, title='LowerBand', linewidth=2, color=umaColor)
///////////////////////////////////
float inp2 = input(title = 'Source', defval = close)
string res2 = input.timeframe(title = 'Resolution', defval = '')
bool rep2 = input(title = 'Allow Repainting?', defval = false)
bool bar2 = input(title = 'Allow Bar Color Change?', defval = false)
float src2 = request.security(syminfo.tickerid, res, inp[rep2 ? 0 : barstate.isrealtime ? 1 : 0])[rep2 ? 0 : barstate.isrealtime ? 0 : 1]
int length2 = input.int(title = 'Length', defval = 40, minval = 2)
float mult2 = input.float(title = 'Mult', defval = 10.0, minval = 0.01)
float alpha = 2.0 / (length2 + 1)
float trL = ta.lowest(ta.tr, length2)
float trH = ta.highest(ta.tr, length2)
float trAdj = trH - trL != 0 ? (ta.tr - trL) / (trH - trL) : 0
float trAdjEma = 0.0
trAdjEma := nz(trAdjEma[1]) + (alpha * (1 + (trAdj * mult2)) * (src2 - nz(trAdjEma[1])))
float slo2 = src2 - trAdjEma
int sig2 = slo2 > 0 ? slo2 > nz(slo2[1]) ? 2 : 1 : slo2 < 0 ? slo2 < nz(slo2[1]) ? -2 : -1 : 0
//alertcondition(ta.crossover(sig2, 1), 'Strong Buy Signal', 'Strong Bullish Change Detected')
//alertcondition(ta.crossunder(sig2, -1), 'Strong Sell Signal', 'Strong Bearish Change Detected')
//alertcondition(ta.crossover(sig2, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig2, 0), 'Sell Signal', 'Bearish Change Detected')
color tradjemaColor = sig2 > 1 ? color.green : sig2 > 0 ? color.lime : sig2 < -1 ? color.maroon : sig2 < 0 ? color.red : color.black
//barcolor(bar ? tradjemaColor : na)
//plot(trAdjEma, title = 'TrAdjEma', color = tradjemaColor, linewidth = 1)
/////////////////////////////////////////////////////////////
f_security(_symbol, _res, _src, _repaint) =>
request.security(_symbol, _res, _src[_repaint ? 0 : barstate.isrealtime ? 1 : 0])[_repaint ? 0 : barstate.isrealtime ? 0 : 1]
res3 = input.timeframe(title='Resolution', defval='')
rep3 = input(title='Allow Repainting?', defval=false)
//bar3 = input(title='Allow Bar Color Change?', defval=false)
length3 = input.int(title='Length', defval=14, minval=1)
factor3 = input.int(title='Factor', defval=2, minval=1)
p = f_security(syminfo.tickerid, res, hl2, rep3)
h = f_security(syminfo.tickerid, res, high, rep3)
l = f_security(syminfo.tickerid, res, low, rep3)
t = f_security(syminfo.tickerid, res, ta.tr, rep3)
mpEma = ta.ema(p, length3)
trEma = ta.ema(t, length3)
stdDev = ta.stdev(trEma, length3)
ad = p > nz(p[1]) ? mpEma + trEma / 2 : p < nz(p[1]) ? mpEma - trEma / 2 : mpEma
adm = ta.ema(ad, length3)
trndDn = 0.0
trndDn := ta.crossunder(adm, mpEma) ? h[2] : p < nz(p[1]) ? p + stdDev * factor3 : nz(trndDn[1], h[2])
trndUp = 0.0
trndUp := ta.crossover(adm, mpEma) ? l[2] : p > nz(p[1]) ? p - stdDev * factor3 : nz(trndUp[1], l[2])
trndr = 0.0
trndr := adm < mpEma ? trndDn : adm > mpEma ? trndUp : nz(trndr[1], 0)
sig3 = p > trndr ? 1 : p < trndr ? -1 : 0
//alertcondition(ta.crossover(sig3, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig3, 0), 'Sell Signal', 'Bearish Change Detected')
trndrColor = sig3 > 0 ? color.green : sig3 < 0 ? color.red : color.black
//barcolor(bar3 ? trndrColor : na)
//plot(trndr, color=trndrColor, linewidth=2)
//plot(mpEma, color=color.new(color.blue, 0), linewidth=2)
//plot(adm, color=color.new(color.black, 0), linewidth=1)
//////////////////////////////////////////////////////////////////
inp4 = input(title='Source', defval=close)
res4 = input.timeframe(title='Resolution', defval='')
rep4 = input(title='Allow Repainting?', defval=false)
//bar4 = input(title='Allow Bar Color Change?', defval=false)
src4 = request.security(syminfo.tickerid, res4, inp4[rep4 ? 0 : barstate.isrealtime ? 1 : 0])[rep4 ? 0 : barstate.isrealtime ? 0 : 1]
length4 = input(title='Length', defval=5)
sum = 0.0
weightSum = 0.0
owma = 0.0
for i = 0 to length4 - 1 by 1
corr = ta.correlation(src4, owma, length4)
weight = math.pow(length4 - i, corr)
sum += src4[i] * weight
weightSum += weight
weightSum
owma := sum / weightSum
sig4 = src4 > owma ? 1 : src4 < owma ? -1 : 0
//alertcondition(ta.crossover(sig4, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig4, 0), 'Sell Signal', 'Bearish Change Detected')
owmaColor = sig4 > 0 ? color.green : sig4 < 0 ? color.red : color.black
//barcolor(bar ? owmaColor : na)
//plot(owma, title='OWMA', linewidth=1, color=owmaColor)
///////////////////////////////////////////////////////////////////////////
inp6 = input(title='Source', defval=close)
res6 = input.timeframe(title='Resolution', defval='')
rep6 = input(title='Allow Repainting?', defval=false)
//bar6 = input(title='Allow Bar Color Change?', defval=false)
length6 = input.int(title='Length', defval=5, minval=1)
momLength = input.int(title='MomentumLength', defval=5, minval=1)
src6 = request.security(syminfo.tickerid, res6, inp6[rep6 ? 0 : barstate.isrealtime ? 1 : 0])[rep6 ? 0 : barstate.isrealtime ? 0 : 1]
num = 0.0
coefSum = 0.0
for i = 0 to length6 - 1 by 1
coef = math.abs(nz(src6[i]) - nz(src6[i + momLength]))
num += coef * nz(src6[i])
coefSum += coef
coefSum
filt = coefSum != 0 ? num / coefSum : 0
sig6 = src6 > filt ? 1 : src6 < filt ? -1 : 0
//alertcondition(ta.crossover(sig6, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig6, 0), 'Sell Signal', 'Bearish Change Detected')
filtColor = sig6 > 0 ? color.green : sig6 < 0 ? color.red : color.black
//barcolor(bar ? filtColor : na)
//plot(filt, title='Filter', color=filtColor, linewidth=1)
//////////////////////////////////////////////////////////////////
inp7 = input(title='Source', defval=close)
res7 = input.timeframe(title='Resolution', defval='')
rep7 = input(title='Allow Repainting?', defval=false)
//bar7 = input(title='Allow Bar Color Change?', defval=false)
src7 = request.security(syminfo.tickerid, res7, inp7[rep7 ? 0 : barstate.isrealtime ? 1 : 0])[rep7 ? 0 : barstate.isrealtime ? 0 : 1]
pi = 2 * math.asin(1)
period = 0.0
smooth = (4 * src7 + 3 * nz(src7[1]) + 2 * nz(src7[2]) + nz(src7[3])) / 10
detrender = (0.0962 * smooth + 0.5769 * nz(smooth[2]) - 0.5769 * nz(smooth[4]) - 0.0962 * nz(smooth[6])) * (0.075 * nz(period[1]) + 0.54)
q1 = (0.0962 * detrender + 0.5769 * nz(detrender[2]) - 0.5769 * nz(detrender[4]) - 0.0962 * nz(detrender[6])) * (0.075 * nz(period[1]) + 0.54)
i1 = nz(detrender[3])
jI = (0.0962 * i1 + 0.5769 * nz(i1[2]) - 0.5769 * nz(i1[4]) - 0.0962 * nz(i1[6])) * (0.075 * nz(period[1]) + 0.54)
jQ = (0.0962 * q1 + 0.5769 * nz(q1[2]) - 0.5769 * nz(q1[4]) - 0.0962 * nz(q1[6])) * (0.075 * nz(period[1]) + 0.54)
i2 = i1 - jQ
i2 := 0.2 * i2 + 0.8 * nz(i2[1])
q2 = q1 + jI
q2 := 0.2 * q2 + 0.8 * nz(q2[1])
re = i2 * nz(i2[1]) + q2 * nz(q2[1])
re := 0.2 * re + 0.8 * nz(re[1])
im = i2 * nz(q2[1]) - q2 * nz(i2[1])
im := 0.2 * im + 0.8 * nz(im[1])
period := im != 0 and re != 0 ? 2 * pi / math.atan(im / re) : 0
period := math.min(math.max(period, 0.67 * nz(period[1])), 1.5 * nz(period[1]))
period := math.min(math.max(period, 6), 50)
period := 0.2 * period + 0.8 * nz(period[1])
smoothPeriod = 0.0
smoothPeriod := 0.33 * period + 0.67 * nz(smoothPeriod[1])
dcPeriod = math.ceil(smoothPeriod + 0.5)
iTrend = 0.0
for i = 0 to dcPeriod - 1 by 1
iTrend += nz(src7[i])
iTrend
iTrend := dcPeriod > 0 ? iTrend / dcPeriod : iTrend
trendline = (4 * iTrend + 3 * nz(iTrend[1]) + 2 * nz(iTrend[2]) + nz(iTrend[3])) / 10
sig7 = smooth > trendline ? 1 : smooth < trendline ? -1 : 0
//alertcondition(ta.crossover(sig7, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig7, 0), 'Sell Signal', 'Bearish Change Detected')
tlColor = sig7 > 0 ? color.green : sig7 < 0 ? color.red : color.black
//barcolor(bar ? tlColor : na)
//plot(trendline, title='Trend', color=tlColor, linewidth=1)
//////////////////////////////////////////////////////////////////////
inp8 = input(title='Source', defval=close)
res8 = input.timeframe(title='Resolution', defval='')
rep8 = input(title='Allow Repainting?', defval=false)
//bar8 = input(title='Allow Bar Color Change?', defval=false)
length8 = input.int(title='Length', defval=5, minval=1)
src8 = request.security(syminfo.tickerid, res8, inp8[rep8 ? 0 : barstate.isrealtime ? 1 : 0])[rep8 ? 0 : barstate.isrealtime ? 0 : 1]
num8 = 0.0
coefSum8 = 0.0
for i = 0 to length8 - 1 by 1
distance = 0.0
for lb = 1 to length8 - 1 by 1
distance += math.pow(nz(src8[i]) - nz(src8[i + lb]), 2)
distance
num8 += distance * nz(src8[i])
coefSum8 += distance
coefSum8
filt8 = coefSum8 != 0 ? num8 / coefSum8 : 0
sig8 = src8 > filt8 ? 1 : src8 < filt8 ? -1 : 0
//alertcondition(ta.crossover(sig8, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig8, 0), 'Sell Signal', 'Bearish Change Detected')
filtColor8 = sig8 > 0 ? color.green : sig8 < 0 ? color.red : color.black
//barcolor(bar ? filtColor : na)
//plot(filt8, title='Filter', color=filtColor8, linewidth=1)
///////////////////////////////////////////////////////////
inp9 = input(title='Source', defval=close)
res9 = input.timeframe(title='Resolution', defval='')
rep9 = input(title='Allow Repainting?', defval=false)
//bar9 = input(title='Allow Bar Color Change?', defval=false)
src9 = request.security(syminfo.tickerid, res9, inp9[rep9 ? 0 : barstate.isrealtime ? 1 : 0])[rep9 ? 0 : barstate.isrealtime ? 0 : 1]
length9 = input.int(title='Length', defval=20, minval=1)
pi9 = 2 * math.asin(1)
twoPiPrd = 2 * pi9 / length9
alpha9 = (math.cos(twoPiPrd) + math.sin(twoPiPrd) - 1) / math.cos(twoPiPrd)
dec9 = 0.0
dec9 := alpha9 / 2 * (src9 + nz(src9[1])) + (1 - alpha9) * nz(dec9[1])
sig9 = src9 > dec9 ? 1 : src9 < dec9 ? -1 : 0
//alertcondition(ta.crossover(sig9, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig9, 0), 'Sell Signal', 'Bearish Change Detected')
decColor = sig9 > 0 ? color.green : sig9 < 0 ? color.red : color.black
//barcolor(bar ? decColor : na)
//plot(dec9, title='DEC', color=decColor, linewidth=2)
/////////////////////////////////////////////////////////////////
inp11 = input(title='Source', defval=close)
res11 = input.timeframe(title='Resolution', defval='')
rep11 = input(title='Allow Repainting?', defval=false)
//bar11 = input(title='Allow Bar Color Change?', defval=false)
src11 = request.security(syminfo.tickerid, res11, inp11[rep11 ? 0 : barstate.isrealtime ? 1 : 0])[rep11 ? 0 : barstate.isrealtime ? 0 : 1]
length11 = input(title='Length', defval=14)
p11 = input.float(title='Power', minval=0, defval=1.0)
sum11 = 0.0
weightSum11 = 0.0
for i = 0 to length11 - 1 by 1
weight = math.pow(length11 - i, p11)
sum11 += src11[i] * weight
weightSum11 += weight
weightSum11
vpwma = sum11 / weightSum11
sig11 = src11 > vpwma ? 1 : src11 < vpwma ? -1 : 0
//alertcondition(ta.crossover(sig, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig, 0), 'Sell Signal', 'Bearish Change Detected')
vpwmaColor = sig11 > 0 ? color.green : sig11 < 0 ? color.red : color.black
//barcolor(bar ? vpwmaColor : na)
//plot(vpwma, title='VPWMA', linewidth=2, color=vpwmaColor)
//////////////////////////////////////
inp22 = input(title='Source', defval=close)
res22 = input.timeframe(title='Resolution', defval='')
rep22 = input(title='Allow Repainting?', defval=false)
//bar22 = input(title='Allow Bar Color Change?', defval=true)
src22 = request.security(syminfo.tickerid, res22, inp22[rep22 ? 0 : barstate.isrealtime ? 1 : 0])[rep22 ? 0 : barstate.isrealtime ? 0 : 1]
minLength22 = input.int(title='MinLength', defval=5, minval=1)
maxLength22 = input.int(title='MaxLength', defval=50, minval=1)
mean22 = ta.sma(src22, maxLength22)
stdDev22 = ta.stdev(src22, maxLength22)
a22 = mean22 - 1.75 * stdDev22
b22 = mean22 - 0.25 * stdDev22
c22 = mean22 + 0.25 * stdDev22
d22 = mean22 + 1.75 * stdDev22
length22 = 0.0
length22 := src22 >= b22 and src22 <= c22 ? nz(length22[1], maxLength22) + 1 : src22 < a22 or src22 > d22 ? nz(length22[1], maxLength22) - 1 : nz(length22[1], maxLength22)
length22 := math.max(math.min(length22, maxLength22), minLength22)
sc22 = 2 / (length22 + 1)
vlma22 = 0.0
vlma22 := src22 * sc22 + (1 - sc22) * nz(vlma22[1], src22)
sig22 = src22 > vlma22 ? 1 : src22 < vlma22 ? -1 : 0
//alertcondition(ta.crossover(sig22, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig22, 0), 'Sell Signal', 'Bearish Change Detected')
vlmaColor = sig22 > 0 ? color.green : sig22 < 0 ? color.red : color.black
//barcolor(bar22 ? vlmaColor : na)
///plot(vlma22, title='VLMA', linewidth=2, color=vlmaColor)
inp15 = input(title='Source', defval=close)
res15 = input.timeframe(title='Resolution', defval='')
rep15 = input(title='Allow Repainting?', defval=false)
//bar15 = input(title='Allow Bar Color Change?', defval=true)
src15 = request.security(syminfo.tickerid, res15, inp15[rep15 ? 0 : barstate.isrealtime ? 1 : 0])[rep15 ? 0 : barstate.isrealtime ? 0 : 1]
length15 = input(title='Length', defval=14)
sum15 = 0.0
weightSum15 = 0.0
for i = 0 to length15 - 1 by 1
weight15 = math.pow(length15 - i, 2)
sum15 += src15[i] * weight15
weightSum15 += weight15
weightSum15
swma15 = sum15 / weightSum15
sig15 = src15 > swma15 ? 1 : src15 < swma15 ? -1 : 0
//alertcondition(ta.crossover(sig15, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig15, 0), 'Sell Signal', 'Bearish Change Detected')
swmaColor = sig15 > 0 ? color.green : sig15 < 0 ? color.red : color.black
//barcolor(bar15 ? swmaColor : na)
//plot(swma15, title='SWMA', linewidth=2, color=swmaColor)
////////////////////////////
inp16 = input(title='Source', defval=close)
res16 = input.timeframe(title='Resolution', defval='')
rep16 = input(title='Allow Repainting?', defval=false)
//bar16 = input(title='Allow Bar Color Change?', defval=true)
src16 = request.security(syminfo.tickerid, res16, inp16[rep16 ? 0 : barstate.isrealtime ? 1 : 0])[rep16 ? 0 : barstate.isrealtime ? 0 : 1]
length16 = input(title='Length', defval=14)
sum16 = 0.0
weightSum16 = 0.0
for i = 0 to length16 - 1 by 1
weight16 = math.pow(length16 - i, 0.5)
sum16 += src16[i] * weight16
weightSum16 += weight16
weightSum16
srwma = sum16 / weightSum16
sig16 = src16 > srwma ? 1 : src16 < srwma ? -1 : 0
//alertcondition(ta.crossover(sig16, 0), 'Buy Signal', 'Bullish Change Detected')
//alertcondition(ta.crossunder(sig16, 0), 'Sell Signal', 'Bearish Change Detected')
srwmaColor = sig16 > 0 ? color.green : sig16 < 0 ? color.red : color.black
//barcolor(bar16 ? srwmaColor : na)
//plot(srwma, title='SRWMA', linewidth=2, color=srwmaColor)
PHP Code:
//@version=5
// Copyright (c) 2019-present, Franklin Moormann (cheatcountry)
// True Range Adjusted Exponential Moving Average [CC] script may be freely distributed under the MIT license.
indicator('*', max_bars_back = 500, overlay = true)
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)
1775-76 ve 77 nolu mesajdaki kodlar....
birleşme yapılırken kullanıldı...
plotları..... aktif yapıp....kullanılabilir......
kodların hepsinin birleşimi...
ve......
trend ayırım sonucu....
ortaya çıkan bu.....
https://www.tradingview.com/x/mDk9vCDI/
ana...
sar döngü sistemi ile beraber görüntü.....
https://www.tradingview.com/x/9tYx7v33/
kodları....
isteyene göndereyim demiştim...
lakin...
tasarımı kendime göre yapınca...
agresif oldu....
yani....kısa 1...orta 5.....uzun 15 dakkalık periyot....
full (ortalama 1000k) giriş...vurkaç mantığıyla....
yani yatırım amaçlı değil.....
bu yüzden...
yukardaki mesajlara kodun bütününün parçalarını koydum....
herkes kendi anlayışına göre düzenlemeli.....
parabol range stop kodu...PHP Code:
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © LuxAlgo
//@version=5
indicator("Master Pattern [LuxAlgo]","*", overlay = true, max_boxes_count = 500, max_lines_count = 500)
mult1 = input.float(5, 'Multiplicative Factor', minval = 0)
slope1 = input.float(14, 'Slope', minval = 0)
width1 = input.float(100, 'Width %', minval = 0, maxval = 100) / 100
//Style
bullCss1 = input.color(color.rgb(0, 255, 229), 'Average Color', inline = 'avg', group = 'Style')
bearCss1 = input.color(color.rgb(250, 3, 3), '' , inline = 'avg', group = 'Style')
//Calculation
//-----------------------------------------------------------------------------{
var float upper1 = na
var float lower1 = na
var float avg1 = close
var hold1 = 0.
var os1 = 1.
atr1 = nz(ta.atr(200)) * mult1
avg1 := math.abs(close - avg1) > atr1 ?
math.avg(close, avg1)
: avg1 + os1 * (hold1 / mult1 / slope1)
os1 := math.sign(avg1 - avg1[1])
hold1 := os1 != os1[1] ? atr1 : hold1
upper1 := avg1 + width1 * hold1
lower1 := avg1 - width1 * hold1
//-----------------------------------------------------------------------------}
//Plots
//-----------------------------------------------------------------------------{
css1 = os1 == 1 ? bullCss1 : bearCss1
plot_upper = plot(upper1, 'Tepe', na)
plot_avg = plot(avg1, 'Stop', os1 != os1[1] ? na : css1)
plot_lower = plot(lower1, 'Dip', na)
//-----------------------------------------------------------------------------}
tf1 = input.timeframe('', 'Timeframe')
//Hold variables
var y1 = array.new<float>(0)
var x1 = array.new<int>(0)
var float a1 = na
var float b1 = na
var color css12 = na
var up_per = 0
var up_den = 0
var dn_per = 0
var dn_den = 0
n1 = bar_index
dtf = timeframe.change(tf1)
//Test for timeframe change
if dtf
if y1.size() > 0
//Calculate regression coefficients
slope1 = x1.covariance(y1) / x1.variance()
up_per += slope1 > 0 and a1 > 0 ? 1 : 0
up_den += a1 > 0 ? 1 : 0
dn_per += slope1 < 0 and a1 < 0 ? 1 : 0
dn_den += a1 < 0 ? 1 : 0
a1:= slope1
b1 := y1.avg() - a1 * x1.avg()
css12 := a1 > 0 ? #f70808 : #67f807
//Clear arrays and push data
y1.clear(), x1.clear()
y1.push(close), x1.push(n1)
else
y1.push(close)
x1.push(n1)
//output
epdt = a1 * n1 + b1
//-----------------------------------------------------------------------------}
//-----------------------------------------------------------------------------}
//Plots
//-----------------------------------------------------------------------------{
//plot(epdt, 'Önceki-Trend', dtf ? na : css1)
//-----------------------------------------------------------------------------}
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Functions
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//2 Pole Super Smoother Function
SSF(x, t) =>
omega = 2 * math.atan(1) * 4 / t
a = math.exp(-math.sqrt(2) * math.atan(1) * 4 / t)
b = 2 * a * math.cos(math.sqrt(2) / 2 * omega)
c2 = b
c3 = -math.pow(a, 2)
c1 = 1 - c2 - c3
SSF = 0.0
SSF := c1 * x + c2 * nz(SSF[1], x) + c3 * nz(SSF[2], nz(SSF[1], x))
SSF
//Getter Function For Pseudo 2D Matrix
get_val(mat, row, col, rowsize) =>
array.get(mat, int(rowsize * row + col))
//Setter Function For Pseudo 2D Matrix
set_val(mat, row, col, rowsize, val) =>
array.set(mat, int(rowsize * row + col), val)
//LU Decomposition Function
LU(A, B) =>
A_size = array.size(A)
B_size = array.size(B)
var L = array.new_float(A_size)
var U = array.new_float(A_size)
L_temp = 0.0
U_temp = 0.0
for c = 0 to B_size - 1 by 1
set_val(U, 0, c, B_size, get_val(A, 0, c, B_size))
for r = 1 to B_size - 1 by 1
set_val(L, r, 0, B_size, get_val(A, r, 0, B_size) / get_val(U, 0, 0, B_size))
for r = 0 to B_size - 1 by 1
for c = 0 to B_size - 1 by 1
if r == c
set_val(L, r, c, B_size, 1)
if r < c
set_val(L, r, c, B_size, 0)
if r > c
set_val(U, r, c, B_size, 0)
for r = 0 to B_size - 1 by 1
for c = 0 to B_size - 1 by 1
if na(get_val(L, r, c, B_size))
L_temp := get_val(A, r, c, B_size)
for k = 0 to math.max(c - 1, 0) by 1
L_temp -= get_val(U, k, c, B_size) * get_val(L, r, k, B_size)
L_temp
set_val(L, r, c, B_size, L_temp / get_val(U, c, c, B_size))
if na(get_val(U, r, c, B_size))
U_temp := get_val(A, r, c, B_size)
for k = 0 to math.max(r - 1, 0) by 1
U_temp -= get_val(U, k, c, B_size) * get_val(L, r, k, B_size)
U_temp
set_val(U, r, c, B_size, U_temp)
[L, U]
//Lower Triangular Solution Function (Forward Substitution)
LT_solve(L_, B) =>
B_size = array.size(B)
var Y = array.new_float(B_size)
Y_temp = 0.0
array.set(Y, 0, array.get(B, 0) / get_val(L_, 0, 0, B_size))
for r = 1 to B_size - 1 by 1
Y_temp := array.get(B, r)
for k = 0 to math.max(r - 1, 0) by 1
Y_temp -= get_val(L_, r, k, B_size) * array.get(Y, k)
Y_temp
array.set(Y, r, Y_temp / get_val(L_, r, r, B_size))
Y
//Upper Triangular Solution Function (Backward Substitution)
UT_solve(U_, Y_) =>
Y_size = array.size(Y_)
U_rev = array.copy(U_)
Y_rev = array.copy(Y_)
array.reverse(U_rev)
array.reverse(Y_rev)
X_rev = LT_solve(U_rev, Y_rev)
X = array.copy(X_rev)
array.reverse(X)
X
//Regression Function
regression_val(X_, index_, order_, offset_) =>
reg = 0.0
for i = 0 to order_ by 1
reg += array.get(X_, i) * math.pow(index_ - offset_, i)
reg
reg
//Curve Segment Drawing Function
draw_curve(Y, sdev, n, step_, col, ls, lw, draw, conf) =>
var line segment = line.new(x1=time[n * step_], y1=array.get(Y, n) + sdev, x2=time[(n - 1) * step_], y2=array.get(Y, n - 1) + sdev, xloc=xloc.bar_time)
if draw
if conf ? barstate.isconfirmed : 1
line.set_xy1(segment, time[n * step_], array.get(Y, n) + sdev)
line.set_xy2(segment, time[(n - 1) * step_], array.get(Y, n - 1) + sdev)
line.set_color(segment, col)
line.set_width(segment, lw)
line.set_style(segment, ls == 'Solid' ? line.style_solid : ls == 'Dotted' ? line.style_dotted : line.style_dashed)
else
line.delete(segment)
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Inputs
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Source Inputs
src = input(defval=close, title='Input Source Value')
use_filt = input(defval=true, title='Smooth Data Before Curve Fitting')
filt_per = input.int(defval=10, minval=2, title='Data Smoothing Period ═══════════════════')
//Calculation Inputs
per = input.int(defval=50, minval=2, title='Regression Sample Period')
order = input.int(defval=2, minval=1, title='Polynomial Order')
calc_offs = input(defval=0, title='Regression Offset')
ndev = input.float(defval=2.0, minval=0, title='Width Coefficient')
equ_from = input.int(defval=0, minval=0, title='Forecast From _ Bars Ago ═══════════════════')
//Channel Display Inputs
show_curve = input(defval=true, title='Show Fitted Curve')
show_high = input(defval=true, title='Show Fitted Channel High')
show_low = input(defval=true, title='Show Fitted Channel Low')
draw_step1 = input.int(defval=10, minval=1, title='Curve Drawing Step Size')
auto_step = input(defval=true, title='Auto Decide Step Size Instead')
draw_freq = input.string(defval='Close Only', options=['Continuous', 'Close Only'], title='Curve Update Frequency')
poly_col_h = input(defval=color.yellow, title='Channel High Line Color')
poly_lw_h = input.int(defval=3, minval=1, title='Channel High Line Width')
poly_ls_h = input.string(defval='Dashed', options=['Solid', 'Dotted', 'Dashed'], title='Channel High Line Style')
poly_col_m = input(defval=color.rgb(255, 235, 59, 100), title='Channel Middle Line Color')
poly_lw_m = input.int(defval=3, minval=1, title='Channel Middle Line Width')
poly_ls_m = input.string(defval='Dotted', options=['Solid', 'Dotted', 'Dashed'], title='Channel Middle Line Style')
poly_col_l = input(defval=color.yellow, title='Channel Low Line Color')
poly_lw_l = input.int(defval=3, minval=1, title='Channel Low Line Width')
poly_ls_l = input.string(defval='Dashed', options=['Solid', 'Dotted', 'Dashed'], title='Channel Low Line Style ═══════════════════')
//Equation Display Inputs
//show_equation = input(defval=true, title='Show Regression Equation')
//label_bcol = input(defval=#000000, title='Equation Label Background Color')
//label_tcol = input(defval=#ffffff, title='Equation Label Text Color')
//label_size = input.string(defval='Large', options=['Auto', 'Tiny', 'Small', 'Normal', 'Large', 'Huge'], title='Equation Label Size')
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Definitions
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Smooth data and determine source type for calculation.
filt = SSF(src, filt_per)
src1 = use_filt ? filt : src
//Populate a period sized array with bar values.
var x_vals = array.new_float(per)
for i = 0 to per - 1 by 1
array.set(x_vals, i, i + 1)
//Populate a period sized array with historical source values.
var src_vals = array.new_float(per)
for i = 0 to per - 1 by 1
array.set(src_vals, i, src1[per - 1 - i + equ_from])
//Populate an order*2 + 1 sized array with bar power sums.
var xp_sums = array.new_float(order * 2 + 1)
xp_sums_temp = 0.0
for i = 0 to order * 2 by 1
xp_sums_temp := 0
for j = 0 to per - 1 by 1
xp_sums_temp += math.pow(array.get(x_vals, j), i)
xp_sums_temp
array.set(xp_sums, i, xp_sums_temp)
//Populate an order + 1 sized array with (bar power)*(source value) sums.
var xpy_sums = array.new_float(order + 1)
xpy_sums_temp = 0.0
for i = 0 to order by 1
xpy_sums_temp := 0
for j = 0 to per - 1 by 1
xpy_sums_temp += math.pow(array.get(x_vals, j), i) * array.get(src_vals, j)
xpy_sums_temp
array.set(xpy_sums, i, xpy_sums_temp)
//Generate a pseudo square matrix with row and column sizes of order + 1 using bar power sums.
var xp_matrix = array.new_float(int(math.pow(order + 1, 2)))
for r = 0 to order by 1
for c = 0 to order by 1
set_val(xp_matrix, r, c, order + 1, array.get(xp_sums, r + c))
//Factor the power sum matrix into lower and upper triangular matrices with order + 1 rows and columns.
[lower, upper] = LU(xp_matrix, xpy_sums)
//Find lower triangular matrix solutions using (bar power)*(source value) sums.
l_solutions = LT_solve(lower, xpy_sums)
//Find upper triangular matrix solutions using lower matrix solutions. This gives us our regression coefficients.
reg_coefs = UT_solve(upper, l_solutions)
//Define curve drawing step size.
draw_step = auto_step ? math.ceil(per / 10) : draw_step1
//Calculate curve values.
var inter_vals = array.new_float(11)
for i = 0 to 10 by 1
array.set(inter_vals, i, regression_val(reg_coefs, per, order, calc_offs - equ_from + draw_step * i))
//Calculate standard deviation for channel.
Stdev = array.stdev(src_vals) * ndev
//Define a string for regression equation display.
//equation_txt = ''
//if show_equation
//equation_txt := (equ_from != 0 ? 'Forecast From ' + str.tostring(equ_from) + (equ_from == 1 ? ' Bar ' : ' Bars ') + 'Ago Using\n\n' : '') + str.tostring(array.get(reg_coefs, 0))
//for i = 1 to array.size(reg_coefs) - 1 by 1
//equation_txt += (array.get(reg_coefs, i) < 0 ? ' - ' : ' + ') + str.tostring(math.abs(array.get(reg_coefs, i))) + 'x' + (i > 1 ? '^' + str.tostring(i) : '')
//equation_txt
//equation_txt += '\n\n' + 'Offset ' + str.tostring(math.abs(calc_offs)) + (math.abs(calc_offs) == 1 ? ' Bar ' : ' Bars ') + (calc_offs > 0 ? 'To The Right' : calc_offs < 0 ? 'To The Left' : '')
//equation_txt
//Define bar colors based on LSMA.
//bar_color = src > array.get(inter_vals, 0) and src > src[1] ? #00ff00 : src > array.get(inter_vals, 0) and src <= src[1] ? #008b00 : src < array.get(inter_vals, 0) and src < src[1] ? #ff0000 : src < array.get(inter_vals, 0) and src >= src[1] ? #8b0000 : #cccccc
//Define LSMA colors.
//lsma_color = array.get(inter_vals, 0) > array.get(inter_vals, 0)[1] ? #00ff00 : array.get(inter_vals, 0) < array.get(inter_vals, 0)[1] ? #ff0000 : #cccccc
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Outputs
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Plot source / smoothed source
//plot(src1, color=color.new(#cccccc, 0), title='Source / Smoothed Source Value')
//Plot current channel endpoints (LSMA & band values).
////lsma_plot = plot(array.get(inter_vals, 0), color=lsma_color, linewidth=2, title='Polynomial LSMA')
//hband_plot = plot(array.get(inter_vals, 0) + Stdev, color=color.new(#00ff00, 0), title='High Band')
//lband_plot = plot(array.get(inter_vals, 0) - Stdev, color=color.new(#ff0000, 0), title='Low Band')
//Fill bands.
//fill(hband_plot, lsma_plot, color=color.new(#00ff00, 90), title='High Band Fill')
//fill(lband_plot, lsma_plot, color=color.new(#ff0000, 90), title='Low Band Fill')
//Color bars.
//barcolor(bar_color)
//Color background.
//bgcolor(color.new(#000000, 0))
//Draw interpolated segments.
draw_curve(inter_vals, 0, 1, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 2, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 3, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 4, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 5, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 6, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 7, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 8, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 9, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
draw_curve(inter_vals, 0, 10, draw_step, poly_col_m, poly_ls_m, poly_lw_m, show_curve, draw_freq == 'Close Only')
//Draw channel high segments.
draw_curve(inter_vals, Stdev, 1, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 2, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 3, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 4, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 5, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 6, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 7, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 8, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 9, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
draw_curve(inter_vals, Stdev, 10, draw_step, poly_col_h, poly_ls_h, poly_lw_h, show_high, draw_freq == 'Close Only')
//Draw channel low segments.
draw_curve(inter_vals, -Stdev, 1, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 2, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 3, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 4, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 5, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 6, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 7, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 8, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 9, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
draw_curve(inter_vals, -Stdev, 10, draw_step, poly_col_l, poly_ls_l, poly_lw_l, show_low, draw_freq == 'Close Only')
//Settings
//-----------------------------------------------------------------------------{
length74 = input.int(2, 'Length', minval = 2)
mult74 = input.float(5., 'Factor', minval = 0, step = .5)
tf74 = input.timeframe('', 'Timeframe')
src74 = input(close, 'Source')
//-----------------------------------------------------------------------------}
//Function
//-----------------------------------------------------------------------------{
pred_ranges(length74, mult74)=>
var avg = src74
var hold_atr = 0.
atr = nz(ta.atr(length74)) * mult74
avg := src74 - avg > atr ? avg + atr :
avg - src74 > atr ? avg - atr :
avg
hold_atr := avg != avg[1] ? atr / 2 : hold_atr
[avg + hold_atr * 2, avg + hold_atr, avg, avg - hold_atr, avg - hold_atr * 2]
//-----------------------------------------------------------------------------}
//Calculation
//-----------------------------------------------------------------------------{
[prR2
, prR1
, avg
, prS1
, prS2] = request.security(syminfo.tickerid, tf74, pred_ranges(length74, mult74))
//-----------------------------------------------------------------------------}
//Plots
//-----------------------------------------------------------------------------{
plot_pru2 = plot(prR2, '+2', avg != avg[1] ? na : color.rgb(14, 13, 14))
plot_pru1 = plot(prR1, '+1', avg != avg[1] ? na : color.rgb(10, 10, 10))
plot_pravg = plot(avg , '0', avg != avg[1] ? na : color.rgb(7, 7, 7))
plot_prl1 = plot(prS1, '-1', avg != avg[1] ? na : color.rgb(8, 8, 8))
plot_prl2 = plot(prS2, '-2', avg != avg[1] ? na : color.rgb(8, 8, 8))
//Fills
fill(plot_pru2, plot_pru1, avg != avg[1] ? na : color.new(color.yellow, 50))
fill(plot_prl1, plot_prl2, avg != avg[1] ? na : color.new(color.orange, 50))
nihayet bitti....
sinus dalgası....birleştirilen kodlar....sar döngüsü hep beraber....
https://i.hizliresim.com/b2ixzh2.png
https://i.hizliresim.com/wgr7o07.png
https://i.hizliresim.com/i2gyil0.png
https://www.tradingview.com/x/bZ4ixI8t/
pair trade yapalım dedik...kayse...klser verdik...bunu aldık...tavan için...
kırılım bekleyip... 1.onayda gelirse...bakalım tepe olur mu....
https://tr.tradingview.com/v/IsQ5dxza/
range olan yerlerde dikkatli olunacakmış....
öyle yazmış yazar.....
https://tr.tradingview.com/v/wP7WWjLL/
güzel kod....
https://tr.tradingview.com/v/RQU523em/
rsı yüksek düşük yazıyo ekrana....
https://tr.tradingview.com/v/E4joH77u/
kırılım yerlerini görmeye yarıyor...