Cet indicateur est créé en combinant l'indicateur RSI de période standard avec une limite de survente de 32, une limite de surachat de 70 et une période de 14 (ces valeurs peuvent être modifiées en option à partir des entrées et des onglets fixes des paramètres de l'indicateur) et la bande de Bollinger. indicateur avec un écart type de 2 et une période de 20.
test de retour
/*backtest start: 2022-02-11 00:00:00 end: 2022-05-11 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 study(title="RSI & BB'de aynı anda Oversold Yakalama", shorttitle="RSI&BB OS", overlay=true) //RSI hesabı ile kaynak ve period seçimi için seçki kutusu ve değer giriş kutuları burada yapıldı rsiKaynagi = input(title="RSI Kaynagi", type=input.source, defval=close) rsiPeriodu = input(title="RSI Periodu", type=input.integer, defval=14) rsiDegeri = rsi(rsiKaynagi, rsiPeriodu) rsiTabanDegeri = input(title="RSI Taban Değerini gir", type=input.integer, defval=32) // defval: default value yani varsayılan değer rsiTavanDegeri = input(title="RSI Taban Değerini gir", type=input.integer, defval=70) // Bollinger Bandı hesabı ve kaynak ve period seçimi için seçki kutusu ve değer giriş kutuları burada yapıldı bbPeriodu = input(20, minval=1) bbKaynagi = input(close, title="Source") standartSapmaDegeri = input(2.0, minval=0.001, maxval=50, title="Standart Sapma") bandOrtasi = sma(bbKaynagi, bbPeriodu) sapmaHesabi = standartSapmaDegeri * stdev(bbKaynagi, bbPeriodu) bbUstSiniri = bandOrtasi + sapmaHesabi bbAltsiniri = bandOrtasi - sapmaHesabi bandOrtaCizgisi = plot(bandOrtasi, "Orta Çizgi", color=color.black) ustSinirCizgisi = plot(bbUstSiniri, "Üst Sınır Çizgisi", color=color.black) altSinirCizgisi = plot(bbAltsiniri, "Alt Sınır Çizgisi", color=color.black) fill(ustSinirCizgisi, altSinirCizgisi, title = "Arka Plan", color=color.rgb(33, 150, 243, 95)) // arka plan renkleri RGB cinsinden // RSI'nin değerinin 20 altındayken aynı anda fiyatın Bollinger Bandının altı sınırının altında olduğu durum için şart oluşturma bullishkosulu = rsiDegeri<rsiTabanDegeri and low<bbAltsiniri bearishkosulu = rsiDegeri>rsiTavanDegeri and high>bbUstSiniri // bu kosulun sağlandığı yerleri belirtilen yazı ve / veya şekille gösterme plotshape((bullishkosulu)? 1 : 0, style=shape.triangleup, text="Bullish", color=color.green, location=location.belowbar, size=size.small) plotshape((bearishkosulu)? 1 : 0, style=shape.triangledown, text="Bearish", color=color.red, location=location.abovebar, size=size.small) //triangleup: yukarı yönlü üçgen //text: görünmesi istenen yazı //color: yazı ve şekil rengi //location: mumun altında mı üstünde mi görünsün //belowbar: mumun yani barın altında görünsün //size : büyüklük küçüklük ölçüsü (burada small ile küçük olsun istendi) alertcondition(bullishkosulu, title="Bullish koşulu üzerine alarm kur", message="{{interval}} - RSI<33 ve Fiyat<BB Lower - {{ticker}} - En düşük fiyat:{{low}} - {{timenow}}") alertcondition(bearishkosulu, title="Bearish koşulu üzerine alarm kur", message="{{interval}} - RSI>70 ve Fiyat>BB Upper - {{ticker}} - En yüksek fiyat:{{high}} - {{timenow}}") if bearishkosulu strategy.entry("Enter Long", strategy.long) else if bullishkosulu strategy.entry("Enter Short", strategy.short)