PineScript

RSI Stratejileri

RSI göstergesi ile ilgili birkaç stratejiden bahsettim.

Paylaştı

on

Merhabalar hepiniz hoş geldiniz. Bu yazımda RSI göstergesi ile ilgili birkaç stratejiden bahsedeceğim. RSI bir momentum göstergesidir. 40 yıldan uzun bir süre önce geliştirilmiştir ve neredeyse tüm piyasalarda aktif olarak kullanılmaktadır. Genelde grafiğin altında kullanılır. 0 – 100 arası bir değer alır. Bu yazımda basit ve anlaşılabilir birkaç RSI stratejisinden bahsedeceğim.

Aşırı Alış ve Aşırı Satış Kesişimleri

RSI göstergesi aşırı alım ve aşırı satışları gösterir. Kimilerine göre bu bölgeler aşağıdaki gibidir.

30 seviyesinin altı aşırı alım bölgesi, 70 seviyesinin üstü aşırı satış bölgesidir. Kimilerine göre de bu değerler farklılık göstermektedir. Bazıları da 20-80 olarak kullanmaktadır. Aşırı alış seviyesinden çıkmak, yani RSI değerinin 30’u yukarı kesmesi ve aşırı satış bölgesinden çıkmak yani RSI değerinin 70’i aşağı kesmesine dayalı sistemler oluşturulmaktadır.

İlk stratejimiz RSI 30’u yukarı keserse AL, 70’i aşağı keserse sat şeklinde olacaktır. Tabi biz bu stratejiyi yazarken özelleştireceğiz. Çünkü bazılarımız RSI’ı 14 periyotluk kullanırken bazılarımız farklı kullanabilir. Bazılarımız da 30-70 kombinasyonu yerine farklı kombinasyonlar seçebilir. Bu yüzden kodumuzu ona göre optimize ediyoruz. Aşağıda bu stratejiye ait pinescript kodlarını bulacaksınız.

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

//@version=5
strategy("RSI Aşırı Alım Satım", overlay=true)
rsiPeriod = input.int(14,"RSI Period")
rsi = ta.rsi(close,rsiPeriod)
overSold = input.float(70,"OverSold")
overBought = input.float(30,"Over Bought")

longCondition = ta.crossover(rsi,overBought)
shortCondition = ta.crossunder(rsi,overSold)

if longCondition
    strategy.entry("LONG",strategy.long)
if shortCondition
    strategy.entry("SHORT",strategy.short)

Bu kodları eklediğinizde strateji ayarlarınızda böyle bir panele sahip olacaksınız.

Bu paneldeki ayarlar ile siz hangi kesişimler olması gerektiğini seçebilirsiniz.

RSI ile Kendi Hareketli Ortalamasının Kesişimi

Yukarıda bahsettiğimiz gibi RSI’ın belli başlı bölgelere girip çıkmasına göre bir strateji oluşturmuştuk. Bu stratejide ise RSI göstergesinin kendi hareketli ortalamasını yukarı kesmesiyle AL sinyali, aşağı kesmesiyle de SAT sinyali göndereceğiz. Bu bize RSI artık bir trende giriyor mu yoksa bir trendden çıkıyor mu diye düşündürebilir. Bu yüzden RSI’ın hareketli ortalamasını alıp ortalama üstüne çıkmasını ve ortalama altına düşmesini değerlendirebiliriz.

Aşağıdaki kod ile bu stratejiyi deneyebilirsiniz.

Reklamlar

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

//@version=5
strategy("RSI Aşırı Alım Satım", overlay=true)
rsiPeriod = input.int(14,"RSI Period")
rsiMaPeriod = input.int(50,"RSI MA Period")
rsi = ta.rsi(close,rsiPeriod)
rsiMa = ta.sma(rsi,rsiMaPeriod)

longCondition = ta.crossover(rsi,rsiMa)
shortCondition = ta.crossunder(rsi,rsiMa)

if longCondition
    strategy.entry("LONG",strategy.long)
if shortCondition
    strategy.entry("SHORT",strategy.short)

Bu kod parçacığı ile istediğiniz periyoda göre hesaplanan RSI değerinin istediğiniz uzunluktaki hareketli ortalamasını alarak kesişimlerine sinyal alabilirsiniz. Fakat RSI keskin dönüşlere sahip bir gösterge olduğu için fazla sinyal alabilirsiniz. Lütfen dikkatli olun.

RSI Bölge ve Hareketli Ortalama

İşleri biraz daha karmaşık hâle getirelim. RSI göstergesini bölgelere böldük ona göre bir strateji ayarladık. Daha sonra RSI’ın kendi hareketli ortalamasına göre de bir strateji yazdık. Çok hatalı sinyaller geldiğini varsayalım. Peki işlem sıklığını azaltmak için ne yapabilirim diye düşünüyorum.. Hmm. Peki bu ikisini kombine etsem nasıl olur ? RSI 0-100 arasında değer alan bir gösterge. Tam yarısı 50. Peki şöyle yapalım o zaman. RSI kendi hareketli ortalamasını hem yukarı kessin, hem de 50’nin üstünde olmuş olsun. Bu AL sinyali idi. SAT sinyali de tam tersi. Hemen kodlayalım ve sonuçlara bakalım. Kodları vereceğim. Sonuçlara lütfen kendiniz bakın. Bu sitede paylaşılan hiçbir strateji kazanç vaat etmemektedir.

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

//@version=5
strategy("RSI Aşırı Alım Satım", overlay=true)
rsiPeriod = input.int(14,"RSI Period")
rsiMaPeriod = input.int(50,"RSI MA Period")
rsi = ta.rsi(close,rsiPeriod)
rsiMa = ta.sma(rsi,rsiMaPeriod)
rsiPoint = input.float(50,"RSI Point")
longCondition = ta.crossover(rsi,rsiMa) and rsi > rsiPoint
shortCondition = ta.crossunder(rsi,rsiMa) and rsi < rsiPoint

if longCondition
    strategy.entry("LONG",strategy.long)
if shortCondition
    strategy.entry("SHORT",strategy.short)

Ben bu stratejiyi denedim ve pek memnun kalmadım. Fakat burada bahsetmek istediğim şey bir akıl yürütme tekniği. Nasıl sinyal azaltabilirim ya da yataydan nasıl kaçabilirim, işlemde nasıl uzun süre durabilirim gibi fikirleri edinebilmek.

Kısa Vade Short-Long Stratejisi

RSI ile ilgili mantıklı ve mantıksız birkaç stratejiden bahsettik. Harmanlama işi sizde. Peki bu zamana kadar tanıdığım kişilerin açtığı işlemlere bakara da örnek stratejiler vermek istiyorum. Yakından tanıdığım bir isim, RSI göstergesinin periyodunu 6 yapıp, RSI 95’in üstüne çıktığı anda Short işlem açıp kâr alıp çıkıyordu Ve bu stratejiyi 15 dakikalık grafikte kullanıyordu. Bazen de 5 dakikalık. Stoplu bir strateji değildi. Fakat gelin biz bunu stoplu ve kâr alma olan bir strateji haline çevirelim. Ve aynı şekilde tam tersi olarak da RSI6 15’in altına düştüğünde de çok kısa bir süreliğine Long açalım ve kâr alalım. Stop noktamızı da belirleyelim. Stop yüzdesi ile kâr alma yüzdesi oranını 2.5 olarak belirliyorum ki 3 işlemden biri kâr olsa biri totalde kârda olabileyim. Bu oranı siz kendinize göre ayarlayabilirsiniz.

Böyle bir panele sahip olduk. Bu panel sayesinde, RSI periyodunu da, hangi bölgelerdeki kesişimlere göre işleme girmesi gerektiğini de ve ek olarak da STOP ve TP noktaları için yüzde bir değer belirleyerek güzel bir strateji oluşturmuş oldum. Siz de buradaki fikirlerden yararlanarak kendinize stratejiler oluşturabilirsiniz. Aşağıda da bu stratejiye ait kodları bulacaksınız.

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

//@version=5
strategy("RSI Aşırı Alım Satım", overlay=true)
rsiPeriod = input.int(6,"RSI Period")
rsiShortValue = input.float(95,"RSI Short Value")
rsiLongValue = input.float(15,"RSI Long Value")
stopPercent = input.float(1,"Stop %")
profitPercent = input.float(2.5,"Profit Percent")
rsi = ta.rsi(close,rsiPeriod)

shortCondition = ta.crossover(rsi,rsiShortValue) 
longCondition = ta.crossunder(rsi,rsiLongValue)
entryPrice = strategy.position_avg_price
shortStop = entryPrice * (100+stopPercent)/100
shortTp = entryPrice * (100-profitPercent)/100
longStop = entryPrice * (100-stopPercent)/100
longTp = entryPrice * (100+profitPercent)/100

if longCondition
    strategy.entry("LONG",strategy.long)
if shortCondition
    strategy.entry("SHORT",strategy.short)

strategy.exit("exit","LONG",limit = longTp,stop=longStop, comment_profit = "LONG TP",comment_loss = "LONG STOP")
strategy.exit("exit","SHORT",limit=shortTp,stop=shortStop, comment_profit = "SHORT TP",comment_loss = "SHORT STOP")

Umarım faydalı bir yazı olmuştur.

Reklamlar

1 Yorum

  1. Ender

    Kasım 2, 2022 at 9:36 pm

    Faydalı bir içerik daha teşekkürler.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Trendler

Exit mobile version