
Strategi ini adalah sistem perdagangan momentum yang menggabungkan beberapa indikator teknis, sekaligus mengintegrasikan mekanisme stop-loss yang fleksibel. Strategi ini terutama menggunakan sinyal silang dari tiga indikator teknis yang umum digunakan, yaitu RSI, EMA, dan MACD, untuk menilai tren dan dinamika pasar, dan membuat keputusan perdagangan berdasarkan itu.
Prinsip inti dari strategi ini adalah untuk mengidentifikasi peluang perdagangan potensial melalui sinergi dari beberapa indikator.
Strategi memicu sinyal perdagangan ketika indikator-indikator ini memenuhi kondisi tertentu secara bersamaan. Misalnya, sinyal multitasking dihasilkan ketika EMA jangka pendek melewati EMA jangka panjang, RSI di bawah level overbought dan MACD di atas garis sinyal. Kondisi sebaliknya memicu sinyal shorting.
Selain itu, strategi ini juga menginkorporasikan mekanisme stop loss persentase, yang memungkinkan pedagang untuk mengatur stop loss dan stop loss yang sesuai sesuai dengan preferensi risiko mereka sendiri. Pengenalan rasio risiko / keuntungan lebih mengoptimalkan strategi manajemen dana.
Strategi perdagangan lintas-indikator ini memberikan pedagang sistem perdagangan yang komprehensif dengan memanfaatkan indikator teknis seperti RSI, EMA, dan MACD secara komprehensif, digabungkan dengan mekanisme stop-loss yang fleksibel. Keunggulan strategi ini adalah kemampuan untuk menganalisis pasar dari berbagai sudut dan metode manajemen risiko yang fleksibel. Namun, seperti semua strategi perdagangan, strategi ini juga menghadapi risiko seperti over-trading dan sensitivitas parameter.
/*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")