
Strategi ini adalah sistem perdagangan jangka pendek yang didasarkan pada crossover dua rata-rata dan kombinasi indikator RSI. Strategi ini menggunakan rata-rata pergerakan indeks 9 periode dan 21 periode (EMA) sebagai dasar untuk menilai tren, dan menggabungkan indikator yang relatif kuat (RSI) sebagai alat pengesahan momentum untuk manajemen risiko dengan menetapkan stop loss dan stop loss yang tetap.
Logika inti dari strategi ini didasarkan pada sinergi antara dua indikator teknis. Pertama, arah tren pasar ditentukan melalui persilangan 9 siklus EMA dan 21 siklus EMA. Ketika EMA jangka pendek naik melewati EMA jangka panjang, itu dianggap sebagai tren naik. Ketika EMA jangka pendek turun melewati EMA jangka panjang, itu dianggap sebagai tren turun.
Strategi ini dengan menggabungkan crossover equity dan indikator RSI, membangun sistem perdagangan shortline yang relatif lengkap. Strategi ini memiliki keunggulan dalam kejelasan sinyal, risiko yang dapat dikendalikan, tetapi ada juga ruang untuk pengoptimalan. Dengan menambahkan mekanisme seperti stop loss dinamis, penyaringan waktu, dan lain-lain, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut. Secara keseluruhan, ini adalah strategi perdagangan yang memiliki dasar yang kuat dan logika yang jelas, yang cocok untuk kerja sama dengan kerangka dasar perdagangan shortline untuk pengoptimalan dan perbaikan 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)