Strategi ini adalah sistem perdagangan momentum yang menggabungkan pelbagai penunjuk teknikal sambil mengintegrasikan mekanisme mengambil keuntungan dan menghentikan kerugian yang fleksibel. Strategi ini terutamanya menggunakan isyarat silang dari tiga penunjuk teknikal yang popular - RSI, EMA, dan MACD - untuk menilai trend pasaran dan momentum untuk membuat keputusan perdagangan. Ia juga menggabungkan tahap mengambil keuntungan dan menghentikan kerugian berasaskan peratusan, serta konsep nisbah risiko-balasan untuk mengoptimumkan pengurusan wang dan kawalan risiko.
Prinsip utama strategi ini adalah untuk mengenal pasti peluang perdagangan yang berpotensi melalui kesan sinergi pelbagai penunjuk.
Strategi ini mencetuskan isyarat perdagangan apabila penunjuk ini secara serentak memenuhi syarat tertentu. Sebagai contoh, isyarat panjang dihasilkan apabila EMA jangka pendek melintasi di atas EMA jangka panjang, RSI berada di bawah tahap overbought, dan histogram MACD berada di atas garis isyarat. Syarat bertentangan mencetuskan isyarat pendek.
Di samping itu, strategi ini menggabungkan mekanisme mengambil keuntungan dan menghentikan kerugian berasaskan peratusan, yang membolehkan peniaga menetapkan sasaran keuntungan yang sesuai dan tahap menghentikan kerugian berdasarkan keutamaan risiko mereka. Pengenalan nisbah risiko-balasan lebih mengoptimumkan strategi pengurusan wang.
Strategi perdagangan momentum silang pelbagai penunjuk ini menyediakan peniaga dengan sistem perdagangan yang komprehensif dengan mengintegrasikan penunjuk teknikal RSI, EMA, dan MACD dengan mekanisme mengambil keuntungan dan menghentikan kerugian yang fleksibel. Kekuatan strategi terletak pada kemampuannya untuk menganalisis pasaran dari pelbagai sudut dan kaedah pengurusan risiko yang fleksibel. Walau bagaimanapun, seperti semua strategi perdagangan, ia menghadapi risiko seperti overtrading dan sensitiviti parameter. Dengan memperkenalkan arah pengoptimuman seperti penapisan turun naik, kehilangan berhenti dinamik, dan pembelajaran mesin, strategi ini mempunyai potensi untuk meningkatkan prestasi dalam pelbagai persekitaran pasaran. Apabila menggunakan strategi ini, peniaga perlu menyesuaikan parameter dengan teliti dan menggabungkan analisis pasaran dengan prinsip pengurusan risiko untuk mencapai hasil perdagangan yang optimum.
/*backtest start: 2019-12-23 08:00:00 end: 2024-10-12 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Crypto Futures Day Trading with Profit/Limit/Loss", overlay=true, margin_long=100, margin_short=100) // Parameters for the strategy rsiPeriod = input.int(14, title="RSI Period") rsiOverbought = input.int(70, title="RSI Overbought Level") rsiOversold = input.int(30, title="RSI Oversold Level") emaShortPeriod = input.int(9, title="Short EMA Period") emaLongPeriod = input.int(21, title="Long EMA Period") macdFastLength = input.int(12, title="MACD Fast Length") macdSlowLength = input.int(26, title="MACD Slow Length") macdSignalSmoothing = input.int(9, title="MACD Signal Smoothing") // Parameters for Take Profit, Stop Loss, and Limit takeProfitPercent = input.float(3, title="Take Profit %", step=0.1) // 3% by default stopLossPercent = input.float(1, title="Stop Loss %", step=0.1) // 1% by default limitRiskRewardRatio = input.float(2, title="Risk/Reward Ratio", step=0.1) // Example: 2:1 ratio // Calculate RSI rsi = ta.rsi(close, rsiPeriod) // Calculate EMA (Exponential Moving Average) emaShort = ta.ema(close, emaShortPeriod) emaLong = ta.ema(close, emaLongPeriod) // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) // Calculate take profit and stop loss levels takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent / 100) stopLossLong = strategy.position_avg_price * (1 - stopLossPercent / 100) takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent / 100) stopLossShort = strategy.position_avg_price * (1 + stopLossPercent / 100) // Entry conditions for long position longCondition = ta.crossover(emaShort, emaLong) and rsi < rsiOverbought and macdLine > signalLine if (longCondition) strategy.entry("Long", strategy.long) // Exit conditions for long position based on stop loss and take profit strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", limit=takeProfitLong, stop=stopLossLong) // Entry conditions for short position shortCondition = ta.crossunder(emaShort, emaLong) and rsi > rsiOversold and macdLine < signalLine if (shortCondition) strategy.entry("Short", strategy.short) // Exit conditions for short position based on stop loss and take profit strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", limit=takeProfitShort, stop=stopLossShort) // Plot EMA lines on the chart plot(emaShort, color=color.blue, title="Short EMA (9)") plot(emaLong, color=color.red, title="Long EMA (21)") // Plot MACD and signal lines in a separate window plot(macdLine, color=color.green, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI")