Stokastik RSI İndikatörü Nedir?
STOCHRSI indikatörü, RSI’a benzer olarak aşırı alım-satım bölgelerini belirlemek amacıyla oluşturulmuş bir göstergedir.
STOCHRSI indikatörünün açılımı Stochastic Relative Strength Index'tir. RSI indikatörünün en yüksek ve en düşük seviyelerinin zaman içinde değişiminin hesaplanmasıyla oluşturulmuş bir indikatördür. RSI indikatörünün gürültüsünü belli bir oranda azaltmak amacıyla oluşturulmuştur.
Stokastik RSI İndikatörü Nasıl Kullanılır?
İndikatörün değerinin yaygın olarak kullanılan 20 ve 80 aşırı alım-satım noktalarını kesmesi sinyal olarak kabul edilir. Eğer indikatörün değeri 20 seviyesine aşağıdan yukarı keserse "Alım", 80 değerini ise yukarıdan aşağı kesmesi "Satım" sinyali olarak değerlendirilebilir. 20-80 seviyeleri yaygın olarak 30-70 olarak da kullanılabilmektedir.
KODLAMA EDİTÖRÜ ÖRNEĞİ
//Strateji Girdilerinin(Gloabal Değişkenler) tanımlaması
public string SonYon="";
public string Sembol="VAKBN";
int lot=1;
public string Periyot="1";
//İndikatörün parametresini tanımlıyoruz.
int Parametre=14;
//Strateji çalışmaya başladığında ilk olarak Load fonksiyonunu çalıştırır.
public void Load()
{
//SubscribePrice(Sembol) metodu ile o sembol'e abone olur ve fiyat dinlemeye başlar.
SubscribePrice(Sembol);
}
//Fiyat değişikliklerinde girilen fonksiyon
public void PriceChanged(Tick t)
{
//GetCandles(Sembol,Periyot) metodu ile sembolun o periyottaki açılış,kapanış vs. fiyatlarını tutan bir listeyi çeker.
var candles = GetCandles(Sembol,Periyot);
//Engine.GetPriceList(candles,PriceFields.Close) Kapanış fiyatları listesinin closed değişkenine tanımlanması
var closed=Engine.GetPriceList(candles,PriceFields.Close);
// Aşağıdaki kod satırı ile indikatörümüzü tanımlıyoruz.
var indicator = Engine.StochasticRSI(closed,Parametre);
//Eğer indikatör 20 noktasını aşağıdan yukarı keserse ve SonYon BUY'a eşit değilse Alış Yap
if(Engine.Intersect(indicator,20, "up") && SonYon!="BUY"){
SonYon="BUY";
SendOrder(Sembol,Directions.BUY,lot,PriceTypes.Market);
}
//Eğer indikatör 0 noktasını yukarıdan aşağı keserse ve SonYon SELL'e eşit değilse Satış Yap
else if(Engine.Intersect(indicator,0, "down") && SonYon!="SELL"){
SonYon="SELL";
SendOrder(Sembol,Directions.SELL,lot,PriceTypes.Market);
}
}