Strategi ini mengintegrasikan tiga penunjuk Bollinger Bands, Indeks Kekuatan Relatif (RSI) dan Exponential Moving Average (EMA) untuk melaksanakan strategi perdagangan automatik dengan tempoh penahan yang panjang untuk saham. Ia menghasilkan isyarat beli apabila RSI berada di bawah garis oversold dan harga berhampiran atau menyentuh rel bawah Bollinger Bands, dan menghasilkan isyarat jual apabila harga naik untuk menyentuh rel atas Bollinger Bands, menggunakan Bollinger Bands untuk menentukan trend pasaran dan status overbought / oversold untuk pengesahan berganda.
RSI adalah satu daripada penunjuk penting untuk menilai sama ada saham terlalu banyak dibeli atau terlalu banyak dijual. RSI di bawah 30 menunjukkan status oversold dan RSI di atas 70 menunjukkan status overbought. EMA adalah purata bergerak bertimbang eksponen harga dan boleh menentukan trend harga.
Isyarat beli untuk strategi ini dihasilkan apabila RSI berada di bawah garis oversold 30, dan pada masa yang sama harga telah mendekati atau menyentuh rel bawah Bollinger Bands dalam keadaan oversold. Ini mengelakkan isyarat palsu.
Isyarat jual dihasilkan apabila harga menyentuh rel atas Bollinger Bands semasa aliran naik. Ini menggunakan Bollinger Bands untuk menentukan status overbought dan menjual untuk mengambil keuntungan.
Penyelesaian:
Strategi ini boleh dioptimumkan lagi dalam aspek berikut:
Strategi ini mengintegrasikan Bollinger Bands, RSI dan EMA untuk strategi perdagangan automatik memegang lama dengan penapis pengesahan berganda. Pengesahan berganda untuk status overbought / oversold mengelakkan isyarat palsu dengan berkesan, dan menggunakan EMA untuk penentuan trend menghalang perdagangan terhadap trend. Sementara itu, tetapan parameter yang fleksibel menjadikannya dapat disesuaikan dengan saham yang berbeza. Penambahbaikan lanjut dalam aspek mekanisme stop loss dan keluar dapat meningkatkan kecekapan dan pengurusan risiko strategi. Strategi ini menyediakan kerangka rujukan yang berharga untuk pemula dan mempunyai kepentingan praktikal.
/*backtest start: 2023-12-21 00:00:00 end: 2023-12-28 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by ChartArt) v1.3", shorttitle="rsi 30 min ADJ Buy", overlay=true) ///////////// RSI RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length RSIoverSold = input(30, title="RSI Oversold Level") // Adjustable RSI oversold level RSIoverBought = input(80, title="RSI Overbought Level") // Adjustable RSI overbought level price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(231, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length BBmult = 2 BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev ///////////// EMA useEMA = input(true, title="Use EMA?") emaLength = input(20, title="EMA Period Length") ema = useEMA ? ema(close, emaLength) : na source = close buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band sellEntry = crossunder(source, BBupper) ///////////// Plotting plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line") plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line") plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line") plot(ema, color=color.orange, title="EMA") // Plot EMA ///////////// RSI + Bollinger Bands Strategy long = crossover(vrsi, RSIoverSold) and buyEntry close_long = close >= BBupper if (not na(vrsi)) if long strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy") else strategy.cancel(id="Buy") if close_long strategy.close("Buy")