Strategi ini mengintegrasikan indikator Supertrend dan Indeks Saluran Komoditas (CCI) untuk mewujudkan pelacakan tren dan generasi sinyal perdagangan multi timeframe. Ide utamanya adalah menggunakan indikator CCI untuk menilai arah tren jangka pendek sambil menggabungkan indikator Supertrend untuk menentukan arah tren jangka menengah hingga panjang. Sinyal perdagangan dihasilkan ketika tren jangka pendek dan jangka menengah hingga panjang sejajar.
Indikator CCI dapat mengidentifikasi skenario overbought dan oversold. Sebuah crossover ke atas dari garis 0 adalah sinyal bullish sementara yang ke bawah adalah sinyal bearish. Strategi ini memanfaatkan fitur ini untuk menentukan arah tren jangka pendek.
cci_period = input(28, "CCI Period")
cci = cci(source, cci_period)
ML = input(0, "CCI Mid Line pivot")
Kode di atas mendefinisikan periode CCI dan posisi garis tengah.
TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up
TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn
Kode ini memeriksa apakah cci melintasi di atas/di bawah garis 0 untuk memperbarui band atas/bawah Supertrend.
Indikator Supertrend menggabungkan ATR dengan harga untuk menentukan tren jangka menengah hingga panjang. Penetrasi ke atas band atas menandakan tren naik sementara yang ke bawah menandakan tren turun.
Supertrend dihitung sebagai:
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
Di mana faktor dan Pd adalah parameter yang dapat disesuaikan.
Variabel Trend menentukan arah Supertrend saat ini:
Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)
Dengan mengintegrasikan CCI dan Supertrend, strategi ini mewujudkan penilaian tren multi-frame waktu. CCI menangkap perubahan jangka pendek sementara Supertrend berfokus pada pergerakan yang lebih besar.
Ketika arah setuju, sinyal perdagangan yang lebih dapat diandalkan dihasilkan.
isLong = st_trend == 1
isShort = st_trend == -1
Masuk ketika jangka pendek dan jangka menengah sejajar, keluar ketika arah tidak setuju.
Mengintegrasikan indikator jangka pendek dan jangka menengah untuk sinyal yang lebih andal.
Faktor Supertrend dan Periode CCI dapat disesuaikan dengan kondisi pasar.
Logika sederhana dan mudah dipahami, bagus untuk pemula.
Terapkan untuk saham, forex, crypto dengan pengaturan parameter.
Banyak sinyal palsu dapat terjadi ketika harga berfluktuasi dengan keras.
Kombinasi indikator momentum untuk melacak tren yang mempercepat.
Tambahkan stop loss berdasarkan ATR untuk pengendalian risiko.
Sesuaikan parameter untuk pasar yang berbeda.
Gabungkan dengan MACD, KDJ dll untuk menangkap pergerakan momentum yang kuat.
Menggunakan metode AI dan ensemble untuk mengoptimalkan parameter dan aturan.
Strategi ini berhasil menggabungkan Supertrend dan CCI untuk pelacakan tren multi timeframe. Logika sederhana, potensi imbalan yang baik dan kustomisasi. Dapat ditingkatkan lebih lanjut melalui pengaturan parameter, stop loss, dan pembelajaran mesin untuk menjadi sistem perdagangan yang solid.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //@author=Daveatt StrategyName = "Best Supertrend CCI Strategy" ShortStrategyName = "Best Supertrend CCI Strategy" strategy(title=StrategyName, shorttitle=ShortStrategyName, overlay=true ) ////////////////////////// //* COLOR CONSTANTS *// ////////////////////////// AQUA = #00FFFFFF BLUE = #0000FFFF RED = #FF0000FF LIME = #00FF00FF GRAY = #808080FF DARKRED = #8B0000FF DARKGREEN = #006400FF GOLD = #FFD700 WHITE = color.white // Plots GREEN_LIGHT = color.new(color.green, 40) RED_LIGHT = color.new(color.red, 40) BLUE_LIGHT = color.new(color.aqua, 40) PURPLE_LIGHT = color.new(color.purple, 40) source = input(close) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////// CCI ///////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// cci_period = input(28, "CCI Period") cci = cci(source, cci_period) //UL = input(80, "Upper level") //LL = input(20, "Lower Level") ML = input(0, "CCI Mid Line pivot") /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// ///////////////////////////// SUPERTREND ///////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// Factor=input(3,title="[ST] Factor", minval=1,maxval = 100, type=input.float) Pd=input(3, title="[ST] PD", minval=1,maxval = 100) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////// SUPERTREND DETECTION ////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// f_supertrend(Factor, Pd) => Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) TrendUp = 0.0 TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up TrendDown = 0.0 TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn Trend = 0.0 Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1) Tsl = Trend==1? TrendUp: TrendDown [Trend, Tsl] [st_trend, st_tsl] = f_supertrend(Factor, Pd) // Plot the ST linecolor = close >= st_tsl ? color.green : color.red plot(st_tsl, color = linecolor , linewidth = 3,title = "SuperTrend", transp=0) isLong = st_trend == 1 isShort = st_trend == -1 longClose = isLong[1] and isShort shortClose = isShort[1] and isLong strategy.entry("Long", 1, when=isLong) strategy.close("Long", when=longClose ) strategy.entry("Short", 0, when=isShort) strategy.close("Short", when=shortClose )