Indikator ini dicipta dengan menggabungkan indikator RSI tempoh standard dengan had Oversold sebanyak 32, had Overbought sebanyak 70 dan tempoh 14 (nilai ini boleh diubah secara pilihan dari entri dan tab tetap tetapan penunjuk) dan Bollinger Band. penunjuk dengan penyimpangan standard sebanyak 2 dan tempoh 20. Juga, RSI Oversold adalah segitiga hijau ke atas di mana harga secara serentak jatuh di bawah BB dan had bawah (Low) (iaitu di bawah 32), di mana RSI Overbought (iaitu di atas 70) pada masa yang sama harga meningkat di atas BB dan had atas (Upper) adalah segitiga ke bawah merah. ditunjukkan oleh segitiga ke bawah. Syarat penggera ditubuhkan pada syarat-syarat ini. Kod sumber ditulis dengan jelas dan diterbitkan dalam bahasa pain dan penjelasan visual untuk pemula belajar.
Ujian belakang
/*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)