Strategi ini adalah sistem perdagangan jangka pendek yang menggabungkan silang EMA berganda dengan penunjuk RSI. Ia menggunakan Purata Bergerak Eksponensial (EMA) 9 tempoh dan 21 tempoh untuk penentuan trend, bersama-sama dengan Indeks Kekuatan Relatif (RSI) untuk pengesahan momentum, melaksanakan paras stop-loss dan mengambil keuntungan tetap untuk pengurusan risiko. Strategi ini terutamanya direka untuk perdagangan jangka masa 5 minit dan sangat berkesan dalam keadaan pasaran yang tidak menentu.
Indikator RSI digunakan untuk pengesahan momentum dengan menapis perdagangan berdasarkan keadaan overbought dan oversold. Strategi ini melaksanakan stop-loss 1% dan take-profit 2%, mengekalkan nisbah risiko-balasan 1: 2.
Strategi ini menggabungkan penyambungan EMA dan penunjuk RSI untuk mewujudkan sistem perdagangan jangka pendek yang agak lengkap. Kekuatannya terletak pada isyarat yang jelas dan risiko terkawal, walaupun terdapat ruang untuk pengoptimuman. Dengan menggabungkan stop-loss dinamik, penapisan masa, dan mekanisme lain, kestabilan dan keuntungan strategi dapat ditingkatkan lagi. Secara keseluruhan, ia mewakili strategi perdagangan yang berasaskan, logik yang baik yang berfungsi sebagai asas yang sangat baik untuk perdagangan jangka pendek dan dapat disempurnakan dan dioptimumkan lebih lanjut.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("abo 3llash - EMA + RSI Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Parameters emaShortLength = input.int(9, title="Short EMA Length") emaLongLength = input.int(21, title="Long EMA Length") rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Level") rsiOversold = input.int(30, title="RSI Oversold Level") stopLossPercent = input.float(1, title="Stop Loss Percentage") / 100 takeProfitPercent = input.float(2, title="Take Profit Percentage") / 100 // Calculating EMAs and RSI emaShort = ta.ema(close, emaShortLength) emaLong = ta.ema(close, emaLongLength) rsi = ta.rsi(close, rsiLength) // Buy and Sell Conditions buyCondition = ta.crossover(emaShort, emaLong) and rsi < rsiOverbought sellCondition = ta.crossunder(emaShort, emaLong) and rsi > rsiOversold // Plotting the EMAs plot(emaShort, title="Short EMA", color=color.blue) plot(emaLong, title="Long EMA", color=color.red) // Generating buy and sell signals on the chart plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Execution if (buyCondition) strategy.entry("Buy", strategy.long) // Set Stop Loss and Take Profit for Buy stopLossLevel = close * (1 - stopLossPercent) takeProfitLevel = close * (1 + takeProfitPercent) strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=stopLossLevel, limit=takeProfitLevel) if (sellCondition) strategy.entry("Sell", strategy.short) // Set Stop Loss and Take Profit for Sell stopLossLevel = close * (1 + stopLossPercent) takeProfitLevel = close * (1 - takeProfitPercent) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=stopLossLevel, limit=takeProfitLevel)