Bitcoin Forum
September 23, 2020, 10:44:59 AM *
News: Latest Bitcoin Core release: 0.20.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Pine ile Tradingview'de kendi göstergelerinizi çizdirin  (Read 192 times)
niko83
Full Member
***
Offline Offline

Activity: 319
Merit: 195


View Profile
March 26, 2020, 02:24:00 AM
Last edit: March 28, 2020, 11:14:47 PM by niko83
Merited by Blacknavy (4), trendcoin (3), gospodin (2), Vispilio (1)
 #1

Bildiğiniz üzere Tradingview'in ücretsiz versiyonu belirli bir sayıdan fazla gösterge eklemenize izin vermiyor. Üstelik hazır olarak sunulan göstergeler her zaman dişimize göre olmuyor. Bu sınırlamanın kısmen de olsa etrafından dolanmanın basit ve eğlenceli bir yolu var. Tradingview öğrenmesi gayet kolay ve bir o kadar da kullanışlı olan Pine adlı bir betik dili içeriyor. Bu dili kullanarak hemen her türlü göstergeyi kendi meşrebinize göre ayarlayıp grafiğe ekleyebilir, sürekli kullandığınız birkaç indikatörü bir başlık altında bir araya getirerek başka indikatörlere yer açabilirsiniz.

Mesela bir zamanlar benim de yaptığım gibi, 3-5 tane hareketli ortalama ve Ichimoku bulutunu sürekli kullanıyorsanız, bütün bunları tek bir başlık altında toplayabilirsiniz:

Code:
//@version=4
study(title="Ichimoku Bulutu ve Beşli Hareketli Ortalama", shorttitle="Crypto Ichimoku + Beşli-MA ", overlay=true)

//Hareketli Ortalama Girdileri
drawsma = input(true, title = "SMA Çizilsin mi?")
ma_1p =  input(9, title="MA1")
ma_2p =  input(21, title="MA2")
ma_3p =  input(55, title="MA3")
ma_4p =  input(100, title="MA4")
ma_5p =  input(150, title="MA5")
ma_6p =  input(200, title="MA6")

//Ichimoku Girdileri
drawichimoku = input(true, "Ichimoku Çizilsin mi?")
conversionPeriods = input(20, minval=1, title="Tenkan-Sen Devir Sayısı"),
basePeriods = input(60, minval=1, title="Kijun-Sen Devir Sayısı")
laggingSpan2Periods = input(120, minval=1, title="Chikou Span Devir Sayısı"),
displacement = input(30, minval=1, title="Öteleme")

//Hesaplar
ma_1 = sma(close, ma_1p)
ma_2 = sma(close, ma_2p)
ma_3 = sma(close, ma_3p)
ma_4 = sma(close, ma_4p)
ma_5 = sma(close, ma_5p)
ma_6 = sma(close, ma_6p)

donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//Ichimoku çizimi
plot(conversionLine, color=drawichimoku ? #0496ff : na, title="Tenkan-Sen")
plot(baseLine, color=drawichimoku ? #991515 : na, title="Kijun-Sen")
plot(close, offset = -displacement, color=drawichimoku ? #459915 : na, title="Chikou-Span")
p1 = plot(leadLine1, offset = displacement, color=drawichimoku ? color.green : na, title="Senkou A")
p2 = plot(leadLine2, offset = displacement, color=drawichimoku ? color.red : na,  title="Senkou B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red, transp = drawichimoku ? 70:100)

//SMA Çizimi
plot(ma_1, color=drawsma ? color.yellow : na, title="MA1")
plot(ma_2, color=drawsma ? color.orange : na, title="MA2")
plot(ma_3, color=drawsma ? color.fuchsia : na, title="MA3")
plot(ma_4, color=drawsma ? color.red : na, title="MA4")
plot(ma_5, color=drawsma ? color.blue : na, title="MA5")
plot(ma_6, color=drawsma ? color.purple : na, title="MA6")


Kodu kısaca özetleyecek olursak:

  • ikinci satırda koda bir isim veriyoruz. Tabloda görünecek olan isim shorttitle kısmı.
  • ardından SMA eğrilerinin tümünün çizimini devre dışı bırakmak veya açmak için kullanabileceğimiz drawsma adlı bir değişken oluşturuyoruz.
  • ardından ma_1p ile başlayan altı farklı değişken oluşturup, bunlara 9 ile başlayıp 200 ile biten farklı varsayılan değerler atıyoruz. Bunlar hareketli ortalama hesaplanırken kullanılan devir (mum) sayıları olacak.
  • aynı prosedürü Ichimoku bulutunu çizmek için gereken değişkenler için uyguluyoruz.
  • atadığımız bu değişkenler input fonskiyonuna verildiği için kullanıcılar indikatörün ayarlar kısmından bu varsayılan değerleri kolayca değiştirebilecekler.
  • ardından SMA ve Ichimoku için gerekli hesaplamaları yaparak çıkan sonuçları değişkenlere depoluyoruz.
  • son olarak da plot fonksiyonu kullanarak elde ettiğimiz verileri tablo üzerine çizdiriyoruz.

6 değil 7 tane hareketli ortalama çizdirmek istiyorsanız yukarıdaki patterni kullanarak önce girdi kısmına ma_7p, sonra hesap kısmına ma_7, sonra da çizim kısmına plot(ma_7) eklemeniz yeterli olacaktır. Ayarlar kısmı karmakarışık olmasın diye her hareketli ortalama için ayrı bir aç kapa düğmesi koymadım ama eğer bunu eklemek isterseniz önce bunun için bir değişken oluşturmanız gerekir. Mesela girdiler kısmına şunu ekleyebilirsiniz:

Code:
drawsma1 = input(true, title = "SMA1 Çizilsin mi?")

Ardından ma_1 adlı değişkeni grafiğe ekleyen plot fonksiyonunu şu şekilde değiştirebilirsiniz:

Code:
plot(ma_1, color=(drawsma and drawsma1) ? color.yellow : na, title="MA1")

Burada kullandığımız soru işareti sayesinde plot fonksiyonuna renk ataması yapmadan önce drawsma ve drawsma1 değişkenlerinin her ikisinin birden değerine bakmasını ve her ikisi birden sıfırdan farklı ise yani boolean true değerini içeriyorsa sarı renk kullanmasını, aksi takdirde renk kullanmamasını söylemiş oluyoruz, böylece SMA çizimini toptan kapatırsak ya da yalnızca SMA1 çizimini kapatırsak pratikte çizim yaptırmamış oluyoruz. Benzer bir tekniği alttaki satırda da kullanıyoruz, burada ise renk ile değil, şeffaflık ayarı ile oynuyoruz:

Code:
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red, transp = drawichimoku ? 70:100)

Eğer kullanıcı drawichimoku değişkenine depolanmış olan varsayılan değeri değiştirirse, yani kutudaki tiki kaldırırsa bulutun çizimi %70 değil %100 şeffaflık ile yapılıyor, dolayısıyla bulut görünmez oluyor. Bu parametreyi kullanarak plot ile yapılan tüm çizimlerdeki varsayılan değerleri kendi tercihlerinize göre değiştirebilirsiniz ya da indikatörün ayarlar kısmındaki style tabını açarak aynı sonucu elde edebilirsiniz. Mesela %30 şeffaflıkta çizim yapmak istiyorsanız:

Code:
plot(ma_1, color=drawsma ? color.yellow : na, title="MA1", transp=30)

Pine ile daha birçok şey yapmak mümkün. Öğrenmek de hem basit, hem de gayet eğlenceli. Hepinize tavsiye ederim. Bu arada... İnceleyince zaten fark edersiniz ama olur da ilk görüşte bu ne biçim Ichimoku diye şaşırırsanız; varsayılan değerleri değil, kripto için genellikle tercih edilen değerleri kullandım.


EDIT:

İşi iyice abartıp, çoklu indikatörümüze Bollinger Bands, Parabolic SAR ve EMA gibi önümüze gelen her şeyi eklemek istersek aşağıdaki gibi bir script elde edebiliriz. Bu scriptte varsayılan olarak hiçbir çizim açık değil, görmek istediklerinizi ayarlar kısmına girip açmanız gerekecek.

Code:
// © niko_83
//@version=4
study(title="Ichimoku + BB + Beşli Hareketli Ortalama + SAR", shorttitle="Ichimoku + BB + Beşli-MA + SAR", overlay=true)

//Hareketli Ortalama Girdileri
drawma = input(false, title = "MA Çizilsin mi?")
ma_tipi = input(defval="SMA", title='Hareketli Ortalama Türü', options=["SMA","EMA"])

ma_1p =  input(9, title="MA1")
ma_2p =  input(21, title="MA2")
ma_3p =  input(55, title="MA3")
ma_4p =  input(100, title="MA4")
ma_5p =  input(150, title="MA5")
ma_6p =  input(200, title="MA6")

//Ichimoku Girdileri
drawichimoku = input(false, "Ichimoku Çizilsin mi?")

conversionPeriods = input(20, minval=1, title="Tenkan-Sen Devir Sayısı"),
basePeriods = input(60, minval=1, title="Kijun-Sen Devir Sayısı")
laggingSpan2Periods = input(120, minval=1, title="Chikou Span Devir Sayısı"),
displacement = input(30, minval=1, title="Öteleme")

//BB Girdileri
drawBB = input(false, title = "BB Çizilsin mi?")

BBD = input(20, minval=1, title="BB Devri")
BBSS = input(2.0, minval=0.001, title="BB Standart Sapma")

// SAR girdileri
drawsar=input(false, title = "SAR Çizilsin mi?")

baslangic = input(title="Başlangıç", type=input.float, step=0.001, defval=0.02)
artis = input(title="Artış", type=input.float, step=0.001, defval=0.02)
maksimum = input(title="Maksimum", type=input.float, step=0.01, defval=0.2)

//SMA Hesapları
ma_1 = ma_tipi=="EMA" ? ema(close, ma_1p) : sma(close, ma_1p)
ma_2 = ma_tipi=="EMA" ? ema(close, ma_2p) : sma(close, ma_2p)
ma_3 = ma_tipi=="EMA" ? ema(close, ma_3p) : sma(close, ma_3p)
ma_4 = ma_tipi=="EMA" ? ema(close, ma_4p) : sma(close, ma_4p)
ma_5 = ma_tipi=="EMA" ? ema(close, ma_5p) : sma(close, ma_5p)
ma_6 = ma_tipi=="EMA" ? ema(close, ma_6p) : sma(close, ma_6p)

 //Ichimoku Hesapları
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

 //Bollinger Band Hesapları
ssapma = BBSS * stdev(close, BBD)
alt = sma(close, BBD) - ssapma
orta = sma(close, BBD)
ust = sma(close, BBD) + ssapma

// SAR Hesaplama
sarplot = sar(baslangic, artis, maksimum)

//Ichimoku çizimi
plot(conversionLine, color=drawichimoku ? #0496ff : na, title="Tenkan-Sen")
plot(baseLine, color=drawichimoku ? #991515 : na, title="Kijun-Sen")
plot(close, offset = -displacement, color=drawichimoku ? #459915 : na, title="Chikou-Span")
p1 = plot(leadLine1, offset = displacement, color=drawichimoku ? color.green : na, title="Senkou A")
p2 = plot(leadLine2, offset = displacement, color=drawichimoku ? color.red : na,  title="Senkou B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red, transp = drawichimoku ? 70:100)

//SMA Çizimi
plot(ma_1, color=drawma ? color.yellow : na, title="MA1")
plot(ma_2, color=drawma ? color.orange : na, title="MA2")
plot(ma_3, color=drawma ? color.fuchsia : na, title="MA3")
plot(ma_4, color=drawma ? color.red : na, title="MA4")
plot(ma_5, color=drawma ? color.blue : na, title="MA5")
plot(ma_6, color=drawma ? color.purple : na, title="MA6")

// BB Çizimi
plot(alt, title="Alt", color=drawBB ? color.blue:na)
plot(orta, title="Orta", color=drawBB ? color.lime:na)
plot(ust, title="Üst", color=drawBB ? color.blue:na)

// SAR Çizimi
plot(sarplot, style = plot.style_cross, color=drawsar ? color.orange:na)
1600857899
Hero Member
*
Offline Offline

Posts: 1600857899

View Profile Personal Message (Offline)

Ignore
1600857899
Reply with quote  #2

1600857899
Report to moderator
1600857899
Hero Member
*
Offline Offline

Posts: 1600857899

View Profile Personal Message (Offline)

Ignore
1600857899
Reply with quote  #2

1600857899
Report to moderator
Transactions must be included in a block to be properly completed. When you send a transaction, it is broadcast to miners. Miners can then optionally include it in their next blocks. Miners will be more inclined to include your transaction if it has a higher transaction fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1600857899
Hero Member
*
Offline Offline

Posts: 1600857899

View Profile Personal Message (Offline)

Ignore
1600857899
Reply with quote  #2

1600857899
Report to moderator
valek55
Member
**
Offline Offline

Activity: 363
Merit: 31


View Profile
March 29, 2020, 03:10:18 PM
 #2

çokgüzel bir konu arkadasa teşekkür ederim..

şöyle birşey yapmak mümkün mü indikatöre indikatör eklemek ?

Örneğin rsi+bollinger istiyorum ben mesela
niko83
Full Member
***
Offline Offline

Activity: 319
Merit: 195


View Profile
March 30, 2020, 07:15:11 AM
Last edit: March 30, 2020, 08:00:54 AM by niko83
Merited by Vispilio (1)
 #3

çokgüzel bir konu arkadasa teşekkür ederim..

şöyle birşey yapmak mümkün mü indikatöre indikatör eklemek ?

Örneğin rsi+bollinger istiyorum ben mesela

Bildiğim kadarıyla Pine, tek bir script ile farklı bölmelere çizim yapmaya izin vermiyor. Bollinger Bands "overlay" olarak yani fiyat grafiğinin üstüne çizdirilirken RSI ayrı bir bölme içine çizdiriliyor çünkü RSI değeri 0 ile 100 arasında gidip geliyor. Eğer RSI'yı fiyat ile aynı bölmeye eklemeye kalkarsak grafiğin ölçeği değişecektir ve hem fiyatı hem de RSI değerini okumak epey zor hale gelecektir. Bu durumda iki farklı script hazırlamaktan başka çare kalmıyor.

İlk script ile fiyat grafiğinin üzerine çizebileceğimiz hareketli ortalama veya BB gibi indikatörleri çizdirip, diğer script ile ayrı bir bölmede RSI, MFI, Stoch gibi 0-100 arasında gidip gelen osilatörleri bir araya getirebiliriz. Mesela alttaki script ile hem RSI hem de MFI değerlerini üst üste aynı bölme içine çizdirebiliriz.

Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © niko_83
//@version=4

study("RSI + MFI")
rsiperiods = input(14, "RSI periyotu")
rsisrc = input(close, title="RSI Kaynağı")
mfiperiods = input(14, "MFI periyotu")
mfisrc = input(close, "MFI Kaynağı")

rsivalue = rsi(rsisrc, rsiperiods)
mfivalue = mfi(mfisrc, mfiperiods)
plot(rsivalue, color=color.yellow)
plot(mfivalue, color=color.blue)

Böylece şunun gibi bir grafik elde edebiliriz:




EDIT: Tek script ile farklı bölmelere çizdirmek için bir iki teknik denedim ama başarılı olamadım. Ölçek cetvelini sola alarak fiyat grafiği üzerine RSI çizdirmek için alttaki kodu kullanabiliriz ama işin içine birden fazla indikatör girince işler yine karışacaktır.

Code:
// © niko_83
//@version=4

study(title="Overlaid RSI", shorttitle="Overlaid RSI", overlay=true, scale=scale.left)

rsiperiods = input(14, "RSI periyotu")
rsisrc = input(close, title="RSI Kaynağı")
rsivalue = rsi(rsisrc, rsiperiods)
plot(rsivalue, color=color.yellow)

Bu kodun sonucu şuna benziyor:

valek55
Member
**
Offline Offline

Activity: 363
Merit: 31


View Profile
March 30, 2020, 02:51:13 PM
 #4

hocam benim fiyatla işim yok.

ben alttaki 2. resimdeki yaptıgını gibi istiyorum yapmıssınız ya rsi+mfi diye.

Ben orda mfi yerine bollinger bandı istiyorum.

Bunu yapabilirmiyiz ?
niko83
Full Member
***
Offline Offline

Activity: 319
Merit: 195


View Profile
March 30, 2020, 04:31:27 PM
Last edit: March 31, 2020, 06:14:27 AM by niko83
 #5

hocam benim fiyatla işim yok.

ben alttaki 2. resimdeki yaptıgını gibi istiyorum yapmıssınız ya rsi+mfi diye.

Ben orda mfi yerine bollinger bandı istiyorum.

Bunu yapabilirmiyiz ?

Neden böyle bir şey istediğinizi pek anlayamadım ama bunu yapmak pekala mümkün.

Code:
// © niko_83

//@version=4
study("Ayrık BB", overlay=false)

BBD = input(20, minval=1, title="BB Devri")
BBSS = input(2.0, minval=0.001, title="BB Standart Sapma")

ssapma = BBSS * stdev(close, BBD)
alt = sma(close, BBD) - ssapma
orta = sma(close, BBD)
ust = sma(close, BBD) + ssapma

plot(alt, title="Alt", color= color.blue)
plot(orta, title="Orta", color= color.lime)
plot(ust, title="Üst", color= color.blue)



EDIT: Sanırım ne umduğunuzu tam anlayamamışım. "MFI yerine BB" demişsiniz ama ben yalnızca BB için kod hazırladım. Bu noktada aklıma şu soru geliyor; BB ve RSI mı görmek istiyorsunuz yoksa RSI için BB çizdirmek mi istiyorsunuz?
valek55
Member
**
Offline Offline

Activity: 363
Merit: 31


View Profile
March 31, 2020, 02:52:05 AM
 #6

Hocam estağfurullah Allah çözümü olmayan dert vermesin inşallah en kısa sürede sorunlarınızı çözüme kavusturursunuz.

Benim istediğim şu hocam. normalde indikatör olarak rsi açıyoruz. RSİ in üzerinde ... tıklayıp indikatör ekle deyip bollinger ekliyoruz.Aşağada resim linki attım.Birtürlü direk foruma resim ekleyemedim.


https://ibb.co/ryWM5qC

Şimdi bu şekilde yaptıgımızda tradingview bunu 2 indikatör sayıyor ve bize 1 tane daha indikatör hakkı kalıyor.

Halbuki ben bu şekilde 2 indikatörü birleştirip tek indikatör yaparak kullanabilirsem bu sayede fazladan 2 indikatör daha açabileceğim.

O yüzden bana rsi+bollinger birleştirilmiş şekilde lazım.

Hatta aynı şekilde obv+bollinger de birleştirilmiş olsa tadından yenmez Smiley ama ben tekinede razıyım...

İlgilendiğin için teşekkür ederim.

niko83
Full Member
***
Offline Offline

Activity: 319
Merit: 195


View Profile
March 31, 2020, 06:35:22 AM
Last edit: March 31, 2020, 07:00:57 AM by niko83
Merited by Blacknavy (7), valek55 (3), Vispilio (2)
 #7

Hocam estağfurullah Allah çözümü olmayan dert vermesin inşallah en kısa sürede sorunlarınızı çözüme kavusturursunuz.

Benim istediğim şu hocam. normalde indikatör olarak rsi açıyoruz. RSİ in üzerinde ... tıklayıp indikatör ekle deyip bollinger ekliyoruz.Aşağada resim linki attım.Birtürlü direk foruma resim ekleyemedim.


https://ibb.co/ryWM5qC

Şimdi bu şekilde yaptıgımızda tradingview bunu 2 indikatör sayıyor ve bize 1 tane daha indikatör hakkı kalıyor.

Halbuki ben bu şekilde 2 indikatörü birleştirip tek indikatör yaparak kullanabilirsem bu sayede fazladan 2 indikatör daha açabileceğim.

O yüzden bana rsi+bollinger birleştirilmiş şekilde lazım.

Hatta aynı şekilde obv+bollinger de birleştirilmiş olsa tadından yenmez Smiley ama ben tekinede razıyım...

İlgilendiğin için teşekkür ederim.



Şimdi tam olarak ne istediğinizi anladım; RSI değerlerini temel alan Bollinger Bands çizdirmek istiyorsunuz. Alttaki kodu kullanarak bunu elde edebilirsiniz. Birkaç saat içinde OBV konusunda neler yapabileceğime göz atarım. Dilekleriniz için teşekkür ederim. Güle güle kullanın, rica ederim.

Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © niko_83

//@version=4
study("BB on RSI", overlay=false)

// RSI
ustcizgi=input(70, "Üst Çizgi")
altcizgi=input(30, "Alt Çizgi")
band1 = hline(ustcizgi)
band0 = hline(altcizgi)

rsiperiods = input(14, "RSI periyotu")
rsisrc = input(close, title="RSI Kaynağı")
rsivalue = rsi(rsisrc, rsiperiods)
plot(rsivalue, color=color.yellow)

// BBRSI

drawBB = input(true, title = "RSI-BB Çizilsin mi?")

BBRSID = input(20, minval=1, title="RSI-BB Devri")
BBRSISS = input(2.0, minval=0.001, title="RSI-BB Standart Sapma")

ssapma = BBRSISS * stdev(rsivalue, BBRSID)
altb = sma(rsivalue, BBRSID) - ssapma
ortab = sma(rsivalue, BBRSID)
ustb = sma(rsivalue, BBRSID) + ssapma

plot(altb, title="Alt Bant", color=drawBB ? color.blue:na)
plot(ortab, title="Orta Bant", color=drawBB ? color.lime:na)
plot(ustb, title="Üst Bant", color=drawBB ? color.blue:na)




EDIT: OBV üstüne Bollinger Bantları çizdirmek için de aşağdaki kodu kullanabilirsiniz. Tümünü aynı panel içine çizdirmek pratikte imkansız gibi çünkü hem ölçek problemi var hem de böyle bir durumda panel karmakarışık olacaktır. O yüzden bu iki farklı kodu iki farklı panelde kullanmanız gerekecek gibi görünüyor.


Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © niko_83
//@version=4
study("BB on OBV", overlay=false)

// OBV
plot(obv, color=color.yellow)

// BB on OBV
drawOBVBB = input(true, title = "OBV-BB Çizilsin mi?")

BBOBVD = input(20, minval=1, title="OBV-BB Devri")
BBOBVSS = input(2.0, minval=0.001, title="OBV-BB Standart Sapma")

ssapma = BBOBVSS * stdev(obv, BBOBVD)
altb = sma(obv, BBOBVD) - ssapma
ortab = sma(obv, BBOBVD)
ustb = sma(obv, BBOBVD) + ssapma

plot(altb, title="Alt Bant", color=drawOBVBB ? color.blue:na)
plot(ortab, title="Orta Bant", color=drawOBVBB ? color.lime:na)
plot(ustb, title="Üst Bant", color=drawOBVBB ? color.blue:na)


valek55
Member
**
Offline Offline

Activity: 363
Merit: 31


View Profile
March 31, 2020, 12:32:16 PM
 #8

Allah razı olsun hocam senden. ne kadar sevindirdin beni bir bilsen. Büyük kolaylık sağladın bana..
niko83
Full Member
***
Offline Offline

Activity: 319
Merit: 195


View Profile
March 31, 2020, 02:31:21 PM
 #9

Allah razı olsun hocam senden. ne kadar sevindirdin beni bir bilsen. Büyük kolaylık sağladın bana..

Rica ederim!
niko83
Full Member
***
Offline Offline

Activity: 319
Merit: 195


View Profile
July 18, 2020, 12:51:15 PM
Last edit: July 18, 2020, 03:07:24 PM by niko83
Merited by Vispilio (1)
 #10

İstek üzerine şöyle bir şey karaladım. Çok yoğun olduğum için 5 dakikada şipşak yazdım, umarım formüllerde bir hata yoktur ve istenen şeyi doğru anlamışımdır. Bu kod RSI değerini kullanarak Double-EMA hesaplıyor:

Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © niko_83
//@version=4
study("RSI DEMA", overlay=false)

rsrc = input(title="Kaynak", type=input.source, defval=close)
rsi_len = input(title="RSI uzunluğu", defval=14)
dema_len = input(title="DEMA uzunluğu", defval=21)

prsi = rsi(rsrc, rsi_len)
pema = ema(prsi, dema_len)
pdema = 2 * pema - ema(pema, dema_len)

plot(prsi, color=color.red)
plot(pdema, color=color.yellow)

ust=input(70, "Üst Çizgi")
alt=input(30, "Alt Çizgi")
band1 = hline(ust)
band0 = hline(alt)




EDIT:

Momentum lafını duyunca aklıma direk RSI geldi, meğer momentum ile kast edilen bildiğin momentummuş. Kod:

Code:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © niko_83
//@version=4

study("Momentum DEMA", overlay=false)

msrc = input(title="Momentum Kaynağı", type=input.source, defval=close)
mlen = input(title="Momentum Periyodu", defval=10, minval=1)
dema_len = input(title="DEMA uzunluğu", defval=21, minval=1)

mom = msrc - msrc[mlen]
pema = ema(mom, dema_len)
pdema = 2 * pema - ema(pema, dema_len)

plot(mom, color=color.red, title="Momentum")
plot(pdema, color=color.yellow, title="Momentum DEMA")



Sanırım maksat hasıl oldu.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!