Selamlar.
Dilimin döndüğünce anlatayım.
Önce şuraya VESTEL yakın vadeli(Haziran) grafiği üzerine giydirilmiş VESTEL spot göstergelerini de içeren grafiği koyayım.
Üzerinden tartışalım:
https://i.ibb.co/ZHtQsVC/VESTL.jpg
Printable View
Selamlar.
Dilimin döndüğünce anlatayım.
Önce şuraya VESTEL yakın vadeli(Haziran) grafiği üzerine giydirilmiş VESTEL spot göstergelerini de içeren grafiği koyayım.
Üzerinden tartışalım:
https://i.ibb.co/ZHtQsVC/VESTL.jpg
"Bence sistem kurgularken tek bir göstergeden ziyade,
1-Trend indikatörü(MTF),
2-Ortalamaları göz önüne alan bir alt sistem(MTF),
3-Pivotları kontrol eden başka bir alt sistem(MTF),
4-Ichimolu sinyallerini değerlendiren bir alt sistem(MTF)
bileşkesini almak iyi olabilir.
Özetle:
A-Ana yön bilgisi(Aylık, Haftalık, Günlük)
B-Alt periyotlardan gelen veriler,
C-Açılacak pozisyonun(yönüne göre) toslayabileceği destek-dirençleri gözleyen başka bir araç gerekli."
Biraz uzun olacak ama, meramımı başka türlü anlatabileceğimi sanmıyorum.
Gelelim gerekçeme...
Bana göre 2 tür sistem kurgulayabiliriz.
1-X bir göstergeyi(ortalamalar, bollinger band vb.) baz alan özelleştirilmiş bir sistemi backtestlerle(geriye dönük verilerden çıkarımlar) optimize eder manuel veya otomatik çalıştırırız.
Özellikle tek bir enstrüman için bu yol geçerli olabilir. Atıyorum endeks vadeli için...
Bu sistemde kurgumuz neyse, diğer hiç bir şeye bakmadan alıp-satarız.
Kazandırıyorsa ne ala. Kazandıran sistem başarılı kazanan haklıdır.
Hatta bu sistemi alt başka sistemlerle de destekleyebiliriz.
2-Tasarımımızı yukarıdan aşağı kurgularız...
Ki benim önerim de bu. Ayrıntılandıracağım.
Şimdi yukarıda "görmezden gelelim" dediğim alana zoom yapalım:
https://i.ibb.co/c2QTfx4/VESTL1.jpg
Üst periyodlarda yönün pozitif olduğunu düşündüğümüz için "sat" sinyallerini kötü ihtimal "flat"(shortlama, longu kapat) değerlendirebiliriz....
Bir de bunun için bir diyagram yapıp geleyim.
EK NOT: Bu arada benim kurgumda, yön belirten sinyaller spot tarafından gelmekte.
Şöyle de bir şema çizdim meseleye örnek olsun diye...
https://i.ibb.co/pJKFNJY/diagram.jpg
Olayın özeti şu:
Her alım-satım işleminin;
1- Komisyon maliyeti,
2- Kayma ihtimali ve maliyeti var.
Özellikle manuel yapılan kısa vadeli işlemlerde de stress faktörü.
Olayı mantık bilimi beya bilgisayar gibi logic derlendirmek bizi yukarıdaki risklerden koruyacaktır.
A = Aylık, H=Haftalık, G= Günlük, 240=240DK' lık, 60=60 DK' lık kabul edersek...
"1" al sinyali veya pozitif görünüm, "0" sat sinyali ve negatif görünüm olsun:
MTF bakış açısı bize şunu sağlar:
https://i.ibb.co/6Xbyyp0/liste.jpg
Bu da alt periyodlarda işlem yaparken,
Tünelin ucundakinin ışık mı? Tren farı mı olduğu hakkında fikir edinmemizi sağlayabilir...
Son olarak da şöyle bir örnek vereyim...
Atıyorum EURUSD' de 1.dk da çalışan bir sistemimiz var,
200 üssel ortalama 500 üssel ortalamayı kesince alıyor, tersinde satıyor.
https://i.ibb.co/qxxQ0TZ/eurusd1.jpg
İyi köyü kazandırıyor diyelim.
Ancak testere piyasasında hem zaman, hem de para kaybediyoruz.
İşte böyle zamanlarda gereksiz sinyalleri, gürültüyü baskılayacak,
zaman, komisyon vb kaybına engel olabilecek başka bir araca ihtiyacımız olacak.
O da üst periyodlardan bir araç olabilir...
Örneğin Aylık İchimoku Kijunseni de ekleyelim:
https://i.ibb.co/mFMhq90/eurusd2.jpg
Yukarıdaki sistemimizi fiyat bunun üzerindeyken çalıştıralım....
MTF yapıya üst periyotlardan çok sayıda gözlemci gösterge ekleyebiliriz.
Mesela Şişe grafiğinde 50 Günlük ortalama(grafikte altta) üzerine çıkınca alan, altına inince satan bir sisteme,
Fiyatın 3 Aylık Pivot(grafikte üstte) üzerinde olması koşulunu eklersek,
ne kadar çok yanlış sinyalden korunuyoruz:
https://i.ibb.co/GHXwGzk/sise.jpg
Bu arada Tradingview başlığına başka veri terminalinin görüntülerini attım ama...
Elde hazır olduğundan, Tradingview' de yeniden yazmaya üşendim :notr:
Özetle anlatmaya çalıştığımı bir miktar aktarabildiysem ne mutlu bana...
Bol kazançlar.
Ezcümle...
Geçen attığım "Puan" isimli gösterge tam da bu işler içindi... ***
https://i.ibb.co/n8sJ611/XU030.jpg
Tamam bizim baktığımız periyodda bir şeyler oluyor ama...
Diğerlerinde durum ne?
***EK: Puan isimli gösterge tam da bunu yapıyor aslında:
https://i.ibb.co/6Xbyyp0/liste.jpg
teşekkürler...selamlar...
Selamlar. Bilmukabele.
Bu mesajı da boş geçmeyip Altın grafiğini ekleyeyim.
Geçmişteki 2 bozulma ve şimdiki görünüm.
Bu bize alt periyodlarda daha verimli ve güvenli işlem yapmayı sağlar.
Bu nedenle MTF, bu nedenle çoklu bakış açısı...:
https://i.ibb.co/26HjbYx/GOLD.jpg
https://i.ibb.co/k187XVC/1.jpg
Ancak henüz olgunlaşmadı ve kullanımı yeterince kolay değil.
Olgunlaşınca paylaşacağım. Ve tabi ki yine MTF ve enstrüman' ın bağlı olduğu endeksin de değerlerini göz önüne alıyor:
https://i.ibb.co/N2M9Ydj/2.jpg
Aslında sadece;
MTF formunda bakılan Yüksek, Düşük, Kapanış ve Pivotun dahi tek başına ne kadar yararlı olabileceğini şurada:
Yeni başlayanlar için Teknik Analiz. - Page 8 (hisse.net)
Bolca örnekle anlatmaya çalıştım geçmişte.
Bir örnek vereyim...:
USDTRY' nin Yıllık Pivotla imtihanı.
Sadece buna bakarak işlem yapsak...
https://i.ibb.co/xHt2Z18/usdtry.jpg
Bunun üzerine istediğinizi giydirin sistem olarak.
Ortalamalar olur, Bollinger olur, diğer pivotlar olur...
Mesela buna da 3 aylık pivotu ekleyelim:
https://i.ibb.co/F7K2W2H/usdtry2.jpg
Not: Yukarıda Altın grafiğinin altındaki de Yıllık ve 3 Aylık Pivot.
"Ben dipten toplamayı severim" cilere,
dilediğiniz göstergeyle, "Önceki 3 Aylık düşük" ü birleştirin.
aşağıdan gelip, "Üzerinde Haftalık Kapanış koşuluyla"
Mis gibi gösterge:
https://i.ibb.co/gvYtjBh/usdtry.jpg
"Büyük resim" kursu gibi oldu :evil:
Neyse. Bu yüzden MTF işte....
sn obblomov
Açık ve yol gösterici mesajlarınız için teşekkürler. Çok emek vermişsiniz.
1 dk lık grafikte aylık mtf bakmak çok sağlık mı? ben bunu daha çok saatlik ve günlük olacak şekilde düşünmüştüm.
Gerçi test edip bakmak lazım.
Sonuçları paylaşırım.
Tekrar emeklerinize sağlık.
Selamlar.
Zorunlu değil elbet. Ama sağlıksız da denemez bence.
Ekranın bir köşesinde arada önemli kırılımları verecek biçimde durmasında zarar yok diyorum özetle.
MTF den kasıt sadece aylık demek değil zaten.
1 dk için 5-60-240 a da bakmak mesela...
İllede bütün grafiğin durmasına da gerek yok.
Önemli göstergeleri puana dönüştürüp kullandığınız periyoda taşıyabilirsiniz
Tabi "yiğit ve yoğurt" meselesi.
Bilgisayar başına geçtiğime göre bir de örnek vereyim:
Yeşil ve Kırmızı dörtgenler içinde alttaki göstergeye dikkat...:
https://i.hizliresim.com/7b6nmuw.jpg
Özetle ekranda yer varsa gösterge, yoksa skalada bir bildirim penceresi olarak üst periyodların durmasının zararı olmaz,
hatta 1 dk. veya diğer periyotlarda scalping yaparken de yöne dair fikir sağlar, işlem sayısını azaltıp, doğruluk yüzdesini arttırabilir diye düşünüyorum.
Tabi bu benim şahsi fikrim....
Mesela... BTCUSDT 1 dk.lık da yine güzel bir örnek oluştu.
Bu defa fiyat skalasının altında 5 dk ortalamalar var.
En altta yine puan sistemi.
5 Dk. ortalamaların gözümüzün önünde olmasının faydaları:
https://i.ibb.co/RDRWLVt/puan.jpg
Yeri gelmişken...
Bilen bilir, "trend çizgilerini, kanal bantlarını yaratan nedir?"
Sorusuna bolca takık birisiyim.
Buyurun 5 dk 100 bar ortalama ile 5 dk 200 bar ortalama bizim için bir "yükselen üçgen" çizdiriyor...
https://i.ibb.co/88PcKzz/cgen.jpg
Kırıldığındaki görüntüyü de atacağım.
Ve kırılım...:
Grafik periyodumuz 1 dk. da olsa...
Ekranda 5 dk.lık ortalamaların da olması sayesinde bu üçgenin oluşumunu ve kırılım potansiyelini önceden gözleyebildik...
https://i.ibb.co/tHyv0Bd/kirilim.jpg
Ve MTF meselesine dair şimdilik son gönderi...
Ancak diğer periyodlara da bakarak aksiyonun bütünü hakkında sağlıklı bir görüş elde edebiliriz.
Mesele yukarıda örneklediğimiz kırılım sonrası neden fiyat burada durakladı?
240 dk da 20 bar 50 ortalama yukarı kırılımı,
"bunun sadece yeni bir yukarı yönlü tepki için geri çekilme" olabileceğinin işareti olabilir mi?
Vs. vs...
https://i.ibb.co/4S9Zgsv/240.jpg
Emeklerinize sağlık
Sn obblomovv
Bu mantıkta gün sonu poz kapatan bir scalp sistem yazmak istesek açılışta oluşan ani hareketlerden korunmak içi nasıl bir yol izlemek lazım.
Selamlar.
Hangi enstrüman/piyasandan söz ediyorsunuz?
Bildiğim kadarı ile Tradingview' de bizim ülke için otomatik emir yollanacak bir broker yok.
https://i.ibb.co/FDPBYmP/broker.jpg
Soruyu mu yanlış anladım bilemedim ama...
İdeal için benzer konular ayrıntılı olarak ve daha gelişkin kalıplarla şurada tartışılıyor:
İDEAL veri terminalinde /Sistem/İndikatör/Robot - Page 502 (hisse.net)
Şimdiye dek pek okumadım ama... Matriks' in de başlığı şu:
Matriks Formülleri (hisse.net)
Çeşitli vadelerle(5,60,240DK, Gün, Hafta, Ay, 6 Ay, Yıl),
H:Yüksek
P:Pivot
C:Kapanış
L:Düşük
değerlerini ekranın köşesinde görebileceğiniz bir kod. Görüntü şöyle:
https://i.ibb.co/GC00vJR/twc.jpg
Kod böyle:
Kod:
study(title="HPCL", shorttitle="HPCL", overlay = true)
var table perfTable = table.new(position.top_right, 4, 10, border_width = 1)
LIGHTTRANSP = 90
AVGTRANSP = 80
HEAVYTRANSP = 70
High_1 = security(syminfo.tickerid,"12M", high[1], lookahead=true)
High_2 = security(syminfo.tickerid,"6M", high[1], lookahead=true)
High_3 = security(syminfo.tickerid,"3M", high[1], lookahead=true)
High_4 = security(syminfo.tickerid,"M", high[1], lookahead=true)
High_5 = security(syminfo.tickerid,"W", high[1], lookahead=true)
High_6 = security(syminfo.tickerid,"D", high[1], lookahead=true)
High_7 = security(syminfo.tickerid,"240", high[1], lookahead=true)
High_8 = security(syminfo.tickerid,"60", high[1], lookahead=true)
High_9 = security(syminfo.tickerid,"5", high[1], lookahead=true)
Pivot_1 = security(syminfo.tickerid,"12M", hlc3[1], lookahead=true)
Pivot_2 = security(syminfo.tickerid,"6M", hlc3[1], lookahead=true)
Pivot_3 = security(syminfo.tickerid,"3M", hlc3[1], lookahead=true)
Pivot_4 = security(syminfo.tickerid,"M", hlc3[1], lookahead=true)
Pivot_5 = security(syminfo.tickerid,"W", hlc3[1], lookahead=true)
Pivot_6 = security(syminfo.tickerid,"D", hlc3[1], lookahead=true)
Pivot_7 = security(syminfo.tickerid,"240", hlc3[1], lookahead=true)
Pivot_8 = security(syminfo.tickerid,"60", hlc3[1], lookahead=true)
Pivot_9 = security(syminfo.tickerid,"5", hlc3[1], lookahead=true)
Close_1 = security(syminfo.tickerid,"12M", close[1], lookahead=true)
Close_2 = security(syminfo.tickerid,"6M", close[1], lookahead=true)
Close_3 = security(syminfo.tickerid,"3M", close[1], lookahead=true)
Close_4 = security(syminfo.tickerid,"M", close[1], lookahead=true)
Close_5 = security(syminfo.tickerid,"W", close[1], lookahead=true)
Close_6 = security(syminfo.tickerid,"D", close[1], lookahead=true)
Close_7 = security(syminfo.tickerid,"240", close[1], lookahead=true)
Close_8 = security(syminfo.tickerid,"60", close[1], lookahead=true)
Close_9 = security(syminfo.tickerid,"5", close[1], lookahead=true)
Low_1 = security(syminfo.tickerid,"12M", low[1], lookahead=true)
Low_2 = security(syminfo.tickerid,"6M", low[1], lookahead=true)
Low_3 = security(syminfo.tickerid,"3M", low[1], lookahead=true)
Low_4 = security(syminfo.tickerid,"M", low[1], lookahead=true)
Low_5 = security(syminfo.tickerid,"W", low[1], lookahead=true)
Low_6 = security(syminfo.tickerid,"D", low[1], lookahead=true)
Low_7 = security(syminfo.tickerid,"240", low[1], lookahead=true)
Low_8 = security(syminfo.tickerid,"60", low[1], lookahead=true)
Low_9 = security(syminfo.tickerid,"5", low[1], lookahead=true)
i_posColor = input(color.rgb(38, 166, 154), title="Positive Color")
i_negColor = input(color.rgb(240, 83, 80), title="Negative Color")
f_rateOfreturn(_v1, _v2) => (_v1 - _v2) * 100 / abs(_v2)
f_fillCell(_table, _column, _row, _value, _timeframe) =>
_c_color = close < _value ? i_negColor : i_posColor
_transp = close > _value ? HEAVYTRANSP :close < _value ? AVGTRANSP : LIGHTTRANSP
_cellText =tostring(_value, "#.######") + "\n" +_timeframe
table.cell(_table, _column, _row, _cellText, bgcolor = color.new(_c_color, _transp), text_color = _c_color, width = 5, text_size=size.small)
table.cell(_table, column = 0, row = 0, text = "H", bgcolor = color.white, text_color = color.black, text_size=size.small)
table.cell(_table, column = 1, row = 0, text = "P", bgcolor = color.white, text_color = color.black, text_size=size.small)
table.cell(_table, column = 2, row = 0, text = "C", bgcolor = color.white, text_color = color.black, text_size=size.small)
table.cell(_table, column = 3, row = 0, text = "L", bgcolor = color.white, text_color = color.black, text_size=size.small)
if barstate.islast
f_fillCell(perfTable, 0, 1, High_9, "5")
f_fillCell(perfTable, 0, 2, High_8, "60")
f_fillCell(perfTable, 0, 3, High_7, "240")
f_fillCell(perfTable, 0, 4, High_6, "D")
f_fillCell(perfTable, 0, 5, High_5, "W")
f_fillCell(perfTable, 0, 6, High_4, "M")
f_fillCell(perfTable, 0, 7, High_3, "3M")
f_fillCell(perfTable, 0, 8, High_2, "6M")
f_fillCell(perfTable, 0, 9, High_1, "12M")
f_fillCell(perfTable, 1, 1, Pivot_9, "5")
f_fillCell(perfTable, 1, 2, Pivot_8, "60")
f_fillCell(perfTable, 1, 3, Pivot_7, "240")
f_fillCell(perfTable, 1, 4, Pivot_6, "D")
f_fillCell(perfTable, 1, 5, Pivot_5, "W")
f_fillCell(perfTable, 1, 6, Pivot_4, "M")
f_fillCell(perfTable, 1, 7, Pivot_3, "3M")
f_fillCell(perfTable, 1, 8, Pivot_2, "6M")
f_fillCell(perfTable, 1, 9, Pivot_1, "12M")
f_fillCell(perfTable, 2, 1, Close_9, "5")
f_fillCell(perfTable, 2, 2, Close_8, "60")
f_fillCell(perfTable, 2, 3, Close_7, "240")
f_fillCell(perfTable, 2, 4, Close_6, "D")
f_fillCell(perfTable, 2, 5, Close_5, "W")
f_fillCell(perfTable, 2, 6, Close_4, "M")
f_fillCell(perfTable, 2, 7, Close_3, "3M")
f_fillCell(perfTable, 2, 8, Close_2, "6M")
f_fillCell(perfTable, 2, 9, Close_1, "12M")
f_fillCell(perfTable, 3, 1, Low_9, "5")
f_fillCell(perfTable, 3, 2, Low_8, "60")
f_fillCell(perfTable, 3, 3, Low_7, "240")
f_fillCell(perfTable, 3, 4, Low_6, "D")
f_fillCell(perfTable, 3, 5, Low_5, "W")
f_fillCell(perfTable, 3, 6, Low_4, "M")
f_fillCell(perfTable, 3, 7, Low_3, "3M")
f_fillCell(perfTable, 3, 8, Low_2, "6M")
f_fillCell(perfTable, 3, 9, Low_1, "12M")
Atıyorum...
YKBNK grafiğini incelerken,
XU030 vadeli, XU030, XU100, XBANK, USDTRY ye ait,
RSI, MACD, DI, ADX, CCI, MFI, Momentum, SMA50, SMA200
değerlerini de gözlemleyebileceğiniz yaratıcı bir kod.
Orijinali şurada:
Indicator Panel by LonesomeTheBlue — TradingView
Kod burada:
Kod:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue
//@version=4
study("Indicator Panel", overlay = true)
symbol0 = input(defval = "BINANCE:BTCUSDT", type = input.symbol)
symbol1 = input(defval = "BINANCE:ETHUSDT", type = input.symbol)
symbol2 = input(defval = "BINANCE:XRPUSDT", type = input.symbol)
symbol3 = input(defval = "BINANCE:DOGEUSDT", type = input.symbol)
symbol4 = input(defval = "BINANCE:LTCUSDT", type = input.symbol)
source = close//input(defval = close, title = "Source")
indi0 = input(defval = true, title = "RSI", inline = "rsi")
indi0l = input(defval = 14, title = "", inline = "rsi")
indi1 = input(defval = true, title = "MACD", inline = "macd")
indi1l1 = input(defval = 12, title = "", inline = "macd")
indi1l2 = input(defval = 26, title = "", inline = "macd")
indi1l3 = input(defval = 9, title = "", inline = "macd")
indi2 = input(defval = true, title = "DMI", inline = "dmi")
indi2l1 = input(defval = 14, title = "", inline = "dmi")
indi2l2 = input(defval = 14, title = "", inline = "dmi")
indi3 = input(defval = true, title = "CCI", inline = "cci")
indi3l = input(defval = 20, title = "", inline = "cci")
indi4 = input(defval = true, title = "MFI", inline = "mfi")
indi4l = input(defval = 20, title = "", inline = "mfi")
indi5 = input(defval = true, title = "Momentum", inline = "momentum")
indi5l = input(defval = 10, title = "", inline = "momentum")
indi6 = input(defval = true, title =" MA", inline = "indi6")
indi6t = input(defval = "SMA", title = "", options = ["SMA","EMA"], inline = "indi6")
indi6l = input(defval = 50, title = "", minval = 1, inline = "indi6")
indi7 = input(defval = true, title =" MA", inline = "indi7")
indi7t = input(defval = "SMA", title = "", options = ["SMA","EMA"], inline = "indi7")
indi7l = input(defval = 200, title = "", minval = 1, inline = "indi7")
var indinames = array.new_string(12)
var precision = array.new_string(12, '#.##########')
if barstate.isfirst
array.set(indinames, 0, "RSI"), array.set(precision, 0, '#.##')
array.set(indinames, 1, "MACD Line")
array.set(indinames, 2, "MACD Signal")
array.set(indinames, 3, "MACD Histogram")
array.set(indinames, 4, "+DI"), array.set(precision, 4, '#.##')
array.set(indinames, 5, "-DI"), array.set(precision, 5, '#.##')
array.set(indinames, 6, "ADX"), array.set(precision, 6, '#.##')
array.set(indinames, 7, "CCI"), array.set(precision, 7, '#.##')
array.set(indinames, 8, "MFI"), array.set(precision, 8, '#.##')
array.set(indinames, 9, "Momentum")
array.set(indinames, 10, indi6t + " " + tostring(indi6l))
array.set(indinames, 11, indi7t + " " + tostring(indi7l))
// get indicator values
indicators = array.new_float(800, 0)
RSI0 = security(symbol0, timeframe.period, rsi(source, indi0l))
[macdLine0, signalLine0, histLine0] = security(symbol0, timeframe.period, macd(close, indi1l1, indi1l2, indi1l3))
[diplus0, diminus0, adx0]= security(symbol0, timeframe.period, dmi(indi2l1, indi2l2))
cci0 = security(symbol0, timeframe.period, cci(source, indi3l))
mfi0 = security(symbol0, timeframe.period, mfi(source, indi4l))
mom0 = security(symbol0, timeframe.period, mom(source, indi5l))
ma01 = security(symbol0, timeframe.period, indi6t == "SMA" ? sma(source, indi6l) : ema(source, indi6l))
ma02 = security(symbol0, timeframe.period, indi7t == "SMA" ? sma(source, indi7l) : ema(source, indi7l))
RSI1 = security(symbol1, timeframe.period, rsi(source, indi0l))
[macdLine1, signalLine1, histLine1] = security(symbol1, timeframe.period, macd(close, indi1l1, indi1l2, indi1l3))
[diplus1, diminus1, adx1]= security(symbol1, timeframe.period, dmi(indi2l1, indi2l2))
cci1 = security(symbol1, timeframe.period, cci(source, indi3l))
mfi1 = security(symbol1, timeframe.period, mfi(source, indi4l))
mom1 = security(symbol1, timeframe.period, mom(source, indi5l))
ma11 = security(symbol1, timeframe.period, indi6t == "SMA" ? sma(source, indi6l) : ema(source, indi6l))
ma12 = security(symbol1, timeframe.period, indi7t == "SMA" ? sma(source, indi7l) : ema(source, indi7l))
RSI2 = security(symbol2, timeframe.period, rsi(source, indi0l))
[macdLine2, signalLine2, histLine2] = security(symbol2, timeframe.period, macd(close, indi1l1, indi1l2, indi1l3))
[diplus2, diminus2, adx2]= security(symbol2, timeframe.period, dmi(indi2l1, indi2l2))
cci2 = security(symbol2, timeframe.period, cci(source, indi3l))
mfi2 = security(symbol2, timeframe.period, mfi(source, indi4l))
mom2 = security(symbol2, timeframe.period, mom(source, indi5l))
ma21 = security(symbol2, timeframe.period, indi6t == "SMA" ? sma(source, indi6l) : ema(source, indi6l))
ma22 = security(symbol2, timeframe.period, indi7t == "SMA" ? sma(source, indi7l) : ema(source, indi7l))
RSI3 = security(symbol3, timeframe.period, rsi(source, indi0l))
[macdLine3, signalLine3, histLine3] = security(symbol3, timeframe.period, macd(close, indi1l1, indi1l2, indi1l3))
[diplus3, diminus3, adx3]= security(symbol3, timeframe.period, dmi(indi2l1, indi2l2))
cci3 = security(symbol3, timeframe.period, cci(source, indi3l))
mfi3 = security(symbol3, timeframe.period, mfi(source, indi4l))
mom3 = security(symbol3, timeframe.period, mom(source, indi5l))
ma31 = security(symbol3, timeframe.period, indi6t == "SMA" ? sma(source, indi6l) : ema(source, indi6l))
ma32 = security(symbol3, timeframe.period, indi7t == "SMA" ? sma(source, indi7l) : ema(source, indi7l))
RSI4 = security(symbol4, timeframe.period, rsi(source, indi0l))
[macdLine4, signalLine4, histLine4] = security(symbol4, timeframe.period, macd(close, indi1l1, indi1l2, indi1l3))
[diplus4, diminus4, adx4]= security(symbol4, timeframe.period, dmi(indi2l1, indi2l2))
cci4 = security(symbol4, timeframe.period, cci(source, indi3l))
mfi4 = security(symbol4, timeframe.period, mfi(source, indi4l))
mom4 = security(symbol4, timeframe.period, mom(source, indi5l))
ma41 = security(symbol4, timeframe.period, indi6t == "SMA" ? sma(source, indi6l) : ema(source, indi6l))
ma42 = security(symbol4, timeframe.period, indi7t == "SMA" ? sma(source, indi7l) : ema(source, indi7l))
f_add_indi(enabled, index, indi, indi1)=>
if enabled
array.set(indicators, index, 1)
array.set(indicators, index + 1, indi)
if not na(indi)
array.set(indicators, index + 2, indi1)
// set indicator values
// symbol 0
f_add_indi(indi0, 0 * 40 + 0, RSI0, RSI0[1])
f_add_indi(indi1, 0 * 40 + 3, macdLine0, macdLine0[1])
f_add_indi(indi1, 0 * 40 + 6, signalLine0, signalLine0[1])
f_add_indi(indi1, 0 * 40 + 9, histLine0, histLine0[1])
f_add_indi(indi2, 0 * 40 + 12, diplus0, diplus0[1])
f_add_indi(indi2, 0 * 40 + 15, diminus0, diminus0[1])
f_add_indi(indi2, 0 * 40 + 18, adx0, adx0[1])
f_add_indi(indi3, 0 * 40 + 21, cci0, cci0[1])
f_add_indi(indi4, 0 * 40 + 24, mfi0, mfi0[1])
f_add_indi(indi5, 0 * 40 + 27, mom0, mom0[1])
f_add_indi(indi6, 0 * 40 + 30, ma01, ma01[1])
f_add_indi(indi7, 0 * 40 + 33, ma02, ma02[1])
// symbol 1
f_add_indi(indi0, 1 * 40 + 0, RSI1, RSI1[1])
f_add_indi(indi1, 1 * 40 + 3, macdLine1, macdLine1[1])
f_add_indi(indi1, 1 * 40 + 6, signalLine1, signalLine1[1])
f_add_indi(indi1, 1 * 40 + 9, histLine1, histLine1[1])
f_add_indi(indi2, 1 * 40 + 12, diplus1, diplus1[1])
f_add_indi(indi2, 1 * 40 + 15, diminus1, diminus1[1])
f_add_indi(indi2, 1 * 40 + 18, adx1, adx1[1])
f_add_indi(indi3, 1 * 40 + 21, cci1, cci1[1])
f_add_indi(indi4, 1 * 40 + 24, mfi1, mfi1[1])
f_add_indi(indi5, 1 * 40 + 27, mom1, mom1[1])
f_add_indi(indi6, 1 * 40 + 30, ma11, ma11[1])
f_add_indi(indi7, 1 * 40 + 33, ma12, ma12[1])
// symbol 2
f_add_indi(indi0, 2 * 40 + 0, RSI2, RSI2[1])
f_add_indi(indi1, 2 * 40 + 3, macdLine2, macdLine2[1])
f_add_indi(indi1, 2 * 40 + 6, signalLine2, signalLine2[1])
f_add_indi(indi1, 2 * 40 + 9, histLine2, histLine2[1])
f_add_indi(indi2, 2 * 40 + 12, diplus2, diplus2[1])
f_add_indi(indi2, 2 * 40 + 15, diminus2, diminus2[1])
f_add_indi(indi2, 2 * 40 + 18, adx2, adx2[1])
f_add_indi(indi3, 2 * 40 + 21, cci2, cci2[1])
f_add_indi(indi4, 2 * 40 + 24, mfi2, mfi2[1])
f_add_indi(indi5, 2 * 40 + 27, mom2, mom2[1])
f_add_indi(indi6, 2 * 40 + 30, ma21, ma21[1])
f_add_indi(indi7, 2 * 40 + 33, ma22, ma22[1])
// symbol 3
f_add_indi(indi0, 3 * 40 + 0, RSI3, RSI3[1])
f_add_indi(indi1, 3 * 40 + 3, macdLine3, macdLine3[1])
f_add_indi(indi1, 3 * 40 + 6, signalLine3, signalLine3[1])
f_add_indi(indi1, 3 * 40 + 9, histLine3, histLine3[1])
f_add_indi(indi2, 3 * 40 + 12, diplus3, diplus3[1])
f_add_indi(indi2, 3 * 40 + 15, diminus3, diminus3[1])
f_add_indi(indi2, 3 * 40 + 18, adx3, adx3[1])
f_add_indi(indi3, 3 * 40 + 21, cci3, cci3[1])
f_add_indi(indi4, 3 * 40 + 24, mfi3, mfi3[1])
f_add_indi(indi5, 3 * 40 + 27, mom3, mom3[1])
f_add_indi(indi6, 3 * 40 + 30, ma31, ma31[1])
f_add_indi(indi7, 3 * 40 + 33, ma32, ma32[1])
// symbol 4
f_add_indi(indi0, 4 * 40 + 0, RSI4, RSI4[1])
f_add_indi(indi1, 4 * 40 + 3, macdLine4, macdLine4[1])
f_add_indi(indi1, 4 * 40 + 6, signalLine4, signalLine4[1])
f_add_indi(indi1, 4 * 40 + 9, histLine4, histLine4[1])
f_add_indi(indi2, 4 * 40 + 12, diplus4, diplus4[1])
f_add_indi(indi2, 4 * 40 + 15, diminus4, diminus4[1])
f_add_indi(indi2, 4 * 40 + 18, adx4, adx4[1])
f_add_indi(indi3, 4 * 40 + 21, cci4, cci4[1])
f_add_indi(indi4, 4 * 40 + 24, mfi4, mfi4[1])
f_add_indi(indi5, 4 * 40 + 27, mom4, mom4[1])
f_add_indi(indi6, 4 * 40 + 30, ma41, ma41[1])
f_add_indi(indi7, 4 * 40 + 33, ma42, ma42[1])
var indicatorTable = table.new(position = position.bottom_left, columns = 20, rows= 15, frame_color = color.maroon, frame_width = 4, border_width = 1, border_color = color.green)
if barstate.islast
// symbols
table.cell(table_id = indicatorTable, column = 0, row = 0, text = "Indicator", bgcolor = color.green, text_color = color.white)
table.cell(table_id = indicatorTable, column = 0, row = 1, text = "Panel", bgcolor = color.green, text_color = color.white)
table.cell(table_id = indicatorTable, column = 0, row = 2, text = symbol0, text_halign = text.align_left, bgcolor = color.silver, text_color = color.black)
table.cell(table_id = indicatorTable, column = 0, row = 3, text = symbol1, text_halign = text.align_left, bgcolor = color.**ua, text_color = color.black)
table.cell(table_id = indicatorTable, column = 0, row = 4, text = symbol2, text_halign = text.align_left, bgcolor = color.silver, text_color = color.black)
table.cell(table_id = indicatorTable, column = 0, row = 5, text = symbol3, text_halign = text.align_left, bgcolor = color.**ua, text_color = color.black)
table.cell(table_id = indicatorTable, column = 0, row = 6, text = symbol4, text_halign = text.align_left, bgcolor = color.silver, text_color = color.black)
// indicator values
col = color.yellow
for j = 0 to 4
for i = 0 to 11
index = j * 40 + i * 3
if array.get(indicators, index) == 1 // enabled
table.cell(table_id = indicatorTable, column = i + 1, row = 1, text = array.get(indinames, i), bgcolor = col, text_color = color.black)
if i >= 1 and i <= 6
if i == 1
table.cell(table_id = indicatorTable, column = i + 1, row = 0, text = "", bgcolor = col, text_color = color.black)
table.cell(table_id = indicatorTable, column = i + 2, row = 0, text = "M A C D", bgcolor = col, text_color = color.black)
table.cell(table_id = indicatorTable, column = i + 3, row = 0, text = "", bgcolor = col, text_color = color.black)
if i == 4
table.cell(table_id = indicatorTable, column = i + 1, row = 0, text = "", bgcolor = col, text_color = color.black)
table.cell(table_id = indicatorTable, column = i + 2, row = 0, text = "D M I", bgcolor = col, text_color = color.black)
table.cell(table_id = indicatorTable, column = i + 3, row = 0, text = "", bgcolor = col, text_color = color.black)
if i == 3 or i == 6
col := col == color.yellow ? color.orange : color.yellow
else
table.cell(table_id = indicatorTable, column = i + 1, row = 0, text = "", bgcolor = col, text_color = color.black)
col := col == color.yellow ? color.orange : color.yellow
bgcol = array.get(indicators, index + 1) > array.get(indicators, index + 2) ? color.lime :
array.get(indicators, index + 1) < array.get(indicators, index + 2) ? color.red :
color.gray
txtcol = array.get(indicators, index + 1) > array.get(indicators, index + 2) ? color.black :
array.get(indicators, index+ 1) < array.get(indicators, index + 2) ? color.white :
color.black
txt = tostring(array.get(indicators, index + 1), array.get(precision, i))
table.cell(table_id = indicatorTable, column = i + 1, row = j + 2, text = txt, bgcolor = bgcol, text_color = txtcol)
Örnek imaj da şöyle dursun:
https://i.ibb.co/9rmz40x/ykbnk.jpg
Slm. Tradingview hakkında yardım rica edecektim. Pro üyeliğim mevcut. Ancak BİST'te hacim verilerini göremiyorum. Sanırım üyeliğim bu hizmeti kapsamıyor. Üyeliğimi mi yükseltmem gerekiyor bilemiyorum. Bu konuda yardımcı olabilirseniz sevinirim.
Merhabalar.
Sadece spot piyasada işlem yapıyor ve hacim verisine ihtiyaç duyan bir sistem kullanmıyorsanız ve ikametiniz Türkiye ise...:
1 USD' ye :
BIST Çoklu Hisse Senetleri
VADELİ İŞLEMLER
BİST 100
BİST 30
Borsa İstanbul (Hacim verisi dahil değildir.) (Türkiye'de ikamet edenler için)
Vadeli istiyorsanız:
BIST Vadeli İşlemler
Borsa Istanbul (Türkiye'de ikamet edenler için)
$5 ABD/ayda
"Hepsi lazım" diyorsanız:
BISTHİSSE SENETLERİ
ENDEKSLER
Borsa Istanbul (Türkiye'de ikamet edenler için)
Aşağıda:
Mevcut Piyasalar altında, "Avrupa-Türkiye" seçiniz.
Ücretli Tarifeler & Ek Özellikler â€âââââââââ↚¬Å¡¬Å¡¬Å¡¬Å¡¬ TradingView
EK:
Zaten hacim sormuşsunuz...
Pardon.
Bunu satın alın. 7 USD/AY :
BISTHİSSE SENETLERİ
ENDEKSLER
Borsa Istanbul (Türkiye'de ikamet edenler için)
$7 ABD/ayda
Bir süredir buraya yazmamışız.
Madem haftasonu ve vakit var...
Birilerinin işine yararsa diye,
Kullanışlı(bence) OHCL(Open, High, Close, Low veya Açılış, Yüksek, Kapanış, Düşük) örneği verelim.
"OHCL ne işe yarar, nerelerde kullanabiliriz?" konusunu da burada:
https://www.hisse.net/topluluk/showt...=51596&page=25
ve burada:
https://www.hisse.net/topluluk/showthread.php?t=47874
Geçmişte işlemiştik. Gerekirse yeniden yazarız.
Kod' a ait ekran görüntüleri:
1-Günlük grafik:
https://i.ibb.co/YPMmvSr/1-gun.jpg
2-Haftalık grafiğe günlük periyoddan bakış:
https://i.ibb.co/y84y4FW/2-hafta.jpg
Kodu yazmadan önce şunu da ekleyeyim:
Bu kodun olduğu grafikler paylaşınca,
ilgili kodun yarattığı görüntüyü, sorunlu grafik veya ekranda "kayma" var şeklinde değerlndirenler oldu.
"Ok" la işaretlediğim simgeler(barlar) önceki bara ait OHCL değerleridir.
Günlük grafiğe, önceki günün OHCL mumunu koymak aptalca gözükebilir.
Yani birileri diyebilir ki; "Bir önceki barı zaten ben de görebiliyorum".
Bu mevzuyu aşağıda açıklamaya çalışacağım.
Örneğin;
2 numaralı grafikte "Haftalık grafiğe günlük bakış" attığımız için,
5 adet günlük bar boyunca, "Geçen Hafta" nın OHCL sini içeren mumu görüyoruz.
Aynı şeyi "Haftalık Grafik" ten, Aylık OHCL ye bakmak için yapsaydık,
görüntü şöyle olacaktı:
https://i.ibb.co/Bjw9dFb/5-ayl-k.jpg
Peki manyak mıyız? Neden mumlar kullanıyoruz?
Görüntü bozulması gibi durmuyor mu?
Onu da şöyle açıklayayım:
Tradingview' de pro hesap kullanmadığımız sürece 3 gösterge sığdırabiliyoruz bir ekrana.
Bu durumda:
1-Bar değil de, çizgilerle de yerleştirebiliriz bu göstergeyi ekranımıza. Ancak,
2-Çizgiler içeren başka bir gösterge kullandığımızda ekranımızın çorbaya dönmesini engelliyor,
yani gösterge haklarımızdan birini boşa kullanmak zorunda kalmıyoruz.
Hemen örnek vereyim(Haftalık Ichimoku ile birlikte Haftalık OHCL' ye Günlük grafikten bakış):
https://i.ibb.co/Dg6DTpm/6-ornek.jpg
Son olarak da kodumuz:
Kod://@version=5
indicator(title='OHLC', overlay=true)
res = input.timeframe(title='Time Frame', defval='W')
bc = request.security(syminfo.tickerid, res, close[1])
bl = request.security(syminfo.tickerid, res, low[1])
bh = request.security(syminfo.tickerid, res, high[1])
bo = request.security(syminfo.tickerid, res, open[1])
colr = color.new(#ff1493, 85)
colg = color.new(#caff70, 85)
plotcandle(bo, bh, bl, bc, color=bc < bo ? colr : colg, bordercolor=bc < bo ? colr : colg, wickcolor=bc < bo ? colr : colg)
res = input.timeframe(title='Time Frame', defval='W')
Bu satırdaki defval='W'
W değişkeni grafiğiniz hangi periyodda açık olursa olsun,
OHCL değerinin geçen haftaya ait olmasını sağlar.
Günlük için = "D"
Aylık için = "M"
3 Aylık için = "3M"
Yıllık Aylık için = "12M"
değerlerini kullanabilirsiniz...
Kolay gelsin. Bol kazançlar.
"Normal yollardan..." Hayır.
Ancak her ay başka bir browser(edge, exporer, chrome vb...) ile veya browser belleğini temizleyip, yeni bir sanal kartla beleş pro alanlar biliyorum...
Tabi bir de yeni bir hesap lazım. E-posta, Facebook, Google, twitter vb.
Bir arkadaş yazdığı formülleri nasıl yeni hesaba kolayca taşıdığını da yazmıştı Twitter' da.
Bulursam onu da paylaşırım.
merhabalar bir tradingview kodu için yardım isteyecektim, kodun ideale çevrilmesi ile ilgili ideal dataya başvurdum ama pine script dilini bilmediklerini söylediler. Kod biraz uzun, çok zor bir kod değilse yardım rica ediyorum .
study("SSL Hybrid", overlay=true)
show_Baseline = input(title="Show Baseline", type=input.bool, defval=true)
show_SSL1 = input(title="Show SSL1", type=input.bool, defval=false)
show_atr = input(title="Show ATR bands", type=input.bool, defval=true)
//ATR
atrlen = input(14, "ATR Period")
mult = input(1, "ATR Multi", step=0.1)
smoothing = input(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])
ma_function(source, atrlen) =>
if smoothing == "RMA"
rma(source, atrlen)
else
if smoothing == "SMA"
sma(source, atrlen)
else
if smoothing == "EMA"
ema(source, atrlen)
else
wma(source, atrlen)
atr_slen = ma_function(tr(true), atrlen)
////ATR Up/Low Bands
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult
////BASELINE / SSL1 / SSL2 / EXIT MOVING AVERAGE VALUES
maType = input(title="SSL1 / Baseline Type", type=input.string, defval="HMA", options=["SMA","EMA","DEMA","TEMA","LSMA","WMA","MF","VAMA" ,"TMA","HMA", "JMA", "Kijun v2", "EDSMA","McGinley"])
len = input(title="SSL1 / Baseline Length", defval=60)
SSL2Type = input(title="SSL2 / Continuation Type", type=input.string, defval="JMA", options=["SMA","EMA","DEMA","TEMA","WMA","MF","VAMA","TMA", "HMA", "JMA","McGinley"])
len2 = input(title="SSL 2 Length", defval=5)
//
SSL3Type = input(title="EXIT Type", type=input.string, defval="HMA", options=["DEMA","TEMA","LSMA","VAMA","TMA","HMA","JMA", "Kijun v2", "McGinley", "MF"])
len3 = input(title="EXIT Length", defval=15)
src = input(title="Source", type=input.source, defval=close)
//
tema(src, len) =>
ema1 = ema(src, len)
ema2 = ema(ema1, len)
ema3 = ema(ema2, len)
(3 * ema1) - (3 * ema2) + ema3
kidiv = input(defval=1,maxval=4, title="Kijun MOD Divider")
jurik_phase = input(title="* Jurik (JMA) Only - Phase", type=input.integer, defval=3)
jurik_power = input(title="* Jurik (JMA) Only - Power", type=input.integer, defval=1)
volatility_lookback = input(10, title="* Volatility Adjusted (VAMA) Only - Volatility lookback length")
//MF
beta = input(0.8,minval=0,maxval=1,step=0.1, title="Modular Filter, General Filter Only - Beta")
feedback = input(false, title="Modular Filter Only - Feedback")
z = input(0.5,title="Modular Filter Only - Feedback Weighting",step=0.1, minval=0, maxval=1)
//EDSMA
ssfLength = input(title="EDSMA - Super Smoother Filter Length", type=input.integer, minval=1, defval=20)
ssfPoles = input(title="EDSMA - Super Smoother Filter Poles", type=input.integer, defval=2, options=[2, 3])
//----
//EDSMA
get2PoleSSF(src, length) =>
PI = 2 * asin(1)
arg = sqrt(2) * PI / length
a1 = exp(-arg)
b1 = 2 * a1 * cos(arg)
c2 = b1
c3 = -pow(a1, 2)
c1 = 1 - c2 - c3
ssf = 0.0
ssf := c1 * src + c2 * nz(ssf[1]) + c3 * nz(ssf[2])
get3PoleSSF(src, length) =>
PI = 2 * asin(1)
arg = PI / length
a1 = exp(-arg)
b1 = 2 * a1 * cos(1.738 * arg)
c1 = pow(a1, 2)
coef2 = b1 + c1
coef3 = -(c1 + b1 * c1)
coef4 = pow(c1, 2)
coef1 = 1 - coef2 - coef3 - coef4
ssf = 0.0
ssf := coef1 * src + coef2 * nz(ssf[1]) + coef3 * nz(ssf[2]) + coef4 * nz(ssf[3])
ma(type, src, len) =>
float result = 0
if type=="TMA"
result := sma(sma(src, ceil(len / 2)), floor(len / 2) + 1)
if type=="MF"
ts=0.,b=0.,c=0.,os=0.
//----
alpha = 2/(len+1)
a = feedback ? z*src + (1-z)*nz(ts[1],src) : src
//----
b := a > alpha*a+(1-alpha)*nz(b[1],a) ? a : alpha*a+(1-alpha)*nz(b[1],a)
c := a < alpha*a+(1-alpha)*nz(c[1],a) ? a : alpha*a+(1-alpha)*nz(c[1],a)
os := a == b ? 1 : a == c ? 0 : os[1]
//----
upper = beta*b+(1-beta)*c
lower = beta*c+(1-beta)*b
ts := os*upper+(1-os)*lower
result := ts
if type=="LSMA"
result := linreg(src, len, 0)
if type=="SMA" // Simple
result := sma(src, len)
if type=="EMA" // Exponential
result := ema(src, len)
if type=="DEMA" // Double Exponential
e = ema(src, len)
result := 2 * e - ema(e, len)
if type=="TEMA" // Triple Exponential
e = ema(src, len)
result := 3 * (e - ema(e, len)) + ema(ema(e, len), len)
if type=="WMA" // Weighted
result := wma(src, len)
if type=="VAMA" // Volatility Adjusted
/// Copyright © 2019 to present, Joris Duyck (JD)
mid=ema(src,len)
dev=src-mid
vol_up=highest(dev,volatility_lookback)
vol_down=lowest(dev,volatility_lookback)
result := mid+avg(vol_up,vol_down)
if type=="HMA" // Hull
result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))
if type=="JMA" // Jurik
/// Copyright © 2018 Alex Orekhov (everget)
/// Copyright © 2017 Jurik Research and Consulting.
phaseRatio = jurik_phase < -100 ? 0.5 : jurik_phase > 100 ? 2.5 : jurik_phase / 100 + 1.5
beta = 0.45 * (len - 1) / (0.45 * (len - 1) + 2)
alpha = pow(beta, jurik_power)
jma = 0.0
e0 = 0.0
e0 := (1 - alpha) * src + alpha * nz(e0[1])
e1 = 0.0
e1 := (src - e0) * (1 - beta) + beta * nz(e1[1])
e2 = 0.0
e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * pow(1 - alpha, 2) + pow(alpha, 2) * nz(e2[1])
jma := e2 + nz(jma[1])
result := jma
if type=="Kijun v2"
kijun = avg(lowest(len), highest(len))//, (open + close)/2)
conversionLine = avg(lowest(len/kidiv), highest(len/kidiv))
delta = (kijun + conversionLine)/2
result :=delta
if type=="McGinley"
mg = 0.0
mg := na(mg[1]) ? ema(src, len) : mg[1] + (src - mg[1]) / (len * pow(src/mg[1], 4))
result :=mg
if type=="EDSMA"
zeros = src - nz(src[2])
avgZeros = (zeros + zeros[1]) / 2
// Ehlers Super Smoother Filter
ssf = ssfPoles == 2
? get2PoleSSF(avgZeros, ssfLength)
: get3PoleSSF(avgZeros, ssfLength)
// Rescale filter in terms of Standard Deviations
stdev = stdev(ssf, len)
scaledFilter = stdev != 0
? ssf / stdev
: 0
alpha = 5 * abs(scaledFilter) / len
edsma = 0.0
edsma := alpha * src + (1 - alpha) * nz(edsma[1])
result := edsma
result
///SSL 1 and SSL2
emaHigh = ma(maType, high, len)
emaLow = ma(maType, low, len)
maHigh = ma(SSL2Type, high, len2)
maLow = ma(SSL2Type, low, len2)
///EXIT
ExitHigh = ma(SSL3Type, high, len3)
ExitLow = ma(SSL3Type, low, len3)
///Keltner Baseline Channel
BBMC = ma(maType, close, len)
useTrueRange = input(true)
multy = input(0.2, step=0.05, title="Base Channel Multiplier")
Keltma = ma(maType, src, len)
range = useTrueRange ? tr : high - low
rangema = ema(range, len)
upperk =Keltma + rangema * multy
lowerk = Keltma - rangema * multy
//Baseline Violation Candle
open_pos = open*1
close_pos = close*1
difference = abs(close_pos-open_pos)
atr_violation = difference > atr_slen
InRange = upper_band > BBMC and lower_band < BBMC
candlesize_violation = atr_violation and InRange
plotshape(candlesize_violation, color=color.white, size=size.tiny,style=shape.diamond, location=location.top, transp=0,title="Candle Size > 1xATR")
//SSL1 VALUES
Hlv = int(na)
Hlv := close > emaHigh ? 1 : close < emaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? emaHigh : emaLow
//SSL2 VALUES
Hlv2 = int(na)
Hlv2 := close > maHigh ? 1 : close < maLow ? -1 : Hlv2[1]
sslDown2 = Hlv2 < 0 ? maHigh : maLow
//EXIT VALUES
Hlv3 = int(na)
Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1]
sslExit = Hlv3 < 0 ? ExitHigh : ExitLow
base_cross_Long = crossover(close, sslExit)
base_cross_Short = crossover(sslExit, close)
codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na
//COLORS
show_color_bar = input(title="Color Bars", type=input.bool, defval=true)
color_bar = close > upperk ? #00c3ff : close < lowerk ? #ff0062 : color.gray
color_ssl1 = close > sslDown ? #00c3ff : close < sslDown ? #ff0062 : na
//PLOTS
plotarrow(codiff, colorup=#00c3ff, colordown=#ff0062,title="Exit Arrows", transp=20, maxheight=20, offset=0)
p1 = plot(show_Baseline ? BBMC : na, color=color_bar, linewidth=4,transp=0, title='MA Baseline')
DownPlot = plot( show_SSL1 ? sslDown : na, title="SSL1", linewidth=3, color=color_ssl1, transp=10)
barcolor(show_color_bar ? color_bar : na)
up_channel = plot(show_Baseline ? upperk : na, color=color_bar, title="Baseline Upper Channel")
low_channel = plot(show_Baseline ? lowerk : na, color=color_bar, title="Basiline Lower Channel")
fill(up_channel, low_channel, color=color_bar, transp=90)
////SSL2 Continiuation from ATR
atr_crit = input(0.9, step=0.1, title="Continuation ATR Criteria")
upper_half = atr_slen * atr_crit + close
lower_half = close - atr_slen * atr_crit
buy_inatr = lower_half < sslDown2
sell_inatr = upper_half > sslDown2
sell_cont = close < BBMC and close < sslDown2
buy_cont = close > BBMC and close > sslDown2
sell_atr = sell_inatr and sell_cont
buy_atr = buy_inatr and buy_cont
atr_fill = buy_atr ? color.green : sell_atr ? color.purple : color.white
LongPlot = plot(sslDown2, title="SSL2", linewidth=2, color=atr_fill, style=plot.style_circles, transp=0)
u = plot(show_atr ? upper_band : na, "+ATR", color=color.white, transp=80)
l = plot(show_atr ? lower_band : na, "-ATR", color=color.white, transp=80)
//ALERTS
alertcondition(crossover(close, sslDown), title='SSL Cross Alert', message='SSL1 has crossed.')
alertcondition(crossover(close, sslDown2), title='SSL2 Cross Alert', message='SSL2 has crossed.')
alertcondition(sell_atr, title='Sell Continuation', message='Sell Continuation.')
alertcondition(buy_atr, title='Buy Continuation', message='Buy Continuation.')
alertcondition(crossover(close, sslExit), title='Exit Sell', message='Exit Sell Alert.')
alertcondition(crossover(sslExit, close), title='Exit Buy', message='Exit Buy Alert.')
alertcondition(crossover(close, upperk ), title='Baseline Buy Entry', message='Base Buy Alert.')
alertcondition(crossover(lowerk, close ), title='Baseline Sell Entry', message='Base Sell Alert.')
Merhaba arkadaşlar. EMA göstergesini değerinin örneğin % 10 yukarısından ya da aşağısından çizdirmenin bir yolu var mıdır?
Teşekkürler...
Şunu denedim ama hata veriyor:
Eski Çalışır Hali:
study(title=" DENEME - EMA *%10", overlay=true)
ma8 = security(tickerid, 'D', ema(close, 8))
plot( ma8, color= blue, style=line, title="dailyMMA8", linewidth=1)
Bunu Denedim Olmadı:
study(title=" DENEME - EMA *%10", overlay=true)
ma8 = (security(tickerid, 'D', ema(close, 8)))*1,1
plot( ma8, color= blue, style=line, title="dailyMMA8", linewidth=1)
Bu da Olmadı:
study(title=" DENEME - EMA *%10", overlay=true)
ma8 = security(tickerid, 'D', ema(close, 8)*1,1)
plot( ma8, color= blue, style=line, title="dailyMMA8", linewidth=1)
tradingview'de indikatör ismi :CORAL TREND INDICATOR
1-Göstergelerde arama kısmına yazın
2-İlk çıkan indikatöre tıklayın
3-Ayarını 2. ve 3. resimdeki rakamları ve çizgi göstergeyi seçerek ayarlayın
4- Son resimde güzel bir trend indikatörü elde edeceksiniz.
https://i.hizliresim.com/8kxvl29.png
günlük peryotta yeşil üstü tut, kırmızı altı sat,
HİNG LOW BANDS
1-Göstergelerde arama kısmına yazın
2-İlk çıkan indikatöre tıklayın
3-Ayarını 2.resimde yanına yazdığım rakamları yazarak .
https://i.hizliresim.com/3cggzxg.png
İbrahim bey Tradingview Fibonacci Düzeltmesi ayarlarını aşağıdaki şekilde göstermiş ilgililere duyrulur.
impulsive bir yükselişin sadece %38-%61 ve %76'lık düzeltmelerini dikkate alıyorum.
%50 ve %23 kullanmıyorum.
Neden?
Çünkü onları da kullanınca zaten fiyat mutlaka bir çizgisine denk geliyor, strateji kuramıyorsun, o yüzden en güçlü tepki aldığı bu üç düzeltme seviyesine tepkisini merak ediyorum fiyatın ve kararımı da buna göre veriyorum.
https://i.hizliresim.com/o61qu7j.png
Arkadaşlar, çok önemli bir konu var.
Çoğu kişi bu detayı atlıyor, atlanmaması lazım Eğer işiniz Price Action ise, MUM'lar bu işin en önemli öğesi.
MUM'lar da, bir önceki kapanışına göre değil, sabahki açılışına göre yorumlanmalı.
Çünkü, mesela, dün 100 liradan kapanmış bir MUM, bugün 110 liradan açılıyor ve 102 liraya kadar satılıyorsa, Eğer siz "MUM rengini önceki kapanışa göre renklendir" derseniz, bu MUM YEŞİL olur.
Neden? Çünkü dünkü kapanış 100 liraydı, bugünkü kapanış 102 lira.
Halbuki, 110 liradan açılır açılmaz piyasa o ürünü deli gibi satmış, akşama kadar satmış ve 110 liralık açılışı 102 liraya indirmiş.
Dolayısıyla aslında gün içerisinde ciddi bir satış var.
Bu mumu doğru yorumlayabilmek için bu mumu KIRMIZI görmemiz gerekir.
O yüzden şunu yapın ve böyle olduğunu kontrol edin:
1. tradingview'de grafik ayarlarını açın
2. soldan SEMBOLe girin
3. sağdan "önceki kapanışa göre çubuk rengi" satırının SEÇİLİ OLMADIĞINA emin olun.
Bu konu önemli.
https://i.hizliresim.com/gyp0qqb.png
Başka başlık olmadığı için buraya yazıyorum : Tradingview'da scam var, tradingviewtoken, namı diğer TRADE scam'dir cüzdanı bağlamayın.
Most by ceyhun un ayarlarını.yuzde2 ye çekip uygun hareketli ortalamalara bakılabilir ytd
OTT Collection güncellendi!
📌 Alert fonksiyonlarını eklenmiş. Artık seçtiğiniz sistem üzerinde alarm kurabilirsiniz.
📌 Backtest için gerekli bazı çıktılar da eklendi.
(Not : Backtest Modülünün de kontrolleri bitti, videosunu çekiminide hallederse lingi koyarım)
PHP Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dg_factor [21.06.2023]
// ╠═══════════════════════════ Anıl Özekşi Library ═══════════════════════════╣
// 1) OTT [31.05.2019] Optimized Trend Tracker
// 2) TOTT [01.05.2020] Twin Ott (Ott Bands)
// 3) OTT CHANNEL [19.03.2021] Ott Channel (Half Channel & Fibonacci Channel)
// 4) RISOTTO [16.04.2021] Rsi-Ott
// 5) SOTT [18.04.2021] Stochastic Ott
// 6) HOTT-LOTT [06.03.2022] Highest-Lowest Ott & Sum Version [07.04.2022]
// 7) ROTT [19.05.2022] Relative Ott
// 8) FT [24.06.2022] "Fırsatçı Trend"
// 9) RTR [26.09.2022] Relative True Range
// "TOTTO" and "OTTO" are not included in the script.
// TOTTO and TOTT have the same calculations, the only difference is the length parameter.
// OTTO has been created by another (K. H. Alpay).
// Special thanks to Kıvanç Özbilgiç for Pine Script design and calculation examples of OTT.
//@version=5
indicator("OTT Collection", precision=2)
// ╠═════════════════════════════════ Inputs ══════════════════════════════════╣
gr_sys = "╠═══════════════ SYSTEM ══════════════╣"
system = input.string(title="System ", defval="OTT", group=gr_sys, options=
["OTT", "TOTT", "OTT CHANNEL", "RISOTTO", "SOTT", "HOTT-LOTT", "ROTT", "FT", "RTR"])
tt_p = "Enable repating signals.\n" +
"(This option allows you to display consecutive signals in the same direction for TOTT & HOTT-LOTT. " +
"It also effects the colour of bars.)"
tt_bars = "Bars option is available for :\nOTT, TOTT, OTT CHANNEL, HOTT-LOTT, FT."
pyr = input.bool(title="Pyramiding", defval=false, group=gr_sys, tooltip=tt_p)
gr_dis = "╠═══════════════ DISPLAY ══════════════╣"
sh_signal = input.bool(title="Signals****", defval=true, group=gr_dis, inline="1")
sh_bar_color = input.bool(title="Barcolor****", defval=true, group=gr_dis, inline="1")
sh_bar = input.bool(title="Bars", defval=true, group=gr_dis, inline="1", tooltip=tt_bars)
col_sup = #00bcd4
col_tar = #ff9800
col_l = #00ff00
col_s = #ff0000
col_n = #333333
// ╔═══════════════════════════════════════════════════════════════════════════╗
// ║ FUNCTIONS ║
// ╚═══════════════════════════════════════════════════════════════════════════╝
// ╠═══════════════════════════════════ VAR ═══════════════════════════════════╣
// Variable Index Dynamic Adaptive Moving Average - Tushar Chande
f_var(series float data, series int length) =>
a = ta.sma(data, length)
b = math.abs(ta.change(data, 9)) // Momentum
c = math.sum(math.abs(ta.change(data)), 9) // Volatility
d = c != 0 ? b / c : 0 // Efficiency Ratio
e = 2 / (length + 1)
r = 0.0, r := length == 1 ? data : na(r[1]) ? a : d * e * (data - nz(r[1])) + nz(r[1]) // Matriks design
// r = 0.0, r := d * e * (data - nz(r[1])) + nz(r[1]) // Output used in previously published versions on Tradingview
//
// ╠═══════════════════════════════════ OTT ═══════════════════════════════════╣
// Optimized Trend Tracker - Anıl Özekşi
f_ott(series float data, series float multiplier) =>
a = multiplier / 100
b = data * a, c = data - b, d = data + b
c := c > nz(c[1]) or data < nz(c[1]) ? c : nz(c[1])
d := d < nz(d[1]) or data > nz(d[1]) ? d : nz(d[1])
e = 0.0, e := data > nz(e[1]) ? c : data < nz(e[1]) ? d : nz(e[1]) // MOST - by Anıl Özekşi :)
f = 1 + a / 2
g = 1 - a / 2
h = data > e ? e * f : e * g
r = nz(h[2])
//
// ╔═══════════════════════════════════════════════════════════════════════════╗
// ║ CALCULATIONS ║
// ╚═══════════════════════════════════════════════════════════════════════════╝
// ╠═══════════════════════════════════ OTT ═══════════════════════════════════╣
// Inputs
string gr_ott = "╠═══════════════ OTT ════════════════╣"
ott_u = input.int(title="Length ", defval=20, step=5, group=gr_ott, tooltip="MA Length [20, 60]")
ott_k = input.float(title="Multiplier ", defval=1.5, step=0.1, group=gr_ott, tooltip="OTT Multiplier")
// Calcs
ott_support = f_var(close, ott_u)
ott_line = f_ott(ott_support, ott_k)
// Signals
ott_long = ott_support > ott_line // ta.crossover(ott_support, ott_line)
ott_short = ott_support < ott_line // ta.crossunder(ott_support, ott_line)
// ╠══════════════════════════════════ TOTT ═══════════════════════════════════╣
// Inputs
string gr_tott = "╠═══════════════ TOTT ═══════════════╣"
tott_u = input.int(title="Length ", defval=35, step=5, group=gr_tott, tooltip="MA Length [15, 45]")
tott_k1 = input.float(title="Multiplier ", defval=0.5, step=0.1, group=gr_tott, tooltip="OTT Multiplier [0.3, 0.6]")
tott_k2 = input.float(title="Band Multiplier ", defval=0.0006, step=0.0001, group=gr_tott, tooltip="[0.0004, 0.0006]")
// Calcs
tott_support = f_var(close, int(tott_u / 2))
tott_up = f_ott(f_var(tott_support, 2), tott_k1) * (1 + tott_k2)
tott_dn = f_ott(f_var(tott_support, 2), tott_k1) * (1 - tott_k2)
// Signals
tott_long = tott_support > tott_up // ta.crossover(tott_support, tott_up)
tott_short = tott_support < tott_dn // ta.crossunder(tott_support, tott_dn)
// ╠═══════════════════════════════ OTT CHANNEL ═══════════════════════════════╣
// Inputs
string gr_ottc = "╠════════════ OTT CHANNEL ════════════╣"
string ottc_t1 = "You can use this parameter to optimize '[Channel] Upper Line' manually."
string ottc_t2 = "You can use this parameter to optimize '[Channel] Lower Line' manually."
string ottc_t3 = "It is recommended to hide the channel levels to see the trends correctly while you're setting the manuel parameter optimization."
ottc_t = input.string(title="Channel Type", defval="Half Channel", options=["Half Channel", "Fibonacci Channel", "Both"], group=gr_ottc)
ottc_u = input.int(title="Length ", defval=2, group=gr_ottc, tooltip="MA Length")
ottc_k1 = input.float(title="Multiplier ", defval=1.4, group=gr_ottc, tooltip="OTT Multiplier")
ottc_k2 = input.float(title="Upper Line Multiplier", defval=0.01, step=0.01, group=gr_ottc, tooltip=ottc_t1)
ottc_k3 = input.float(title="Lower Line Multiplier", defval=0.01, step=0.01, group=gr_ottc, tooltip=ottc_t2)
ottc_h1 = input.bool(title="Hide Upper & Lower Lines", defval=false, group=gr_ottc)
ottc_h2 = input.bool(title="Hide Channel Lines", defval=false, group=gr_ottc, tooltip=ottc_t3)
// Ottc Mid Line
ottc_m = f_ott(f_var(close, ottc_u), ottc_k1)
// Channel Calcs
ottc_1 = ottc_m * (1 + ottc_k2)
ottc_2 = ottc_m * (1 + ottc_k2 * 0.618)
ottc_3 = ottc_m * (1 + ottc_k2 * 0.500)
ottc_4 = ottc_m * (1 + ottc_k2 * 0.382)
ottc_5 = ottc_m * (1 - ottc_k3 * 0.382)
ottc_6 = ottc_m * (1 - ottc_k3 * 0.500)
ottc_7 = ottc_m * (1 - ottc_k3 * 0.618)
ottc_8 = ottc_m * (1 - ottc_k3)
// Signals
// There're no any referenced conditions to generate signals for Ott Channel.
// It is recommended to use Channels as support and resistance levels.
// ╠═════════════════════════════════ RISOTTO ═════════════════════════════════╣
// Inputs
string gr_risotto = "╠═════════════ RISOTTO ═══════════════╣"
risotto_u1 = input.int(title="Length 1", defval=100, group=gr_risotto, tooltip="RSI Length")
risotto_u2 = input.int(title="Length 2", defval=50, group=gr_risotto, tooltip="MA Length")
risotto_k = input.float(title="Multiplier ", defval=0.2, group=gr_risotto, tooltip="OTT Multiplier")
// Calcs
risotto_support = f_var(ta.rsi(close, risotto_u1), risotto_u2) + 1000
risotto_line = f_ott(f_var(risotto_support, 2), risotto_k)
// Signals
risotto_long = risotto_support > risotto_line // ta.crossover(risotto_support, risotto_line)
risotto_short = risotto_support < risotto_line // ta.crossunder(risotto_support, risotto_line)
// ╠══════════════════════════════════ SOTT ═══════════════════════════════════╣
// Inputs
string gr_sott = "╠═══════════════ SOTT ═══════════════╣"
sott_u1 = input.int(title="Length 1", defval=500, group=gr_sott, tooltip="Stochastic %k Length")
sott_u2 = input.int(title="Length 2", defval=200, group=gr_sott, tooltip="Stochastic %d Length")
sott_k = input.float(title="Multiplier ", defval=0.5, group=gr_sott, tooltip="OTT Multiplier")
// Calcs
sott_support = f_var(ta.stoch(close, high, low, sott_u1), sott_u2) + 1000
sott_line = f_ott(f_var(sott_support, 2), sott_k)
// Signals
sott_long = sott_support > sott_line // ta.crossover(sott_support, sott_line)
sott_short = sott_support < sott_line // ta.crossunder(sott_support, sott_line)
// ╠═══════════════════════════════ HOTT & LOTT ═══════════════════════════════╣
// Inputs
string gr_hl = "╠════════════ HOTT & LOTT ═════════════╣"
string hl_t1 = "If you activate this option, signals will be generated according to the confirmation concept for N bars. \n\n" +
"Long : If the 'High' price is higher than Hott for N bars.\n\n" +
"Short : If the 'Low' price is lower than Lott for N bars."
hl_u = input.int(title="Length ", defval=10, step=5, group=gr_hl, tooltip="ta.highest() & ta.lowest() Length\n[10, 30]")
hl_k = input.float(title="Multiplier ", defval=0.6, step=0.1, group=gr_hl, tooltip="OTT Multiplier [0.3, 0.6]")
hl_sum = input.bool(title="Sum N bars", defval=false, group=gr_hl, inline="1")
hl_sum_n = input.int(title="**********", defval=3, group=gr_hl, inline="1", tooltip=hl_t1)
// Calcs
hott = f_ott(f_var(ta.highest(hl_u), 2), hl_k)
lott = f_ott(f_var(ta.lowest(hl_u), 2), hl_k)
// Signals
hl_long = not hl_sum ? high > hott : math.sum(high > hott ? 1 : 0, hl_sum_n) == hl_sum_n // ta.crossover(high, hott)
hl_short = not hl_sum ? low < lott : math.sum(low < lott ? 1 : 0, hl_sum_n) == hl_sum_n // ta.crossunder(low, lott)
// ╠══════════════════════════════════ ROTT ═══════════════════════════════════╣
// Inputs
string gr_rott = "╠═══════════════ ROTT ═══════════════╣"
rott_u = input.int(title="Length ", defval=200, group=gr_rott, tooltip="MA Length [100, 300]")
rott_k = input.float(title="Multiplier ", defval=1.0, group=gr_rott, tooltip="OTT Multiplier")
// Calcs
rott_support = f_var(close, rott_u) * 2
rott_line = f_ott(f_var(rott_support, 2), rott_k)
// Signals
rott_long = rott_support > rott_line // ta.crossover(rott_support, rott_line)
rott_short = rott_support < rott_line // ta.crossunder(rott_support, rott_line)
// ╠═══════════════════════════════════ FT ════════════════════════════════════╣
// Inputs
string gr_ft = "╠════════════════ FT ════════════════╣"
ft_u = input.int(title="Length ", defval=30, step=10, group=gr_ft, tooltip="MA Length [20, 40]")
ft_k1 = input.float(title="Major Multiplier", defval=3.6, group=gr_ft, tooltip="Major OTT Multiplier")
ft_k2 = input.float(title="Minor Multiplier", defval=1.8, group=gr_ft, tooltip="Minor OTT Multiplier")
// Calcs
ft_support = f_var(close, ft_u)
major_trend = f_ott(ft_support, ft_k1)
minor_trend = f_ott(ft_support, ft_k2)
ft_line = (minor_trend + (2 * minor_trend - major_trend)[100]) / 2
// Signals
ft_long = ft_support > ft_line // ta.crossover(ft_support, ft_line)
ft_short = ft_support < ft_line // ta.crossunder(ft_support, ft_line)
// ╠═══════════════════════════════════ RTR ═══════════════════════════════════╣
// Inputs
string gr_rtr = "╠═══════════════ RTR ════════════════╣"
rtr_u1 = input.int(title="Length 1", defval=10, group=gr_rtr, tooltip="ATR Length [10, 20]")
rtr_u2 = input.int(title="Length 2", defval=200, group=gr_rtr, tooltip="MA Length [200, 500]")
// Calcs
rtr_line = close / f_var(close / ta.atr(rtr_u1), rtr_u2)
// Signals
// There're no any referenced conditions to generate signals for Relative True Range.
// It is recommended to use RTR as a volatility indicator.
// ╔═══════════════════════════════════════════════════════════════════════════╗
// ║ RETURN ║
// ╚═══════════════════════════════════════════════════════════════════════════╝
// ╠═════════════════════════════ Support & Lines ═════════════════════════════╣
_support =
system == "OTT" ? ott_support :
system == "TOTT" ? tott_support :
system == "RISOTTO" ? risotto_support :
system == "SOTT" ? sott_support :
system == "ROTT" ? rott_support :
system == "FT" ? ft_support :
na
//
_target =
system == "OTT" ? ott_line :
system == "RISOTTO" ? risotto_line :
system == "SOTT" ? sott_line :
system == "ROTT" ? rott_line :
system == "FT" ? ft_line :
system == "RTR" ? rtr_line :
na
//
_line_up =
system == "TOTT" ? tott_up :
system == "HOTT-LOTT" ? hott :
na
//
_line_dn =
system == "TOTT" ? tott_dn :
system == "HOTT-LOTT" ? lott :
na
//
// ╠═════════════════════════════════ Signals ═════════════════════════════════╣
long =
system == "OTT" ? ott_long :
system == "TOTT" ? tott_long :
system == "RISOTTO" ? risotto_long :
system == "SOTT" ? sott_long :
system == "HOTT-LOTT" ? hl_long :
system == "ROTT" ? rott_long :
system == "FT" ? ft_long :
na
//
short =
system == "OTT" ? ott_short :
system == "TOTT" ? tott_short :
system == "RISOTTO" ? risotto_short :
system == "SOTT" ? sott_short :
system == "HOTT-LOTT" ? hl_short :
system == "ROTT" ? rott_short :
system == "FT" ? ft_short :
na
//
// Fix Signal
var bool l = na
var bool s = na
ls = not s and long
ss = not l and short
if ls
l := false
s := true
if ss
l := true
s := false
int dir = 0
dir := pyr ? long ? 1 : short ? -1 : 0 : ls ? 1 : ss ? -1 : nz(dir[1])
long_signal = pyr ? not long[1] and long : ls
short_signal = pyr ? not short[1] and short : ss
total_signals = ta.cum(long_signal or short_signal ? 1 : 0)
// ╠═══════════════════════════════ Plotshapes ════════════════════════════════╣
plotshape(sh_signal ? long_signal : na, "Long Signal", shape.triangleup, location.bottom, col_l, size=size.tiny)
plotshape(sh_signal ? short_signal : na, "Short Signal", shape.triangledown, location.top, col_s, size=size.tiny)
// ╠══════════════════════════ Plot Support & Lines ═══════════════════════════╣
plot(_support, color=col_sup, title="Support ")
plot(_target, color=col_tar, title="Target")
plot(_line_up, color=#00bb00, title="Upper Line")
plot(_line_dn, color=#fb0000, title="Lower Line")
// ╠══════════════════════════════ Plot Channels ══════════════════════════════╣
bool ottc_none = system != "OTT CHANNEL"
bool ottc_half = ottc_t == "Both" or ottc_t == "Half Channel"
bool ottc_fibo = ottc_t == "Both" or ottc_t == "Fibonacci Channel"
plot(ottc_none or ottc_h1 ? na : ottc_1, color=#00bb00, title="[Channel] Upper Line")
plot(ottc_none or ottc_h2 ? na : ottc_fibo ? ottc_2 : na, color=#8c00ff, title="[Channel] ⮝ 0.618")
plot(ottc_none or ottc_h2 ? na : ottc_half ? ottc_3 : na, color=#00bcd4, title="[Channel] ⮝ Half Line")
plot(ottc_none or ottc_h2 ? na : ottc_fibo ? ottc_4 : na, color=#1848cc, title="[Channel] ⮝ 0.382")
plot(ottc_none or ottc_h2 ? na : ottc_m, color=#787B86, title="[Channel] Mid Line")
plot(ottc_none or ottc_h2 ? na : ottc_fibo ? ottc_5 : na, color=#945100, title="[Channel] ⮟ 0.382")
plot(ottc_none or ottc_h2 ? na : ottc_half ? ottc_6 : na, color=#ff9800, title="[Channel] ⮟ Half Line")
plot(ottc_none or ottc_h2 ? na : ottc_fibo ? ottc_7 : na, color=#a4a600, title="[Channel] ⮟ 0.618")
plot(ottc_none or ottc_h1 ? na : ottc_8, color=#fb0000, title="[Channel] Lower Line")
// ╠════════════════════════════════ Barcolor ═════════════════════════════════╣
no_color = system == "OTT CHANNEL" or system == "RTR"
bar_color =
no_color ? na :
dir == 1 ? col_l : dir == -1 ? col_s : col_n
barcolor(sh_bar_color ? bar_color : na, title="Barcolor")
// ╠═══════════════════════════════ Plotcandle ════════════════════════════════╣
no_bars = system == "RISOTTO" or system == "SOTT" or system == "ROTT" or system == "RTR"
candle_color = close>open ? #08998175 : close<open ? #f2364575 : #33333375
plotshape(barstate.isfirst, title="╠═════ OHLC ═════╣", location=location.bottom, color=#00000000, editable=false)
plotcandle(
no_bars ? na : sh_bar ? open : na,
no_bars ? na : sh_bar ? high : na,
no_bars ? na : sh_bar ? low : na,
no_bars ? na : sh_bar ? close : na,
title="Bars", color=candle_color, bordercolor=candle_color, wickcolor=candle_color)
//
// ╠═══════════════════════════════ Parameters ════════════════════════════════╣
p_ott =
"Length : " + str.tostring(ott_u) + "\n\n" +
"Multiplier : " + str.tostring(ott_k)
p_tott =
"Length : " + str.tostring(tott_u) + "\n\n" +
"Multiplier : " + str.tostring(tott_k1) + "\n\n" +
"Band Multiplier : " + str.tostring(tott_k2)
p_ottc =
"Length : " + str.tostring(ottc_u) + "\n\n" +
"Multiplier : " + str.tostring(ottc_k1) + "\n\n" +
"Upper Line Multiplier : " + str.tostring(ottc_k2) + "\n\n" +
"Lower Line Multiplier : " + str.tostring(ottc_k3)
p_risotto =
"Rsi Length : " + str.tostring(risotto_u1) + "\n\n" +
"Ott Length : " + str.tostring(risotto_u2) + "\n\n" +
"Multplier : " + str.tostring(risotto_k)
p_sott =
"Stochastic %k Length : " + str.tostring(sott_u1) + "\n\n" +
"Stochastic %d Length : " + str.tostring(sott_u2) + "\n\n" +
"Multplier : " + str.tostring(sott_k)
pp_sum =
hl_sum ? "Sum Option : On" + "\n\n" + "Sum N Bars : " + str.tostring(hl_sum_n) : ""
p_hl =
"Length : " + str.tostring(hl_u) + "\n\n" +
"Multiplier : " + str.tostring(hl_k) + "\n\n" +
pp_sum
p_rott =
"Length : " + str.tostring(rott_u)+ "\n\n" +
"Multiplier : " + str.tostring(rott_k)
p_ft =
"Length : " + str.tostring(ft_u) + "\n\n" +
"Major Multiplier : " + str.tostring(ft_k1) + "\n\n" +
"Minor Multiplier : " + str.tostring(ft_k2)
p_rtr =
"Atr Length : " + str.tostring(rtr_u1) + "\n\n" +
"Var Length : " + str.tostring(rtr_u2)
//
parameter =
system == "OTT" ? p_ott :
system == "TOTT" ? p_tott :
system == "OTT CHANNEL" ? p_ottc :
system == "RISOTTO" ? p_risotto :
system == "SOTT" ? p_sott :
system == "HOTT-LOTT" ? p_hl :
system == "ROTT" ? p_rott :
system == "FT" ? p_ft :
system == "RTR" ? p_rtr :
na
//
// ╠══════════════════════════════════ Table ══════════════════════════════════╣
var tb = table.new(position.top_right, 1, 10)
if barstate.islast
table.cell(tb, 0, 0, ottc_none ? "\n\n" + system : "\n\n" + system + "\n\n[" + ottc_t + "]", text_color=color.blue, text_halign=text.align_left)
table.cell(tb, 0, 1, parameter, text_color=#686868, text_halign=text.align_left)
table.cell(tb, 0, 2, "\n\nChart Info", text_color=color.blue, text_halign=text.align_left)
table.cell(tb, 0, 3, "Bars : " + str.tostring(bar_index + 1), text_color=#686868, text_halign=text.align_left)
table.cell(tb, 0, 4, "Signals : " + str.tostring(total_signals), text_color=#686868, text_halign=text.align_left)
//
// ╠═══════════════════════════════════ Out ═══════════════════════════════════╣
// Direction
plot(dir, title="Direction", display=display.data_window, editable=false)
// Entry & Exit
long_entry = dir == 1 and dir[1] != 1
long_exit = dir != 1 and dir[1] == 1
short_entry = dir == -1 and dir[1] != -1
short_exit = dir !=-1 and dir[1] == -1
// Out
plot(long_entry ? 1 : 0, "Long Entry", display=display.data_window, editable=false)
plot(long_exit ? 1 : 0, "Long Exit", display=display.data_window, editable=false)
plot(short_entry ? 1 : 0, "Short Entry", display=display.data_window, editable=false)
plot(short_exit ? 1 : 0, "Short Exit", display=display.data_window, editable=false)
// Alert
freq = alert.freq_once_per_bar_close
if long_entry
alert(system + "\nLong Entry !", freq)
if long_exit
alert(system + "\nLong Exit !", freq)
if short_entry
alert(system + "\nShort Entry !", freq)
if short_exit
alert(system + "\nShort Exit !", freq)
//
// Bitti :)
plotshape(barstate.isfirst, title="@ dg_factor", location=location.bottom, color=#00000000, editable=false)
Supertrend ile Rsi göstergelerini kombinlenmiş ve ortaya harika bir gösterge çıkmış isteyen kullansın ..
başarılı bir gösterge oldu mu deneyin görün inanırsanız para kazandırır.
https://tr.tradingview.com/script/lNrgXVTf/
Merhaba ... bir sorum var ... Tradingview'den Excel'e anlık veri aktarımı mümkün mü?