Merhaba,
Aşağıdaki yapıyı inceleyip kullanabilirsiniz.
RSI rsi;
BOLLINGER bollinger;
public override void OnInit()
{
rsi = RSIIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14);
// bollinger indikatörünü ohlc değeri yerine rsi indikatörü ile oluşturuluyor
bollinger = BollingerIndicator(rsi, 50, 2.1m, MovMethod.Simple);
AddSymbol(Symbol, SymbolPeriod);
// Algoritmanın kalıcı veya geçici sinyal ile çalışıp çalışmayacağını belirleyen fonksiyondur.
// true geçerseniz algoritma sadece yeni bar açılışlarında çalışır, bu fonksiyonu çağırmazsanız veya false geçerseniz her işlem olduğunda algoritma tetiklenir.
WorkWithPermanentSignal(true);
//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir.
//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz.
SendOrderSequential(!AcigaSatisYapilsin);
}
decimal _rsi,_bBandBot,_bBandTop,_sonuc;
public override void OnDataUpdate(BarDataEventArgs barData)
{
// indikatör değerleri değişkenlere aktarılıyor.
// RSI(c,14)
_rsi=rsi.CurrentValue;
// BBandBot(a,50,S,2.1)
_bBandBot=bollinger.BollingerDown.CurrentValue;
// BBandTop(a,50,S,2.1)
_bBandTop=bollinger.Bollingerup.CurrentValue;
// (a-BBandBot(a,50,S,2.1))/(BBandTop(a,50,S,2.1)-BBandBot(a,50,S,2.1))
_sonuc=(_rsi-_bBandBot)/(_bBandTop-_bBandBot);
}