Strategi ini mengintegrasikan penunjuk Supertrend dan Indeks Saluran Komoditi (CCI) untuk merealisasikan pengesanan trend dan penjanaan isyarat perdagangan pelbagai jangka masa. Idea utama adalah untuk menggunakan penunjuk CCI untuk menilai arah trend jangka pendek sambil menggabungkan penunjuk Supertrend untuk menentukan arah trend jangka sederhana hingga panjang. Isyarat perdagangan dihasilkan apabila trend jangka pendek dan jangka sederhana hingga panjang sejajar.
Indikator CCI boleh mengenal pasti senario overbought dan oversold. Penyambungan ke atas garis 0 adalah isyarat bullish manakala yang ke bawah adalah isyarat bearish. Strategi ini menggunakan ciri ini untuk menentukan arah trend jangka pendek.
cci_period = input(28, "CCI Period")
cci = cci(source, cci_period)
ML = input(0, "CCI Mid Line pivot")
Kod di atas menentukan tempoh CCI dan kedudukan pertengahan baris.
TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up
TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn
Kod ini memeriksa jika cci melintasi di atas / di bawah garis 0 untuk mengemas kini band atas / bawah Supertrend.
Indikator Supertrend menggabungkan ATR dengan harga untuk menentukan trend jangka menengah hingga panjang. Penembusan ke atas jalur atas menandakan trend menaik manakala yang ke bawah menandakan trend menurun.
Supertrend dikira sebagai:
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
Di mana faktor dan Pd adalah parameter yang boleh diselaraskan.
Peralihan Trend menentukan arah Supertrend semasa:
Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)
Dengan mengintegrasikan CCI dan Supertrend, strategi ini merealisasikan penilaian trend pelbagai jangka masa. CCI menangkap perubahan jangka pendek sementara Supertrend memberi tumpuan kepada pergerakan yang lebih besar.
Apabila arah bersetuju, isyarat perdagangan yang lebih boleh dipercayai dihasilkan.
isLong = st_trend == 1
isShort = st_trend == -1
Masuk apabila jangka pendek dan sederhana sejajar, keluar apabila arah tidak bersetuju.
Mengintegrasikan penunjuk jangka pendek dan jangka menengah untuk isyarat yang lebih boleh dipercayai.
Faktor Supertrend dan Tempoh CCI boleh diselaraskan dengan keadaan pasaran.
Logik yang mudah dan mudah difahami, bagus untuk pemula.
Boleh digunakan untuk saham, forex, crypto dengan penyesuaian parameter.
Banyak isyarat palsu boleh berlaku apabila harga turun naik secara ganas.
Supertrend mempunyai beberapa ketinggalan. Gabungkan penunjuk momentum untuk mengesan trend yang semakin pesat.
Tambah stop loss berdasarkan ATR untuk kawalan risiko.
Sesuaikan parameter untuk pasaran yang berbeza.
Gabungkan dengan MACD, KDJ dan lain-lain untuk menangkap pergerakan momentum yang kuat.
Menggunakan AI dan kaedah ensemble untuk mengoptimumkan parameter dan peraturan.
Strategi ini berjaya menggabungkan Supertrend dan CCI untuk pengesanan trend pelbagai jangka masa. Logik mudah, potensi ganjaran yang baik dan penyesuaian. Boleh bertambah baik melalui penyesuaian parameter, stop loss, dan pembelajaran mesin untuk menjadi sistem perdagangan yang kukuh.
/*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 )