merhabalar pinescript dilini hiç bilmiyorum macd ve awesome indikatörü birlikte nasıl yazılır
a:=macd(50, 80);çizgi
b:=AwesomeOsc(12, 40);dikey histogram
c:=AwesomeOsc(12, 60);dikey histogram
Printable View
merhabalar pinescript dilini hiç bilmiyorum macd ve awesome indikatörü birlikte nasıl yazılır
a:=macd(50, 80);çizgi
b:=AwesomeOsc(12, 40);dikey histogram
c:=AwesomeOsc(12, 60);dikey histogram
Merhabalar.
Biraz geç bir cevap ama...
Soruyu ben mi yanlış anlıyorum?
Şöyle %10 altında çizmeli...
Kod:study(title=" DENEME - EMA *%10", overlay=true)
ma8 = (security(tickerid, 'D', ema(close, 8)))*0.9
plot( ma8, color= blue, style=line, title="dailyMMA8", linewidth=1)
Ücretsiz tradingview kullanıp indikatör ekleme sorunu yaşayan yada bu işi öğrenmek istiyorum diyenler için bir video....
Tradingview üzerine indikatör ekleme çıkarma
İndikatörlerin Ayarlarını değiştirme
Supertrend detaylı anlatım Hareketli ortalamalar ile strateji oluşturma RSİ ekleme ve kısa bilgi.
https://www.youtube.com/watch?v=NPEt...ature=youtu.be
Kıvanç Özbilgiç'in MULTIPLE OTT (MOTT) İndikatörü:
@TradingView
'da açık kaynak kodlarıyla paylaşıma açılmıştır:
https://resmim.net/cdn/2024/02/18/ZGrZto.png
https://tr.tradingview.com/script/UXwYKQ5u/
TradingView Topluluğunun En Popüler İndikatörü: 86,905 Kişinin Favorisi Squeeze Momentum İndikatörünün nasıl kullanıldığını 2 adımda öğrenin.
TradingView “Wizard”larından LazyBear’in kodladığı Squueze Momentum İndikatörü trend dönüşümlerini yakalamak için oldukça başarılı bir araç.
1--- İndikatör Ekleme
https://i.hizliresim.com/76tw053.png
TradingView’in en popüler indikatörüne erişmek düşündüğünüzden daha kolay.
Her hangi bir enstrümanın süper grafiğini açın. Ardından “göstergeler” menüsüne tıklayın ve “topluluk komut dosyalarını” seçin. Karşısına çıkan ekranda “en iyi” menüsüne tıklayın. İlk sırada yer alan “Squeeze Momentum Indicator”u seçin. Hepsi bu.
2--- Trend Dönüşümlerini Yakalamak
https://i.hizliresim.com/43w464h.png
Bu indikatör, John Carter'ın "Mastering The Trade" kitabının 11. bölümünde tartışılan "TTM Sıkışma" volatilite göstergesinin bir türevidir.
Orta çizgideki siyah çarpılar, piyasanın bir sıkışmaya (Bollinger Bantları Keltner Kanalı içinde) yeni girdiğini gösterir. Bu, düşük volatiliteyi ve piyasanın patlayıcı bir harekete (yukarı veya aşağı) hazırlandığını işaret eder. Bu da bize bir trend dönüşümünün yakında olduğuna işaret eder.
SONUÇ ...
John Carter, kitabında siyah çarpıdan sonraki ilk gri çarpıya kadar beklemeyi ve momentumun yönünde pozisyon almayı önerir (örneğin, momentum değeri sıfırdan yüksekse, uzun pozisyon alın).
Momentum değiştiğinde (artış veya azalış - renk değişimine göre) pozisyondan çıkın.
Yazarın sınırlı deneyimine göre, iyi giriş noktalarını kaçırmamak için ADX/WaveTrend gibi ek bir göstergeye ihtiyaç vardır. John Carter basit bir momentum göstergesi kullanırken, LazyBear histogramı çizmek için farklı bir yöntem (linreg tabanlı) kullanmıştır.
ASAP_ isimli Üye tarama nasıl yapılır anlatmış ağzına sağlık
Bu listeleri, Günlük altındaki vadelerde oluşturmak, liste olarak dışarı aktarmak vb. bir takım fonksiyonları kullanabilmeniz için pro denilen lisanslı versiyonu kullanmanız gerekiyor. Tabi ayrıca Bist'de dahil olmak üzere, anlık veri ile tarama yapmak isterseniz, ilgili borsanın canlı veri paketini de almanız gerekiyor. Kriptolar için elbette canlı veri ücreti söz konusu değil.
MUSLUCA İndikatörünü Pine Editör e kaydedin..
ARANLAR İndikatörü Pine Editöre kaydedin ..PHP Code:
//@version=5
indicator('MUSLUCA-4S', shorttitle='MUSLUCA-4S', overlay=true, max_bars_back=4000)
/////////////////////GRAFİK
// EMA-14
ma8_len = input(8, "Length", group='EMA')
src8 = input(close, "Source")
res8 = input.timeframe('240', "Resolution", title="EMA-8 4S")
htf_ma8 = ta.ema(src8, ma8_len)
out8 = request.security(syminfo.tickerid, res8, htf_ma8)
plot(out8, color=color.rgb(15, 186, 3), linewidth=2, title='EMA8 4S')
ma18_len = input(55, "Length", group='EMA')
src18 = input(close, "Source")
res18 = input.timeframe('240', "Resolution", title="EMA55 4S")
htf_ma18 = ta.ema(src18, ma18_len)
out18 = request.security(syminfo.tickerid, res18, htf_ma18)
plot(out18, color=color.rgb(241, 6, 6), linewidth=2, style=plot.style_cross, title='EMA55 4S')
ma28_len = input(8, "Length", group='EMA')
src28 = input(close, "Source")
res28 = input.timeframe('1D', "Resolution", title="EMA8 GÜNLÜK")
htf_ma28 = ta.ema(src28, ma28_len)
out28 = request.security(syminfo.tickerid, res28, htf_ma28)
plot(out28, color=color.rgb(228, 1, 134), linewidth=2, title='EMA8 GÜNLÜK')
/////////////////////
ma3_len = input(9, "Length", group='WMA')
src3 = input(close, "Source")
res3 = input.timeframe('1W', "Resolution", title="wma9Periyod")
htf_ma3 = ta.wma(src3, ma3_len)
out3 = request.security(syminfo.tickerid, res3, htf_ma3)
plot(out3, color=color.rgb(10, 147, 0), linewidth=3, title='WMA-9HAFTALIK')
ma4_len = input.int(15, "Length", group='WMA')
src4 = input(close, "Source")
res4 = input.timeframe('1W', "Resolution", title="wma15Periyod")
htf_ma4 = ta.wma(src4, ma4_len)
out4 = request.security(syminfo.tickerid, res4, htf_ma4)
plot(out4, color=color.rgb(255, 136, 0), linewidth=3, title='WMA-15HAFTALIK')
// Haftalık 9 EMA'nın %15 fazlasını hesapla
percent_increase = input.int(15, title="Percent Increase") / 100
// ATR'yi kullanmadan %15 artışı hesapla
trailing_percent = 1 + percent_increase
trailing_value = out3 * trailing_percent
// Plot the trailing line
plot(trailing_value, color=color.rgb(0, 4, 7), linewidth=2, style=plot.style_cross, title='Trailing %15')
// Haftalık 9 WMA'nın %30 fazlasını hesapla
percent_increase1 = input.int(30, title="Percent Increase") / 100
// ATR'yi kullanmadan %30 artışı hesapla
trailing_percent1 = 1 + percent_increase1
trailing_value1 = out3 * trailing_percent1
// Plot the trailing line
plot(trailing_value1, color=color.rgb(255, 0, 0), linewidth=1, title='Trailing %30')
/////
// Haftalık 9 WMA'nın %40 fazlasını hesapla
percent_increase2 = input.int(40, title="Percent Increase") / 100
// ATR'yi kullanmadan %40 artışı hesapla
trailing_percent2 = 1 + percent_increase2
trailing_value2 = out3 * trailing_percent2
// Plot the trailing line
plot(trailing_value2, color=color.rgb(255, 136, 0), linewidth=1, title='Trailing %40')
///////
// Haftalık 9 WMA'nın %50 fazlasını hesapla
percent_increase3 = input.int(50, title="Percent Increase") / 100
// ATR'yi kullanmadan %60 artışı hesapla
trailing_percent3 = 1 + percent_increase3
trailing_value3 = out3 * trailing_percent3
// Plot the trailing line
plot(trailing_value3, color=color.rgb(184, 0, 65), linewidth=1, title='Trailing %50')
// Haftalık 9 WMA'nın %60 fazlasını hesapla
percent_increase4 = input.int(70, title="Percent Increase") / 100
// ATR'yi kullanmadan %60 artışı hesapla
trailing_percent4 = 1 + percent_increase4
trailing_value4 = out3 * trailing_percent4
// Plot the trailing line
plot(trailing_value4, color=color.rgb(184, 0, 65), linewidth=1, title='Trailing %70')
///kijunsel
Midpoint(length) =>
math.avg(ta.highest(length), ta.lowest(length))
kijunTimeFrame = input.timeframe('1W', group="kijunsen")
kijunPeriods = input.int(20, title='Kijun Periods', minval=1, group="kijunsen")
kijun = request.security(syminfo.tickerid, kijunTimeFrame, Midpoint(kijunPeriods))
plot(kijun, title='Kijun Target', color=color.new(#820179, 0), linewidth=2)
/////BAR HACİM
length77 = input.int(21, 'length', minval=1, group="HACİM BAR")
avrg = ta.sma(volume, length77)
vold1 = volume > avrg * 1.5 and close < open
vold2 = volume >= avrg * 0.5 and volume <= avrg * 1.5 and close < open
vold3 = volume < avrg * 0.5 and close < open
volu1 = volume > avrg * 1.5 and close > open
volu2 = volume >= avrg * 0.5 and volume <= avrg * 1.5 and close > open
volu3 = volume < avrg * 0.5 and close > open
cold1 = #800000
cold2 = #FF0000
cold3 = color.orange
colu1 = #006400
colu2 = color.lime
colu3 = #7FFFD4
color_1 = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na
barcolor(color_1)
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/
// © YATIRIM_ANALIZ
//@version=5
indicator("ARANLAR", shorttitle='ARANLAR', overlay=true, max_bars_back=4000)
src = input(close, title='Source')
/////////////////////7
b4 = input(title='Factor4', defval=0.7)
c14 = -b4 * b4 * b4
c24 = 3 * b4 * b4 + 3 * b4 * b4 * b4
c34 = -6 * b4 * b4 - 3 * b4 - 3 * b4 * b4 * b4
c44 = 1 + 3 * b4 + b4 * b4 * b4 + 3 * b4 * b4
t34(len) =>
c14 * ta.ema(ta.ema(ta.ema(ta.ema(ta.ema(ta.ema(close, len), len), len), len), len), len) + c24 * ta.ema(ta.ema(ta.ema(ta.ema(ta.ema(close, len), len), len), len), len) + c34 * ta.ema(ta.ema(ta.ema(ta.ema(close, len), len), len), len) + c44 * ta.ema(ta.ema(ta.ema(close, len), len), len)
t3plot4 = t34(input(title='Period4', defval=8))
linewidth = input(title='Linewidth', defval=3)
col1 = t3plot4 > t3plot4[1]
col3 = t3plot4 < t3plot4[1]
color_1 = col1 ? color.rgb(0, 126, 4) : col3 ? color.rgb(171, 0, 0) : color.yellow
plot(t3plot4, color=color_1, linewidth=3, title='T3')
len5 = input.int(5, minval=1, title='9wma')
out5 = ta.wma(src, len5)
// plot(out5, color=color.rgb(33, 178, 0), linewidth=2, title='WMA9')
len13 = input.int(15, minval=1, title='15WMA')
out13 = ta.wma(src, len13)
// plot(out13, color=color.rgb(249, 166, 1), linewidth=2, title='WMA15')
// Al/Sat Sinyalleri
longCondition = ta.crossover(out5, out13)
shortCondition = ta.crossunder(out5, out13)
//Al/Sat Etiketleri
plotshape(longCondition ? true : na, color=color.new(#44c200, 0), style=shape.labelup, title= "AL", location=location.belowbar, size=size.small, textcolor=color.white, text='AL')
plotshape(shortCondition ? true : na, color=color.new(#ff0000, 0), style=shape.labeldown, title= "SAT", location=location.abovebar, size=size.small, textcolor=color.white, text='SAT')
// ///////////////////////////////////7
length111 = input(100, title="Periyot UzunluÄŸu", group="YOD")
// selectedTimeframe = input.timeframe(defval='1D', title="Zaman Periyodu")
a = ta.highest(close, length111)
b = (ta.highest(close, length111) + ta.lowest(close, length111)) /2
c = ta.lowest(close, length111)
plot(a, title="a", linewidth=2, color=color.rgb(0, 123, 223))
plot(b, title="b", linewidth=2, color=color.rgb(42, 132, 0))
plot(c, title="c", linewidth=2, color=color.rgb(167, 139, 1))
///////////////////////FIBO
// //
fibonacciLookback = input.int(250, title="LOOKBACK")
tepe = ta.highest(close, fibonacciLookback)
dip = ta.lowest(close, fibonacciLookback)
mutlakDeger(sayi) =>
math.abs(sayi)
tepeyeUzaklik = mutlakDeger(ta.highestbars(fibonacciLookback))
dibeUzaklik = mutlakDeger(ta.lowestbars(fibonacciLookback))
fibHesapla(deger) =>
dibeUzaklik > tepeyeUzaklik ? tepe - ((tepe - dip) * deger / 1000) : dip + ((tepe - dip) * deger / 1000)
fib000 = fibHesapla(0)
// fib110 = fibHesapla(110)
fib240 = fibHesapla(240)
fib382 = fibHesapla(380)
fib500 = fibHesapla(500)
fib618 = fibHesapla(618)
// fib720 = fibHesapla(720)
fib790 = fibHesapla(790)
fib890 = fibHesapla(890)
fib1000 = fibHesapla(1000)
fib1140 = fibHesapla(1140)
fib1618 = fibHesapla(1618)
fib2618 = fibHesapla(2618)
var label label000 = na
// var label label110 = na
var label label240 = na
var label label382 = na
var label label500 = na
var label label618 = na
// var label label720 = na
var label label790 = na
var label label890 = na
var label label1000 = na
var label label1140 = na
var label label1618 = na
var label label2618 = na
if bar_index == bar_index
label.delete(label000)
// label.delete(label110)
label.delete(label240)
label.delete(label382)
label.delete(label500)
label.delete(label618)
// label.delete(label720)
label.delete(label790)
label.delete(label890)
label.delete(label1000)
label.delete(label1140)
label.delete(label1618)
label.delete(label2618)
renkfib0 = input.color(defval = color.rgb(0, 6, 10)) // Label rengini burada ayarlayın
// renkfib110 = input.color(defval = color.blue)
renkfib240 = input.color(defval = color.blue)
renkfib382 = input.color(defval = color.rgb(254, 74, 3))
renkfib500 = input.color(defval = color.rgb(0, 0, 0))
renkfib618 = input.color(defval = color.rgb(209, 122, 0))
// renkfib720 = input.color(defval = color.rgb(212, 128, 1))
renkfib790 = input.color(defval = color.rgb(212, 128, 1))
renkfib890 = input.color(defval = color.rgb(212, 128, 1))
renkfib1 = input.color(defval = color.blue)
renkfib1140 = input.color(defval = color.blue)
renkfib1618 = input.color(defval = color.blue)
renkfib2618 = input.color(defval = color.blue)
text_color = input.color(defval = color.rgb(16, 0, 0)) // Metin rengini burada ayarlayın
label000 := label.new(x=bar_index+15, y=fib000-1, text="0 : " + str.tostring(fib000), color=renkfib0, textcolor=text_color, style=label.style_none)
// label110 := label.new(x=bar_index+15, y=fib110-1, text="0.110 : " + str.tostring(fib110), color=renkfib110, textcolor=text_color, style=label.style_none)
label240 := label.new(x=bar_index+15, y=fib240-1, text="0.240 : " + str.tostring(fib240), color=renkfib240, textcolor=text_color, style=label.style_none)
label382 := label.new(x=bar_index+15, y=fib382-1, text="0.382 : " + str.tostring(fib382), color=renkfib382, textcolor=text_color, style=label.style_none)
label500 := label.new(x=bar_index+15, y=fib500-1, text="0.5 : " + str.tostring(fib500), color=renkfib500, textcolor=text_color, style=label.style_none)
label618 := label.new(x=bar_index+15, y=fib618-1, text="0.618 : " + str.tostring(fib618), color=renkfib618, textcolor=text_color, style=label.style_none)
// label720 := label.new(x=bar_index+15, y=fib720-1, text="0.720 : " + str.tostring(fib720), color=renkfib720, textcolor=text_color, style=label.style_none)
label790 := label.new(x=bar_index+15, y=fib790-1, text="0.790 : " + str.tostring(fib790), color=renkfib790, textcolor=text_color, style=label.style_none)
label890 := label.new(x=bar_index+15, y=fib890-1, text="0.890 : " + str.tostring(fib890), color=renkfib890, textcolor=text_color, style=label.style_none)
label1000 := label.new(x=bar_index+15, y=fib1000-1, text="1: " + str.tostring(fib1000), color=renkfib1, textcolor=text_color, style=label.style_none)
label1140 := label.new(x=bar_index+15, y=fib1140-1, text="1140 : " + str.tostring(fib1140), color=renkfib1140, textcolor=text_color, style=label.style_none)
label1618 := label.new(x=bar_index+15, y=fib1618-1, text="1618 : " + str.tostring(fib1618), color=renkfib1618, textcolor=text_color, style=label.style_none)
label2618 := label.new(x=bar_index+15, y=fib2618-1, text="2618 : " + str.tostring(fib2618), color=renkfib2618, textcolor=text_color, style=label.style_none)
k1 = plot(fib000, color=color.rgb(9, 0, 7), linewidth=1, title='fib 0')
// k2 = plot(fib110, color=color.rgb(210, 0, 165), linewidth=1, title='fib 110')
k3 = plot(fib240, color=color.rgb(210, 0, 165), linewidth=1, title='fib 240')
k4 = plot(fib382, color=color.rgb(210, 0, 165), linewidth=1, title='fib 382')
k5 = plot(fib500, color=color.rgb(191, 0, 0), linewidth=2, title='fib 500')
k6 = plot(fib618, color=color.rgb(191, 0, 0), linewidth=2, title='fib 618')
// k7 = plot(fib720, color=color.rgb(210, 0, 165), linewidth=1, title='fib 720')
k8 = plot(fib790, color=color.rgb(210, 126, 0), linewidth=1, title='fib 790')
k9 = plot(fib890, color=color.rgb(210, 126, 0), linewidth=1, title='fib 890')
k10 = plot(fib1000, color=color.rgb(7, 0, 5), linewidth=1, title='fib 1000')
k11= plot(fib1140, color=color.rgb(210, 0, 165), linewidth=1, title='fib 1272')
k12 = plot(fib1618, color=color.rgb(210, 0, 165), linewidth=1, title='fib 1618')
k13 = plot(fib2618, color=color.rgb(210, 0, 165), linewidth=1, title='fib 2618')
fill(k5, k6, color=color.rgb(9, 245, 17, 44), transp=90, title = "fib 500-618")
fill(k8, k9, color=color.rgb(9, 245, 17, 44), transp=90, title = "fib 790-890")
UMURLU 5-8-13 İndikatörü Pine Editöre kaydedin .
YÖRÜKALİEFE indikatöründe sadece Aşağıda yazılan stratejiyi de uygulayabilirsiniz.PHP Code:
////Written by YO
//@version=5
indicator(shorttitle='UMURLU-5-8-13', title='UMURLU-5-8-13', overlay=true)
src = input(close, title='Source')
//5-8-13 Signal
len5 = input.int(5, minval=1, title='5EMA')
out5 = ta.ema(src, len5)
plot(out5, color=color.rgb(33, 178, 0), linewidth=2, title='EMA5')
len8 = input.int(8, minval=1, title='8EMA')
out8 = ta.ema(src, len8)
plot(out8, color=color.rgb(255, 196, 0), linewidth=1, title='EMA8')
len13 = input.int(13, minval=1, title='13EMA')
out13 = ta.ema(src, len13)
plot(out13, color=color.rgb(63, 2, 197), linewidth=2, title='EMA13')
// Al/Sat Sinyalleri
longCondition = ta.crossover(out5, out13)
shortCondition = ta.crossunder(out5, out13)
//Al/Sat Etiketleri
plotshape(longCondition ? true : na, color=color.new(#44c200, 0), style=shape.labelup, title= "AL", location=location.belowbar, size=size.small, textcolor=color.white, text='AL')
plotshape(shortCondition ? true : na, color=color.new(#ff0000, 0), style=shape.labeldown, title= "SAT", location=location.abovebar, size=size.small, textcolor=color.white, text='SAT')
/////////////bollınger
length = input.int(20, minval=1, title='BB MA')
src9 = input(close, title='BB Source')
mult = input.float(2.0, minval=0.001, maxval=50, title='Narrow BB Multitude')
basis = ta.sma(src9, length)
dev = mult * ta.stdev(src9, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.new(#d70081, 0), title='BB MA')
p1 = plot(upper, color=color.new(color.green, 50), title='Narrow Upper')
p2 = plot(lower, color=color.new(color.red, 50), title='Narrow Lower')
length1 = input.int(20, minval=1, title='Wide BB Length')
mult1 = input.float(3.0, minval=0.001, maxval=50, title='Wide BB Multitude')
basis1 = ta.sma(src9, length1)
dev1 = mult1 * ta.stdev(src9, length)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
p3 = plot(upper1, color=color.new(color.green, 50), title='Wide Higher')
p4 = plot(lower1, color=color.new(color.red, 50), title='Wide Lower')
fill(p3, p1, color=color.new(color.green, 95), title='Upper Fill')
fill(p4, p2, color=color.new(color.red, 95), title='Lower Fill')
MACD al - fiyat orta band üstünde kapanışta alım yapabilir, Fiyat orta band altında kapanış, MACD sat verince satabilirsiniz.
"YÖRÜK ALİ EFE" indikatörünü paylaşacağım. İndikatörü Günlük ve Haftalık kullanırsanız daha fazla faydasını görebilirsiniz.
İndikatör içerisinde;
- EMA 14 HAFTALIK- EMA 8-EMA 14 AYLIK HO
- BOLLİNGER BANDI
- KIJUNSEN indikatörlerini kullandım.
PHP Code:
//@version=5
indicator('YÖRÜKALİEFE', shorttitle='YÖRÜKALİEFE', overlay=true)
ma3_len = input(14, "Length", group='EMA')
src3 = input(close, "Source")
res3 = input.timeframe('1W', "Resolution", title="EMA14Periyod")
htf_ma3 = ta.ema(src3, ma3_len)
out3 = request.security(syminfo.tickerid, res3, htf_ma3)
plot(out3, color=color.rgb(2, 6, 218), linewidth=3, title='EMA-14 HAFTALIK')
ma4_len = input.int(8, "Length", group='EMA')
src4 = input(close, "Source")
res4 = input.timeframe('1M', "Resolution", title="EMA8 AYLIK")
htf_ma4 = ta.ema(src4, ma4_len)
out4 = request.security(syminfo.tickerid, res4, htf_ma4)
plot(out4, color=color.rgb(57, 165, 3), linewidth=3, title='EMA8 AYLIK')
ma41_len = input.int(14, "Length", group='EMA')
src41 = input(close, "Source")
res41 = input.timeframe('1M', "Resolution", title="EMA14 Aylık")
htf_ma41 = ta.ema(src41, ma41_len)
out41 = request.security(syminfo.tickerid, res41, htf_ma41)
plot(out41, color=color.rgb(255, 196, 3), linewidth=3, title='EMA14 AYLIK')
///kijunsel
Midpoint(length) =>
math.avg(ta.highest(length), ta.lowest(length))
kijunTimeFrame = input.timeframe('1W', group="kijunsen")
kijunPeriods = input.int(20, title='Kijun Periods', minval=1, group="kijunsen")
kijun = request.security(syminfo.tickerid, kijunTimeFrame, Midpoint(kijunPeriods))
plot(kijun, title='Kijun Target', color=color.new(#bf01b2, 0), linewidth=2)
////////////////////////////////////////////////////7
/////////////bollınger
length98 = input.int(20, minval=1, title='BB MA')
src9 = input(close, title='BB Source')
mult = input.float(2.0, minval=0.001, maxval=50, title='Narrow BB Multitude')
basis = ta.sma(src9, length98)
dev = mult * ta.stdev(src9, length98)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.new(#fc000d, 0), linewidth=2, title='ORTA ÇİZGİ')
p1 = plot(upper, color=color.new(color.green, 50), title='Narrow Upper')
p2 = plot(lower, color=color.new(color.red, 50), title='Narrow Lower')
length198 = input.int(20, minval=1, title='Wide BB Length')
mult1 = input.float(3.0, minval=0.001, maxval=50, title='Wide BB Multitude')
basis1 = ta.sma(src9, length198)
dev1 = mult1 * ta.stdev(src9, length198)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
p3 = plot(upper1, color=color.new(color.green, 50), title='Wide Higher')
p4 = plot(lower1, color=color.new(color.red, 50), title='Wide Lower')
fill(p3, p1, color=color.new(color.green, 95), title='Upper Fill')
fill(p4, p2, color=color.new(color.red, 95), title='Lower Fill')
// Al/Sat Sinyalleri
longCondition = ta.crossover(close, basis)
shortCondition = ta.crossunder(close, basis)
//Al/Sat Etiketleri
plotshape(longCondition ? true : na, color=color.new(#359900, 0), style=shape.labelup, title= "AL", location=location.belowbar, size=size.small, textcolor=color.white, text='AL')
plotshape(shortCondition ? true : na, color=color.new(#ff0000, 0), style=shape.labeldown, title= "SAT", location=location.abovebar, size=size.small, textcolor=color.white, text='SAT')
/////BAR HACİM
length77 = input.int(21, 'length', minval=1, group="HACİM BAR")
avrg = ta.sma(volume, length77)
vold1 = volume > avrg * 1.5 and close < open
vold2 = volume >= avrg * 0.5 and volume <= avrg * 1.5 and close < open
vold3 = volume < avrg * 0.5 and close < open
volu1 = volume > avrg * 1.5 and close > open
volu2 = volume >= avrg * 0.5 and volume <= avrg * 1.5 and close > open
volu3 = volume < avrg * 0.5 and close > open
cold1 = #800000
cold2 = #FF0000
cold3 = color.orange
colu1 = #006400
colu2 = color.lime
colu3 = #7FFFD4
color_1 = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na
barcolor(color_1)
https://i.hizliresim.com/foaip6a.png
MUSLUCA indikatörü Editör Pine ye kaydedebilirsiniz
*Dosyanın içindeki kodları kopyalayın.PHP Code:
//@version=5
indicator('MUSLUCA-4S', shorttitle='MUSLUCA-4S', overlay=true, max_bars_back=4000)
/////////////////////GRAFİK
// EMA-14
ma8_len = input(8, "Length", group='EMA')
src8 = input(close, "Source")
res8 = input.timeframe('240', "Resolution", title="EMA-8 4S")
htf_ma8 = ta.ema(src8, ma8_len)
out8 = request.security(syminfo.tickerid, res8, htf_ma8)
plot(out8, color=color.rgb(15, 186, 3), linewidth=2, title='EMA8 4S')
ma18_len = input(55, "Length", group='EMA')
src18 = input(close, "Source")
res18 = input.timeframe('240', "Resolution", title="EMA55 4S")
htf_ma18 = ta.ema(src18, ma18_len)
out18 = request.security(syminfo.tickerid, res18, htf_ma18)
plot(out18, color=color.rgb(241, 6, 6), linewidth=2, style=plot.style_cross, title='EMA55 4S')
ma28_len = input(8, "Length", group='EMA')
src28 = input(close, "Source")
res28 = input.timeframe('1D', "Resolution", title="EMA8 GÜNLÜK")
htf_ma28 = ta.ema(src28, ma28_len)
out28 = request.security(syminfo.tickerid, res28, htf_ma28)
plot(out28, color=color.rgb(228, 1, 134), linewidth=2, title='EMA8 GÜNLÜK')
/////////////////////
ma3_len = input(9, "Length", group='WMA')
src3 = input(close, "Source")
res3 = input.timeframe('1W', "Resolution", title="wma9Periyod")
htf_ma3 = ta.wma(src3, ma3_len)
out3 = request.security(syminfo.tickerid, res3, htf_ma3)
plot(out3, color=color.rgb(10, 147, 0), linewidth=3, title='WMA-9HAFTALIK')
ma4_len = input.int(15, "Length", group='WMA')
src4 = input(close, "Source")
res4 = input.timeframe('1W', "Resolution", title="wma15Periyod")
htf_ma4 = ta.wma(src4, ma4_len)
out4 = request.security(syminfo.tickerid, res4, htf_ma4)
plot(out4, color=color.rgb(255, 136, 0), linewidth=3, title='WMA-15HAFTALIK')
// Haftalık 9 EMA'nın %15 fazlasını hesapla
percent_increase = input.int(15, title="Percent Increase") / 100
// ATR'yi kullanmadan %15 artışı hesapla
trailing_percent = 1 + percent_increase
trailing_value = out3 * trailing_percent
// Plot the trailing line
plot(trailing_value, color=color.rgb(0, 4, 7), linewidth=2, style=plot.style_cross, title='Trailing %15')
// Haftalık 9 WMA'nın %30 fazlasını hesapla
percent_increase1 = input.int(30, title="Percent Increase") / 100
// ATR'yi kullanmadan %30 artışı hesapla
trailing_percent1 = 1 + percent_increase1
trailing_value1 = out3 * trailing_percent1
// Plot the trailing line
plot(trailing_value1, color=color.rgb(255, 0, 0), linewidth=1, title='Trailing %30')
/////
// Haftalık 9 WMA'nın %40 fazlasını hesapla
percent_increase2 = input.int(40, title="Percent Increase") / 100
// ATR'yi kullanmadan %40 artışı hesapla
trailing_percent2 = 1 + percent_increase2
trailing_value2 = out3 * trailing_percent2
// Plot the trailing line
plot(trailing_value2, color=color.rgb(255, 136, 0), linewidth=1, title='Trailing %40')
///////
// Haftalık 9 WMA'nın %50 fazlasını hesapla
percent_increase3 = input.int(50, title="Percent Increase") / 100
// ATR'yi kullanmadan %60 artışı hesapla
trailing_percent3 = 1 + percent_increase3
trailing_value3 = out3 * trailing_percent3
// Plot the trailing line
plot(trailing_value3, color=color.rgb(184, 0, 65), linewidth=1, title='Trailing %50')
// Haftalık 9 WMA'nın %60 fazlasını hesapla
percent_increase4 = input.int(70, title="Percent Increase") / 100
// ATR'yi kullanmadan %60 artışı hesapla
trailing_percent4 = 1 + percent_increase4
trailing_value4 = out3 * trailing_percent4
// Plot the trailing line
plot(trailing_value4, color=color.rgb(184, 0, 65), linewidth=1, title='Trailing %70')
///kijunsel
Midpoint(length) =>
math.avg(ta.highest(length), ta.lowest(length))
kijunTimeFrame = input.timeframe('1W', group="kijunsen")
kijunPeriods = input.int(20, title='Kijun Periods', minval=1, group="kijunsen")
kijun = request.security(syminfo.tickerid, kijunTimeFrame, Midpoint(kijunPeriods))
plot(kijun, title='Kijun Target', color=color.new(#820179, 0), linewidth=2)
/////BAR HACİM
length77 = input.int(21, 'length', minval=1, group="HACİM BAR")
avrg = ta.sma(volume, length77)
vold1 = volume > avrg * 1.5 and close < open
vold2 = volume >= avrg * 0.5 and volume <= avrg * 1.5 and close < open
vold3 = volume < avrg * 0.5 and close < open
volu1 = volume > avrg * 1.5 and close > open
volu2 = volume >= avrg * 0.5 and volume <= avrg * 1.5 and close > open
volu3 = volume < avrg * 0.5 and close > open
cold1 = #800000
cold2 = #FF0000
cold3 = color.orange
colu1 = #006400
colu2 = color.lime
colu3 = #7FFFD4
color_1 = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na
barcolor(color_1)
*TW de pineeditör kısmına gelin.
*Aç bölümüne basın.
*Altta yeni gösterge bölümünü açın.
*Açılan bölümdeki tüm kodları silin.
*Kopyaladığınız kodları bunun içine sol taraftan boşluk kalmayacak şekilde yapıştırın.
*Kaydet ve grafiğe ekleye basın.
*Favorilere ekle.
https://twitter.com/yatirim_analiz_ isimli üyeden alıntıladım daha fazla kişiye ulaşabilsin diye
Maestro - MML System ....
https://i.hizliresim.com/d0wojie.png
Maestro - TrendPro
https://i.hizliresim.com/ehacn9o.png
Maestro - Pivot Master
https://i.hizliresim.com/jdhk4g2.png
Maestro - MML System V2
https://i.hizliresim.com/391bgsh.png
Maestro - Trend Max
https://i.hizliresim.com/1qsrj2e.png
Maestro - Retracement Counts
https://i.hizliresim.com/c5r9t2q.png
Maestro - TrendWizard
https://i.hizliresim.com/1uavl99.png
Maestro - Pivot Range Tool
https://i.hizliresim.com/92ti8y4.png
PHP Code:
Site bilgileri bölümü link ine kopyala yapıştır tıklayarak giriş yapabilir ve göstergeleri favorilere ekleyebilirsiniz.
Maestro - MML System
https://tr.tradingview.com/script/8etM76Eu/
Maestro - TrendPro
https://tr.tradingview.com/script/yUkArA9O/
Maestro - Pivot Master
https://tr.tradingview.com/script/Yq0bQ9KU/
Maestro - MML System V2
https://tr.tradingview.com/script/4eAXLM5k/
Maestro - Trend Max
https://tr.tradingview.com/script/7vrji1Hq/
Maestro - Retracement Counts
https://tr.tradingview.com/script/fHpYfmO1/
Maestro - TrendWizard
https://tr.tradingview.com/script/XGHYnQ1X/
Maestro - Pivot Range Tool
https://tr.tradingview.com/script/xdmwjXUg/
Maestro Pivot Points
https://i.hizliresim.com/6ymceh4.png
Maestro - EMA SMA WMA
https://i.hizliresim.com/863l0oc.png
Maestro - Schatten Trend Heikin-ashi
https://i.hizliresim.com/84baaiy.png
Maestro - Ichimoku
https://i.hizliresim.com/ssasi6p.png
Maestro Key Levels
https://i.hizliresim.com/27roey0.png
Maestro - TSI Explorer
https://i.hizliresim.com/3e8u8j3.png
Maestro - Linear TSI
https://i.hizliresim.com/1ydypzy.png
Maestro - Pivot Step
https://i.hizliresim.com/j4ja1m4.png
Maestro | Trendlines Breaks Screneer
https://i.hizliresim.com/54knbg2.png
Maestro | Msb Order Block
https://i.hizliresim.com/ragjc5e.png
PHP Code:
Maestro Pivot Points
https://tr.tradingview.com/script/miSeTGmx/
Maestro - EMA SMA WMA
https://tr.tradingview.com/script/j4JPMSes/
Maestro - Schatten Trend Heikin-ashi
https://tr.tradingview.com/script/k1vNF0th/
Maestro - Ichimoku
https://tr.tradingview.com/script/6f6oRs2Z/
Maestro Key Levels
https://tr.tradingview.com/script/V5wyV5WO/
Maestro - TSI Explorer
https://tr.tradingview.com/script/FKSc9d6Y/
Maestro - Linear TSI
https://tr.tradingview.com/script/W9UhPJFQ/
Maestro - Pivot Step
https://tr.tradingview.com/script/VGo4cLwp/
Maestro | Trendlines Breaks Screneer
https://tr.tradingview.com/script/sC0BiSWZ/
Maestro | Msb Order Block
https://tr.tradingview.com/script/72ozsdff/
Sabit VWAP- Hacim Ağırlıklı Ortalama Fiyat
https://i.hizliresim.com/oqwrphl.png
Hacim Ağırlıklı Ortalama Fiyat (VWAP: Volume Weighted Average Price)’ın bir türü olan Sabit VWAP kullanımından bahsediliyor.
Hacim Ağırlılık Ortalama Fiyat Nedir?
Tüm zaman dilimlerinde kullanabildiğimiz bir indikatör olan hacim ağırlıklı ortalama fiyat, grafikte bildiğimiz hareketli ortalama gibi görünse de hareketli ortalamalardan farklı olarak, hacim verisini de hesaba katar. Yani bir fiyat seviyesinde yüksek işlem hacmi oluşmuşsa, VWAP o fiyat seviyesine yüksek ağırlık verecektir. Bu anlamda HO’ya oranla üstünlüğü söz konusudur. Formülü şu şekildedir:
VWAP= Kümülatif Özgün Fiyat*Hacim/Kümülatif Hacim
Özgün Fiyat= En Yüksek (High) + En Düşük (Low) + Kapanış Fiyatı (Close) / 3
Kümülatif: VWAP başlangıcından son muma kadar olan tüm mumların verisi.
Grafiğe eklediğimizde şöyle görünür:
https://i.hizliresim.com/5sqm1dd.png
Mavi eğri: Sabit VWAP
Ne Anlam İfade Eder?
VWAP piyasadaki hakim trendi tespit etmede oldukça yararlıdır. Genel anlamda fiyatın VWAP üstünde olması piyasa algısının (market sentiment) bullish; altında olması ise bearish olduğu anlamına gelir. Fiyat VWAP etrafında dolaşıyorsa, piyasa trend halinde değil demektir. Ayrıca, fiyatın uzun vadede ortalamasına geri döneceğini (mean reversion) göz önüne alırsak, VWAP’tan çok uzaklaşmış bir fiyatın ileride VWAP’a geri dönmesini bekleyebiliriz. Ancak akış yönünde kalmak en doğrusu olacağından ek bir konfirmasyon olmadan sırf fiyat VWAP’tan çok uzaklaştı diye düşmekte olan bir finansal varlığı almak doğru değildir!
Sabit VWAP Nedir?
Normal VWAP, grafikteki ilk mumdan başlayarak ve yeni mumlar geldikçe güncellenerek grafikte şekil alırken, Sabit VWAP bize bir başlangıç noktası seçme şansı verir. Bu anlamda farklı senaryolara göre sadece başlangıç noktasını belirleyerek en son muma kadar bir VWAP çizdirip strateji belirleyebiliriz.
Tradingview’da çizim araçlarının olduğu menüde en aşağıda kendisini Sabit VWAP adıyla bulabilir ve grafiğinize başlangıç noktasını seçerek tek tıkla ekleyebilirsiniz.
https://i.hizliresim.com/nsnmqr1.png
Tradingview’da bulurken Başlangıç Noktası Seçimi
En önemli, aslında tek dikkat edilmesi gereken nokta Sabit VWAP’ın başlangıç noktasını seçmektir. Aşağıda kabul görmüş bir kaç yöntemden bahsedeceğim:
1- Swing Tepe – Swing Dipler
Fiyatın önemli bir hareket (swing) yapmaya başladığı tepe ve dip noktaları sabit VWAP için mantıklı bir başlangıç noktası olur. Çünkü fiyatın önemli bir harekete başladığı nokta, kurumsal yatırımcıların maliyetlendiği bölge içinde olacaktır. VWAP eğrisi, kurumsalların tüm hareket boyunca ortalama maliyetini bize gösterecektir.
Aşağıdaki örnekte TOASO’daki piyasa yapısının yükselen trend olduğunu görüyoruz ve yükselen trendden önceki swing low fiyatı Sabit VWAP başlangıcı olarak seçtiğimizde, fiyatın düzeltmeler sırasında VWAP’tan destek aldığını görüyoruz.
https://i.hizliresim.com/iknpzmf.png
Swing Low’dan başlayan Sabit VWAP
Aşağıdaki SASA örneğinde, tepeyi VWAP başlangıç noktası olarak seçtim. Fiyat VWAP’ı aşamıyor.
https://i.hizliresim.com/holrt5s.png
Swing High’dan başlayan Sabit VWAP
2- Önemli Olaylar, Haberler
Hisseler için bilanço açıklanma tarihleri, temettü, bölünme tarihleri yatırımcı ilgisinin başlangıç tarihleri olabilir. Forex pariteleri için önemli haberler (Tarım Dışı İstihdam, Enflasyon, Faiz Oranları vs) aynı zamanda önemli hareketlerin başladığı yerlerdir.
Ör: Aselsan 19 Ekim’de bilanço açıklamış, o tarihten bu yana VWAP üzerinde kalmayı başarıyor.
https://i.hizliresim.com/7esudw2.png
Bilanço tarihi VWAP başlangıç tarihi
Öğrendiklerimizi birleştirelim Bir de swing tepeden VWAP çizersek şöyle bir sıkışma görünüyor:
https://i.hizliresim.com/gh1tb1u.png
ltlı üstlü VWAP
3- Yıl, Ay, Hafta, Gün Açılışları
Önemli tarih dönümlerinden bu yana hakim olan piyasa algısını ölçmek için kullanılabilir.
Ör: Yılbaşından bu yana TKFEN:
https://i.hizliresim.com/fmul9m7.png
Yılbaşından bu yana
Ör: Hafta başından bu yana LTCUSDT.
https://i.hizliresim.com/o9mnwan.png
Piyasa yapısı değişirken VWAP geçiliyor
Cuma günü Londra seansı açılışı itibariyle EURCAD:
https://i.hizliresim.com/78but09.png
Forex day trading’de kullanılabilir
Standart Sapma Ayarları
VWAP indikatöründe standart sapma ayarları da var. Standart sapmanın ne olduğuna şu yazıda değinmiştim, göz atmanız faydalı olacaktır.
İndikatör ayarlarına girdiğimizde “Bands Multiplier #1, #2, #3” ayarları göreceksiniz. Bunlar 1, 2 ve 3 standart sapma demektir. Bu ayarları açtığımızda grafikte VWAP’ın standart sapmalı değerleri grafikte görünmeye başlayacaktır. O zaman da aşağıdaki gibi görünecektir.
Standart sapma yazısını okuduysanız bu eğrilerin ne anlama geldiğini biliyorsunuz demektir
https://i.hizliresim.com/5at6scz.png
İçten dışa doğru 1-2-3 standart sapma eğrileri
Son olarak VWAP’ı işlem hacmi yüksek varlıklarda kullanmanızı tavsiye ederim.
Önemli Uyarılar
Yazının sonuna gelirken bazı önemli uyarılar yapmak istiyorum. Çünkü çoğu bireysel trader arkadaşımızda indikatörlere aşırı güvenme ve işi onlara bırakma eğilimi var. Tüm indikatör yazılarımda söylediğim şeyi tekrarlıyorum:
–Hiçbir indikatöre tek başına güvenmeyin ve mutlaka piyasa yapısı ve fiyat hareketi ile birlikte kullanın.
Örneğin EREGL’de iki tane bilanço tarihini işaretledim ve o tarihlerden başlayan VWAP’lar çizdim. Fiyat 27 Ekim’den başlayan yükselen trendde VWAP altına iki kez sarkıyor ancak talep bölgesinden alıcılar geliyor. 3 Mart’taki bilançonun ardından hisse fiyatı düşmeye başlıyor ve hem VWAP hem talep bölgesi altına sarkıyor. Artık 3 Mart’tan başlayan VWAP takip edilebilir.
https://i.hizliresim.com/aoisayr.png
Talep bölgesi iş yapıyor
– Yükselen trendde VWAP altına inmiş fiyat kurumsallar tarafından “Ucuzluk” olarak algılanabilir, VWAP altına indi diye mutlaka satmalısınız diye bir kural yok. Yukarıdaki EREGL örneği.
– Düşen trendde VWAP üstüne çıkmış fiyat kurumsallar tarafından “Pahalılık” olarak algılanabilir, VWAP üstüne çıktı diye mutlaka almalısınız diye bir kural yok. Aşağıdaki Bitcoin örneği.
https://i.hizliresim.com/5m8s5wh.png
Şunun kurbanı olmayın
– Piyasa yapısı ve fiyatın nereden nereye geldiği hakkındaki hikaye her şeyden önemlidir.
Umarım faydalı bir içerik olmuştur,
Merhabalar. Biraz geç bir cevap ama...
Ayrı skalalarda hareket eden 2 göstergeyi aynı ekranda kullanmak görünürlük açısından sorunlu olabilir.
Her iki gösterge Tradingview'de ücretsiz olarak mevcut ve dilediğiniz değişkenlerle kullanılabilirler.
"Bunlar işimi görmüyor" diyorsanız, "ne istediğinizi" tam olarak yazarsanız, daha kolay yardım bulabilirsiniz.
aynı skalada birleştirin..... görüntüde problem olmaz....
örnek macd ve rsi....
siz kendinize göre uyarlayın.....PHP Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheRealDrip2Rip
//@version=5
indicator("Dynamic Trend Fusion", shorttitle=".", overlay=true, scale = scale.right)
// Define input options
option = input.string("High Sensitivity", title="Select Option", options=["Standard","Short-term Trading","Long-term Trading","Aggressive Short-term","Conservative Long-term","Balanced Approach","High Sensitivity","Low Sensitivity","Day Trading","Swing Trading"])
// Initialize variables for MACD and RSI settings
var fastLength = 12
var slowLength = 26
var signalSmoothing = 9
var rsiLength = 14
// Update variables based on the selected option
if option == "Short-term Trading"
fastLength := 8
slowLength := 17
signalSmoothing := 9
rsiLength := 8
else if option == "Long-term Trading"
fastLength := 19
slowLength := 39
signalSmoothing := 9
rsiLength := 21
else if option == "Aggressive Short-term"
fastLength := 5
slowLength := 13
signalSmoothing := 8
rsiLength := 5
else if option == "Conservative Long-term"
fastLength := 24
slowLength := 52
signalSmoothing := 18
rsiLength := 28
else if option == "Balanced Approach"
fastLength := 10
slowLength := 22
signalSmoothing := 7
rsiLength := 12
else if option == "High Sensitivity"
fastLength := 4
slowLength := 8
signalSmoothing := 5
rsiLength := 3
else if option == "Low Sensitivity"
fastLength := 30
slowLength := 60
signalSmoothing := 12
rsiLength := 50
else if option == "Day Trading"
fastLength := 6
slowLength := 19
signalSmoothing := 9
rsiLength := 6
else if option == "Swing Trading"
fastLength := 12
slowLength := 26
signalSmoothing := 12
rsiLength := 14
// MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
macdHist = macdLine - signalLine
// RSI
rsi = ta.rsi(close, rsiLength)
// Normalizing MACD and RSI to a similar scale
normMacd = (macdHist - ta.lowest(macdHist, 100)) / (ta.highest(macdHist, 100) - ta.lowest(macdHist, 100))
normRsi = (rsi - 30) / 40 // RSI typically moves between 30 and 70
// Combining normalized values
comboValue = (normMacd + normRsi) / 2
// Smoothing the combined value with a moving average
smoothingLength = input(10, title="Smoothing Length")
smoothedComboValue = ta.sma(comboValue, smoothingLength)
// Determine whether the indicator is bullish or bearish
isBullish = smoothedComboValue > 0.5
isBearish = smoothedComboValue < 0.5
// Plotting with color based on bullish or bearish state
plot(smoothedComboValue, title="mR", color=isBullish ? color.rgb(76, 175, 79, 50) : color.rgb(255, 82, 82, 50), linewidth = 2)
//hline( 0.5, title="Midline", color=color.gray, linestyle=hline.style_dashed)
// Alert conditions
alertcondition(isBullish, title="Bullish Alert", message="DTF is Bullish")
alertcondition(not isBullish, title="Bearish Alert", message="DTF is Bearish")
////////////////
örneklenen kodda 9 strateji var.....
rsi yi....avesome değiştirin......
kodları kullanırken....kurguladığınız stratejiyi de.....normalize olan kısımda ayarlayın....
sonra çizgi olarak değil....histogram olarak kullandırın.....
hem macd hem de avesome için....
kıstas kabul ettiğiniz değerleri.....renklendirin....bence.....
kod....diiakat ettiyseniz....
macdin tepe ve dip değerini..... rsı 100 değerine uyarlayıp....
ikisinin toplamın bölümüyle elde edilmiş.....
bunları da inceleyebilirsiniz....
https://tr.tradingview.com/script/DN...me-Oscillator/
https://tr.tradingview.com/script/O6...ACD-Histogram/
sanırım bu ikisi birleştirilince sizin istediğiniz olacak gibi.....
https://www.tradingview.com/x/niVPWr9z/ böyle bir görüntü ortaya çıkar...
biraz değerler...birazda stille oynanırsa....güzelleşir gibi...
https://tr.tradingview.com/script/x2...me-Oscillator/
https://tr.tradingview.com/script/g9...-AO-Algoalpha/
https://tr.tradingview.com/script/hmepisnj/
Üstadım...
Arkadaş 2 göstergeyi birlikte nasıl kullanabileceğini sormuş aylar önce. "pinescript dilini hiç bilmiyorum" da demiş.
İki göstergeyi aynı ekranda görmek istiyor. Bir stratejiden söz ediyorsa da ben anlamadım. Gönderisinde de veri yok.
Ben naçizane bilgimle... "İkisini aynı skalada birleştirirseniz görsel açıdan sorun olur!" dedim.
Siz:
"aynı skalada birleştirin..... görüntüde problem olmaz...." dediniz.
Ancak gönderdiğiniz kod, 2 göstergeyi aynı skalada birleştirmiyor.
Bu bir strateji. Görüntüsüne bakalım :
https://i.ibb.co/Ht5NpxZ/yoruk.png
Özetle siz arkadaşa değil, bana cevap vermiş oldunuz. Elinize sağlık.
Ben hâla aynı fikirdeyim. Farklı skalalardaki birden çok gösterge kullanışsız olur.
Haaa bunlardan strateji oluşturulmaz mı? Oluşturulur.
"Başka bir öneri ile geleceksiniz" diye düşünerek, yordum sizi affola.
Elinize sağlık. :ok:
Şubat 2024'de en çok okunan 3 yazı Eğer gözden kaçırdıysanız, bu üç içeriği açıklamalarda.
1- TradingView Topluluğunun En Popüler İndikatörü: 86,905 Kişinin Favorisi Squeeze Momentum İndikatörünün nasıl kullanıldığını 2 adımda öğrenin.
2- Bitcoin NVT Golden Cross Verisi Potansiyel Bir Düzeltmeye İşaret Ediyor: NVT GC'de 2.2 Puan Neden Önemli?
3- TradingView’de hangi 2 metrik/gösterge ile yatırım stratejinizi geliştirebilirsiniz (ücretsiz)?
TradingView Topluluğunun En Popüler İndikatörü: 86,905 Kişinin Favorisi Squeeze Momentum İndikatörünün nasıl kullanıldığını 2 adımda öğrenin.
TradingView “Wizardâ€larından LazyBear’in kodladığı Squueze Momentum İndikatörü trend dönüşümlerini yakalamak için oldukça başarılı bir araç.
İndikatör Ekleme
https://i.hizliresim.com/hjsmovh.png
TradingView’in en popüler indikatörüne erişmek düşündüğünüzden daha kolay.
Trend Dönüşümlerini Yakalamak
Her hangi bir enstrümanın süper grafiğini açın. Ardından “göstergeler†menüsüne tıklayın ve “topluluk komut dosyalarını†seçin. Karşısına çıkan ekranda “en iyi†menüsüne tıklayın. İlk sırada yer alan “Squeeze Momentum Indicatorâ€u seçin. Hepsi bu.
https://i.hizliresim.com/2kbqeb5.png
Bu indikatör, John Carter'ın "Mastering The Trade" kitabının 11. bölümünde tartışılan "TTM Sıkışma" volatilite göstergesinin bir türevidir.
Orta çizgideki siyah çarpılar, piyasanın bir sıkışmaya (Bollinger Bantları Keltner Kanalı içinde) yeni girdiğini gösterir. Bu, düşük volatiliteyi ve piyasanın patlayıcı bir harekete (yukarı veya aşağı) hazırlandığını işaret eder. Bu da bize bir trend dönüşümünün yakında olduğuna işaret eder.
SONUÇ
John Carter, kitabında siyah çarpıdan sonraki ilk gri çarpıya kadar beklemeyi ve momentumun yönünde pozisyon almayı önerir (örneğin, momentum değeri sıfırdan yüksekse, uzun pozisyon alın).
Momentum değiştiğinde (artış veya azalış - renk değişimine göre) pozisyondan çıkın.
Yazarın sınırlı deneyimine göre, iyi giriş noktalarını kaçırmamak için ADX/WaveTrend gibi ek bir göstergeye ihtiyaç vardır. John Carter basit bir momentum göstergesi kullanırken, LazyBear histogramı çizmek için farklı bir yöntem (linreg tabanlı) kullanmıştır.
Abi... Naçizane fikrim:
Anlamadığın bir şeyi anlatamazsın.
Yeni çağın en büyük sıkıntısı, veri-bilgi çöplüğü...
Her bulduğunu yapıştırarak ne kendine, ne de okuyanlara bir yararın olacağını sanmıyorum.
"Bu dediklerini uygulayabilecek insanlar" zaten bu veriye kendileri de erişebilirler.
"Her bulduğunu her yere yapıştırarak insanlara bir yararın oluyor mu sence?"
Buldukların üzerinde düşünsen, özümzesen, katılım ve katkı sağlasan...
Hem sana, hem de okuyanlara daha yararlı olmaz mı?
Sevgiler, selamlar.
Görüşüne saygı duyuyorum.
bir nevi ARŞİV gibi
ben mi yanlış yere yazıyorum diye tekrar baktım topiğin ismi; Tradingview veri terminal İndikatör/Strateji/Sistem üzerine açılmış
Çok güzel destek dirençleri otamatik bulutyormuş
https://i.hizliresim.com/rc5l5qj.png
https://i.hizliresim.com/3pt4cf0.png
https://i.hizliresim.com/kts6q33.png
PHP Code:
//@version=5
indicator('Structured zigzag support&resistance [LM]', shorttitle='Structured zigzag S/R [LM]', overlay=true, max_bars_back=500, max_lines_count = 500, max_boxes_count = 500, max_labels_count = 500)
var HIGH = 1, LOW = -1
var BOXES = 'boxes', LINES = 'lines'
i_horizontalType = input.string(LINES, 'Horizontal type', options=[LINES, BOXES], group='current S/R setting')
i_firstDepth = input.int(34, 'Depth', group='current S/R setting')
i_firstDeviation = input.float(6.0, 'Deviation', group='current S/R setting')
i_firstColor = input.color(color.blue, 'Color', group='current S/R setting')
i_extendLines = input.bool(true, 'Extend lines', group='current S/R setting')
i_lineCount = input.int(6, 'Line count', group='current S/R setting')
i_boxHighColor = input.color(color.green, 'Diagonal high color', group='diagonal line setting', inline='15')
i_boxLowColor = input.color(color.red, 'Diagonal low color', group='diagonal line setting', inline='15')
i_diagonalThickness = input.int(1, 'Line thickness', minval=1, group='diagonal line setting', inline='12')
i_diagonalLineStyle = input.string(line.style_dashed, 'Line style', options=[line.style_dotted, line.style_solid, line.style_dashed], group='diagonal line setting', inline='12')
i_diagonalColor = input.color(color.gray, 'Diagonal color', group='diagonal line setting', inline='13')
i_zigzagCount = input.int(200, 'Zigzag count', group='diagonal line setting', inline='14')
i_diagonalHighColor = input.color(color.green, 'Diagonal high color', group='diagonal line setting', inline='15')
i_diagonalLowColor = input.color(color.red, 'Diagonal low color', group='diagonal line setting', inline='15')
i_diagonalSRLineCount = input.int(2, 'Diagonal S/R line count', group='diagonal line setting', inline='16')
i_showDiagonalSRLines = input.bool(true, 'Show diagonal S/R lines', group='diagonal line setting', inline='16')
var zigZagArray = array.new_line()
var zigZagBoxArray = array.new_box()
var zigZagLabelArray = array.new_label()
var diagonalArray = array.new_line()
var diagonalSRArray = array.new_line()
var diagonalLabelArray = array.new_label()
var valueArray = array.new_float()
var typeArray = array.new_int()
var indexArray = array.new_int()
f_isUpCandle(_index) =>
open[_index] <= close[_index]
f_drawDiagonalLine(_x1, _x2, _y1, _y2, _lineColor, _lineThickness, _lineStyle, _extend) =>
line.new(x1=_x1, y1=_y1, x2=_x2, y2=_y2, color=_lineColor, style=_lineStyle, width=_lineThickness, extend=_extend)
f_drawDiagonalLabel(_xValue, _yValue, _text, _labelColor, _down) =>
adjustedYPosition = _down ? _yValue * 1.005: _yValue * 0.995
dlb = label.new(_xValue, adjustedYPosition , _text, xloc.bar_index, yloc.price, #00000000, label.style_none, _labelColor)
if array.size(diagonalLabelArray) == i_zigzagCount
label.delete(array.shift(diagonalLabelArray))
array.push(diagonalLabelArray, dlb)
f_createDiagonalLabelText(_yValue) =>
index = array.size(valueArray) - 3
if (index >= 0)
previousType = array.get(typeArray, index)
previousValue = array.get(valueArray, index)
previousType == HIGH ?
previousValue <= _yValue ? 'HH': "LH" :
previousValue <= _yValue ? 'HL': "LL"
else
''
f_drawDiagonalLines(_x1, _x2, _y1, _y2, _lineColor, _lineThickness, _lineStyle, _lineCount, _lineArray, _extend) =>
line l = f_drawDiagonalLine(_x1, _x2, _y1, _y2, _lineColor, _lineThickness, _lineStyle, _extend)
if array.size(_lineArray) == _lineCount
line.delete(array.shift(_lineArray))
array.push(_lineArray, l)
f_addValuesToArrays(_barIndex, _yValue, _type) =>
if array.size(valueArray) == i_zigzagCount
array.shift(valueArray)
array.shift(indexArray)
array.shift(typeArray)
array.push(valueArray, _yValue)
array.push(indexArray, _barIndex)
array.push(typeArray, _type)
f_getLastZigzag() =>
int size = array.size(valueArray) - 1
x1 = array.get(indexArray, size)
y1 = array.get(valueArray, size)
type = array.get(typeArray, size)
[x1, y1, type]
f_addDiagonalLine(_x2, _y2) =>
hasAtleastOnerecord = array.size(valueArray) >= 1
if (hasAtleastOnerecord)
[x1, y1, type] = f_getLastZigzag()
f_drawDiagonalLines(x1, _x2, y1, _y2, i_diagonalColor, i_diagonalThickness, i_diagonalLineStyle, i_zigzagCount, diagonalArray, extend.none)
f_drawDiagonalSRLine(_xValue, _yValue) =>
index = array.size(valueArray) - 2
if (i_showDiagonalSRLines and index >= 0)
previousType = array.get(typeArray, index)
previousValue = array.get(valueArray, index)
previousXValue = array.get(indexArray, index)
diagonalSRColor =previousType == HIGH ? i_diagonalHighColor: i_diagonalLowColor
f_drawDiagonalLines(previousXValue, _xValue, previousValue, _yValue, diagonalSRColor, i_diagonalThickness, i_diagonalLineStyle, i_diagonalSRLineCount, diagonalSRArray, extend.right)
f_zigzag(_depth, _deviation) =>
var lw = 1
var hg = 1
lw := lw + 1
hg := hg + 1
lowestValue = -ta.lowestbars(_depth)
highestValue = -ta.highestbars(_depth)
lowing = lw == lowestValue or low - low[lowestValue] > _deviation * syminfo.mintick
highing = hg == highestValue or high[highestValue] - high > _deviation * syminfo.mintick
lh = ta.barssince(not highing)
ll = ta.barssince(not lowing)
down = lh > ll
lower = low[lw] > low[lowestValue]
higher = high[hg] < high[highestValue]
if lw != lowestValue and (not down[1] or lower)
lw := lowestValue < hg ? lowestValue : 0
lw
if hg != highestValue and (down[1] or higher)
hg := highestValue < lw ? highestValue : 0
hg
x1 = down ? lw : hg
y1 = down ? low[lw] : high[hg]
lb = down ? label.style_label_up : label.style_label_down
[down != down[1], x1, y1, lw, hg, down]
f_drawLine(_x1, _x2, _yValue, _lineColor) =>
line.new(x1=_x1, y1=_yValue, x2=_x2, y2=_yValue, color=_lineColor, style=line.style_dotted, width=2)
f_drawBox(_x1, _x2, _high, _low, _boxColor) =>
box.new(_x1, _high, _x2, _low, bgcolor=_boxColor, border_style=line.style_dashed, border_color=_boxColor)
f_drawLabelCurrent(_x, _y, _textColor) =>
label.new(_x, _y, ' ' + str.tostring(_y), xloc.bar_index, yloc.price, #00000000, label.style_none, _textColor)
f_drawLabel(_yValue, _xValue, _labelColor, _text, _showLabels) =>
var label lb = na
label.delete(lb)
if _showLabels and not na(_yValue)
lb := label.new(x=_xValue, y=_yValue, text=_text, textcolor=_labelColor, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price)
lb
lb
f_extendArray(_lineArray, _labelArray, _extendLines) =>
if array.size(_lineArray) > 0
for _i = array.size(_lineArray) - 1 to 0 by 1
x2 = line.get_x2(array.get(_lineArray, _i))
yValue = line.get_y1(array.get(_lineArray, _i))
if _extendLines or bar_index - 1 == x2 and not(high > yValue and low < yValue)
line.set_x2(array.get(_lineArray, _i), bar_index)
label.set_x(array.get(_labelArray, _i), bar_index)
f_extendBoxArray(_boxArray, _labelArray) =>
if array.size(_boxArray) > 0
for _i = array.size(_boxArray) - 1 to 0 by 1
boxId = array.get(_boxArray, _i)
box.set_right(boxId, bar_index)
label.set_x(array.get(_labelArray, _i), bar_index)
f_addLines(_switch, _x1, _y1, _lw, _hg, _down, _colorLine) =>
if _switch
line l = na
label lab = na
nx = _down ? _hg : _lw
yValue = _down ? high[nx] : low[nx]
x1 = bar_index - nx
x2 = bar_index
if _down != _down[1] and not na(yValue)
f_addDiagonalLine(x1, yValue)
f_drawDiagonalSRLine(x1, yValue)
int type = _down ? HIGH : LOW
f_addValuesToArrays(x1, yValue, type)
l := f_drawLine(x1, x2, yValue, _colorLine)
lab := f_drawLabelCurrent(x2, yValue, _colorLine)
if array.size(zigZagArray) == i_lineCount
line.delete(array.shift(zigZagArray))
label.delete(array.shift(zigZagLabelArray))
diagonalLabelColor = _down ? i_diagonalHighColor: i_diagonalLowColor
f_drawDiagonalLabel(x1, yValue, f_createDiagonalLabelText(yValue), diagonalLabelColor, _down)
array.push(zigZagArray, l)
array.push(zigZagLabelArray, lab)
f_addBoxes(_switch, _x1, _y1, _lw, _hg, _down) =>
if _switch
box b = na
label lab = na
nx = _down ? _hg : _lw
yValue = _down ? high[nx] : low[nx]
x1 = bar_index - nx
x2 = bar_index
yValueHigh = _down? high[nx]: f_isUpCandle(nx)? open[nx] : close[nx]
yValueLow = not _down? low[nx]: f_isUpCandle(nx)? close[nx] : open[nx]
boxColor = color.new(_down ? i_boxHighColor: i_boxLowColor, 70)
if _down != _down[1] and not na(yValue)
f_addDiagonalLine(x1, yValue)
f_drawDiagonalSRLine(x1, yValue)
int type = _down ? HIGH : LOW
f_addValuesToArrays(x1, yValue, type)
b := f_drawBox(x1, x2, yValueHigh, yValueLow, boxColor)
lab := f_drawLabelCurrent(x2, yValue, boxColor)
if array.size(zigZagBoxArray) == i_lineCount
box.delete(array.shift(zigZagBoxArray))
label.delete(array.shift(zigZagLabelArray))
diagonalLabelColor = _down ? i_diagonalHighColor: i_diagonalLowColor
f_drawDiagonalLabel(x1, yValue, f_createDiagonalLabelText(yValue), diagonalLabelColor, _down)
array.push(zigZagBoxArray, b)
array.push(zigZagLabelArray, lab)
// current functions
[switch1, x11, y11, lw1, hg1, down1] = f_zigzag(i_firstDepth, i_firstDeviation)
if (i_horizontalType == LINES)
f_addLines(switch1, x11, y11, lw1, hg1, down1, i_firstColor)
f_extendArray(zigZagArray, zigZagLabelArray, i_extendLines)
else
f_addBoxes(switch1, x11, y11, lw1, hg1, down1)
f_extendBoxArray(zigZagBoxArray, zigZagLabelArray)
Teşekkür ederim anlayışlı tavrın için hocam.
Lakin söylediklerim bu gönderi için de geçerli.
"Çok güzel destek dirençleri otamatik bulutyormuş" Hadi bakalım. Buluyor mu?:
A - Gönderdiğin 2 ve 3. görsellerin, eklediğin kodla ilgisi bile yok. Zaten başlıklarına baksan görürsün. Kodu denememişsin, denesen zaten anlardın.
B- Gönderdiğin kod da Zig Zag temelli. Zig Zag yapısı itibari ile repaint yapan... Fiyat değiştikçe değişen bir gösterge. Böyle geçmişe bakınca pek güzel ama... Canlı işlemde bir dene istersen.
C-Buyur: Solda senin gönderdiğin sağda orijinal Zig Zag.
https://i.ibb.co/JyFdqnz/sil-test.png
Sosyal medya çöplük gibi. Denemediğin, test etmediğin gözüne güzel gelen şeylerle işlem yaparsan çarpılırsın.
Herkes her platformu, her şeyi bilmek zorunda değil ki. Bunda alınacak bir şey de yok.
Toplama, yanlış vb. bilgi çöplüğüne döneceğine... Emekle, çabayla yazılmış 3-5 doğru bilgi bir şeyler öğrenmek isteyenlerin, yeni başlayanların daha çok işine yaracaktır diye düşünüyorum. Bu da benim fikrim.
-Teknik mi, temel mi?
-Teknik işe yarar mı?
vb. sorulardan sonra, BIST'de büyük şirket tahtalarının tamamen sahipli hale gelmesi,
yan tahtaların spek insafına bırakılması, çöp şirketlerin halka arzı ile teknik analiz gözden düşmüş görünüyor bizim piyasalar için.
Yine de genel geçer bilgi ve diğer piyasalarda kullanılmak üzere, teknik analiz ile ilgili dünyanın en çok kullanılan veri analizi platformu Tradingview'de işe yarar gösterge ve strateji üretebilmek için yapay zekanın kullanımına dair Türkçe içerik maalesef "yok" denecek seviyede.
Bu konuda bilgi paylaşabilecek arkadaşlar varsa, katkıları ile bu konuyu biraz canlandırabiliriz diye düşünüyorum.
Zaman bulabilirsem, OpenAI ile gösterge, strateji vb. konularına değinelim istiyorum. Elbette bunlara bağlı olarak backtest vb. konulara da.
Bu minvalde biraz OpenAI kullanımı, biraz Python ve buna bağlı olarak da Pandas, Numpy, Matplotlib kütüphanelerini kurcalayalım istiyorum.
Katkı verebilecek olan varsa yazarsa sevinirim. Çünkü bu konunun da sahibi olduğum gibi, geçmişte çok sayıda topik başlatıp sonlandıramadığım oldu. Gerek zamansızlık, gerek bilgi paylaşmanın getirisinin olmaması, motivasyon kırıcı güruh vb. nedenlerle...
Özetle hepimiz için yeni ve meşakkatli bir konu. Bir yerlerden başlamanın yanında kollektif zekanın yararı olur diye umuyorum.
Hatta başlığı değiştirebilir veya yeni bir başlık açabiliriz diye düşünüyorum.
Örneğin şöyle bir soru sorsak:
"Tesla Nasdaq için 5 dakikalık periyotta en iyi ortalama stratejisini bul:"
https://i.ibb.co/Tmj2fJT/cgpt.png
Aldığımız cevap***:
Kod:import pandas as pd
import numpy as np
# Tarih sütununu datetime formatına dönüştürmek için bir fonksiyon tanımlayalım
date_parser = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
# Telsa'nın 5 dakikalık periyotlu NASDAQ verilerini yükleyelim
data = pd.read_csv('tesla_5min_stock_data.csv', parse_dates=['Date'], date_parser=date_parser)
# Test edilecek hareketli ortalama periyotlarını tanımlayalım
ma_periods = range(5, 60, 5) # 5 dakika ile 60 dakika arasında 5'er dakikalık artışlarla
# Sonuçları saklamak için bir sözlük oluşturalım
results = {}
# Her bir hareketli ortalama periyodu için işlem stratejisini test edelim
for ma_period in ma_periods:
# Hareketli ortalama hesaplayalım
data[f'MA_{ma_period}'] = data['Close'].rolling(window=ma_period).mean()
# Alım sinyali (kısa periyotlu MA, uzun periyotlu MA'yı yukarıdan keserse)
data[f'Signal_{ma_period}'] = np.where(data[f'MA_{ma_period}'].shift(1) > data[f'MA_200'].shift(1), 1, 0)
# Günlük getirileri hesaplayalım
data['Returns'] = np.log(data['Close'] / data['Close'].shift(1))
# Strateji getirilerini hesaplayalım
data['Strategy_Returns'] = data[f'Signal_{ma_period}'].shift(1) * data['Returns']
# Kumulatif getirileri hesaplayalım
data['Cumulative_Returns'] = data['Strategy_Returns'].cumsum()
# Son kümülatif getiriyi saklayalım
results[ma_period] = data['Cumulative_Returns'].iloc[-1]
# En iyi hareketli ortalama periyodunu bulalım
best_ma_period = max(results, key=results.get)
best_cumulative_returns = results[best_ma_period]
print(f"En iyi hareketli ortalama periyodu: {best_ma_period} dakika")
print(f"En yüksek kümülatif getiri ile: {best_cumulative_returns}")
Bunu bir de önce makine öğrenmesi ve hatta mümkünse yapay zeka öğrenmesine bağlasak...?
Not***: Python kurulu bir makine ve orta-üst seviyede python bilgisi gerektirir.
Gann high low indikatoru de ayarları yapılarak denenebilir kairi ile beraber en sevdiğim indikatorlerden biri
Tradingview PineScript V5+ için AI destek linki aşağıda. Sayfa, gelişmiş Pine Script rehberliği sunar ve indikatör ve strateji oluşturma konusunda uzmanlaşmıştır.
https://chatgpt.com/g/g-uib6qYHGw-tr...ipt-v5-creator
arkadaşlar , tradingview kullandığınız için sorumu bilebileceğinizi düşünerek yazıyorum. https://tr.tradingview.com/chart/esHW0Bw5/ grafiklerinin altında düne kadar borsa şirketlerinin kodları çıkıyor ve filtreleme ile takip yapabiliyordum,dünden itibaren hisse senetleri yerine kripto kodları çıkmaya başladı.Bunu tekrar hisse kodlarına çevirmenin bir yolunu biliyormusunuz acaba?
grafikte problem yok, grafik altındaki hisse senedi takipcisi, Kripto çiftleri takipcisine dönüşmüş,,tekrar hisse senedi takipcisine dönüştürmenin bir yolu varmıdır.
Sn yörük kendi yerinde grafik için cevap vermiş, ama sorun garafikte değil, onun düzenini bozmamak için sorumu tekrardan burada soruyorum.
geç gördüm...selamlar...
evet... izleniyor.....osmanlı veya a1 de hesabınız varsa....tw üzerinden işlem yapıyorsunuz....
eğer tw ücretli versiyon kullanırsanız....kurduğunuz sistemle hisseleri tarıyorsunuz....
ben....
tw de istemimi kullanıp....canlı veriyle izlerken.....
arkada matriks.....hisse tarama yapıyor..... işlemleri yine tw üzerinden yapıyorum....