Strategi ini menggabungkan Purata Bergerak Sederhana (SMA), Julat Benar Purata (ATR), Indeks Saluran Komoditi (CCI) dan Bollinger Bands untuk mengenal pasti trend harga jangka pendek dan sederhana dan memberikan sokongan untuk keputusan perdagangan.
Strategi ini menggunakan empat garis SMA dengan tempoh yang berbeza untuk mengenali arah trend harga, termasuk garis 5 hari, 10 hari, 50 hari dan 200 hari. ATR digunakan untuk mengukur turun naik pasaran dan menetapkan titik stop-loss. CCI digunakan untuk mengenal pasti keadaan overbought dan oversold. Rel atas dan bawah Bollinger Bands boleh berfungsi sebagai tahap sokongan / rintangan.
Pergi panjang apabila SMA jangka pendek (garis 5 hari dan 10 hari) melintasi di atas SMA jangka panjang (garis 50 hari dan 200 hari). Pergi pendek apabila SMA jangka pendek melintasi di bawah SMA jangka panjang. Jual apabila CCI lebih besar daripada 100; Beli apabila CCI kurang daripada -100. Tetapkan stop loss berdasarkan nilai ATR.
Dengan menggabungkan pertimbangan trend garis purata bergerak dan pertimbangan overbought / oversold CCI, strategi ini dapat dengan berkesan merebut peluang pasaran. Ia berfungsi dengan baik untuk perdagangan jangka sederhana dan pendek. Di samping itu, kawalan risiko agak saintifik, yang dapat memaksimumkan mengelakkan kerugian.
Strategi ini agak konservatif dan cenderung untuk terlepas isyarat perdagangan. Apabila terdapat pasaran yang terikat julat atau pembalikan trend, pengambilan keuntungan mungkin dicetuskan lebih awal. Di samping itu, tetapan parameter yang tidak betul juga boleh mempengaruhi prestasi.
Cuba untuk mengoptimumkan parameter SMA untuk menjadikannya lebih dekat dengan keadaan pasaran semasa. Penyimpangan standard Bollinger Band juga boleh diselaraskan untuk prestasi yang lebih baik sebagai tahap sokongan / rintangan. Di samping itu, pertimbangkan untuk menambah penunjuk lain untuk membantu penghakiman, seperti KDJ, MACD dll. Ini boleh meningkatkan kadar kemenangan strategi.
Mengintegrasikan pelbagai alat analisis untuk menilai pasaran, strategi ini boleh menghasilkan pulangan pelaburan yang memuaskan apabila parameter ditetapkan dengan betul. Peraturan stop loss juga menjadikan risiko terkawal.
/*backtest start: 2023-02-23 00:00:00 end: 2024-02-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © maizirul959 //@version=4 strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true) //Input Data _ema_len1 = input(5, title="EMA1 length") _ema_len2 = input(20, title="EMA2 length") _macd_fast = input(12, title="MACD Fast") _macd_slow = input(26, title="MACD Slow") _macd_signal_len = input(20, title="MACD Signal length") //MAM add SMA _sma_len1 = input(5, title="SMA1 Length") _sma_len2 = input(10, title="SMA2 Length") _sma_len3 = input(50, title="SMA3 Length") _sma_len4 = input(200, title="SMA4 Length") lineWidth = input(1, minval=1, title="Line width") src = input(close, title="Source") SMA1 = if _sma_len1 != 0 sma(src, _sma_len1) SMA2 = if _sma_len2 != 0 sma(src, _sma_len2) SMA3 = if _sma_len3 != 0 sma(src, _sma_len3) SMA4 = if _sma_len4 != 0 sma(src, _sma_len4) //__________________________________________________________________________ _rsi_len = input(14, title="RSI length") _rsi_signal_len = input(20, title="RSI signal length") //_________________________________________________________________________ //MAM Add PSAR PSAR_start = input(0.02) PSAR_increment = input(0.02) PSAR_maximum = input(0.2) psar = sar(PSAR_start, PSAR_increment, PSAR_maximum) //_________________________________________________________________________ _ema1 = ema(close, _ema_len1) _ema2 = ema(close, _ema_len2) //_________________________________________________________________________ //MAM add SMA //_sma1 = ema(close, _sma_len1) //_sma2 = ema(close, _sma_len2) //_________________________________________________________________________ _macd = ema(close, _macd_fast) - ema(close, _macd_slow) _macd_signal = ema(_macd, _macd_signal_len) _rsi = rsi(close, _rsi_len) _rsi_signal = ema(_rsi, _rsi_signal_len) //PLOT SMA plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth) plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth) plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth) plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth) //PLOT PSAR plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8) //plot(_rsi, color=color.yellow) //plot(_rsi_signal, color=color.green) //plot(_macd, color=color.blue) //plot(_macd_signal, color=color.red) longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal if (longCondition) strategy.entry("Buy",strategy.long) shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal if (shortCondition) strategy.entry("Sell",strategy.short)