
Strategi ini adalah sistem perdagangan intraday yang menggabungkan beberapa indikator teknis, terutama menggunakan crossover rata-rata, RSI overbought dan oversold, konfirmasi volume, Bollinger Bands, dan grafik pivot untuk menentukan kapan masuk ke pasar. Ini juga berisi setelan stop loss dan persentase risiko keuntungan yang tetap 1: 2 untuk manajemen risiko dan pengoptimalan keuntungan.
Strategi ini didasarkan pada prinsip-prinsip inti berikut:
Garis rata-rata persilangan: menggunakan persilangan rata-rata bergerak indeks cepat ((9 siklus) dan lambat ((21 siklus)) (EMA) untuk mengidentifikasi perubahan tren potensial.
RSI Filter: Untuk mengkonfirmasi kekuatan tren dengan memeriksa apakah indeks relatif kuat (RSI) berada di posisi overbought (<70) atau oversold (<30).
Konfirmasi volume transaksi: Meminta volume transaksi melebihi batas minimum yang ditetapkan untuk memastikan keterlibatan pasar yang memadai.
Bollinger Bands: menggunakan Bollinger Bands untuk mengidentifikasi volatilitas harga dan potensi support/resistance.
Bagan bullish: kombinasi dari bullish dan bearish yang menelan bentuk untuk meningkatkan keandalan sinyal masuk.
Pengelolaan risiko: Menggunakan rasio keuntungan risiko 1: 2 yang tetap dan pengaturan stop loss berdasarkan persentase.
Sinyal perdagangan dipicu ketika kondisi di atas terpenuhi dan harga berada di bawah garis tengah pita Brin (multihead) atau di atas (blank head).
Multiple confirmation: Kombinasi dari beberapa indikator teknis dan format grafik, meningkatkan keandalan sinyal perdagangan.
Manajemen risiko yang dinamis: Beradaptasi dengan kondisi pasar yang berbeda dengan menghitung stop loss dan target harga secara real time.
Trend tracking dan reversal: Mengidentifikasi peluang potensial untuk reversal.
Adaptasi volatilitas: menggunakan Brin untuk menyesuaikan sensitivitas terhadap fluktuasi pasar.
Fleksibilitas: memungkinkan pengguna untuk menyesuaikan parameter sesuai dengan preferensi pribadi dan karakteristik pasar.
Terlalu banyak perdagangan: Terlalu banyak sinyal perdagangan dapat terjadi di pasar yang sangat berfluktuasi, sehingga meningkatkan biaya perdagangan.
Penembusan palsu: Dalam pasar horizontal, sinyal penembusan palsu mungkin sering terjadi.
Risiko slippage: Dalam pasar yang bergerak cepat, harga eksekusi yang sebenarnya mungkin berbeda secara signifikan dari harga pemicu sinyal.
Sensitivitas Parameter: Kinerja strategi mungkin sangat sensitif terhadap pengaturan parameter, yang perlu dioptimalkan dengan hati-hati dan diukur kembali.
Penyesuaian parameter dinamis: pertimbangkan untuk menyesuaikan siklus EMA dan RSI secara otomatis sesuai dengan volatilitas pasar.
Menambahkan filter kekuatan tren: memperkenalkan indikator seperti ADX untuk menilai kekuatan tren dan menghindari perdagangan dalam tren yang lemah.
Filter waktu: Tambahkan filter waktu untuk menghindari perdagangan pada periode yang kurang volatile.
Peningkatan mekanisme stop loss: pertimbangkan untuk menggunakan tracking stop loss atau stop loss dinamis berbasis ATR untuk mengelola risiko dengan lebih baik.
Meningkatkan penguncian keuntungan: Pertimbangkan untuk mengunci sebagian keuntungan dan memindahkan stop loss saat mencapai bagian dari target harga.
Strategi perdagangan intraday ini menyediakan sistem perdagangan yang komprehensif dengan menggabungkan beberapa indikator teknis dan teknologi manajemen risiko. Keunggulannya adalah pengesahan ganda dan manajemen risiko dinamis, tetapi juga menghadapi tantangan overtrading dan sensitivitas parameter. Dengan pengoptimalan lebih lanjut, seperti mekanisme stop loss yang disesuaikan dan ditingkatkan dengan parameter dinamis, strategi ini berpotensi menjadi sistem perdagangan yang lebih stabil dan beradaptasi. Namun, pengujian ulang yang luas dan pengoptimalan parameter yang cermat masih diperlukan sebelum diterapkan dalam perdagangan langsung.
/*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("Intraday Strategy with Risk-Reward 1:2, Bollinger Bands, and Stop Loss", overlay=true)
// Parameters
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
rsiLength = input(14, title="RSI Length")
overbought = input(70, title="RSI Overbought Level")
oversold = input(30, title="RSI Oversold Level")
minVolume = input(100000, title="Min Volume for Confirmation")
bbLength = input(20, title="Bollinger Bands Length")
bbStdDev = input.float(2.0, title="Bollinger Bands Standard Deviation")
stopLossPercent = input.float(1, title="Stop Loss (%)", minval=0.1) // Stop Loss %
riskRewardRatio = 2.0 // Fixed risk-reward ratio 1:2
// Indicators
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
rsi = ta.rsi(close, rsiLength)
volumeCondition = volume > minVolume
// Bollinger Bands
bbBasis = ta.sma(close, bbLength) // Basis (middle line) is the SMA
bbUpper = bbBasis + bbStdDev * ta.stdev(close, bbLength) // Upper band
bbLower = bbBasis - bbStdDev * ta.stdev(close, bbLength) // Lower band
// Bullish Engulfing Pattern
bullishEngulfing = close > open and close[1] < open[1] and close > open[1]
// Bearish Engulfing Pattern
bearishEngulfing = close < open and close[1] > open[1] and close < open[1]
// Entry Conditions
bullishCrossover = ta.crossover(fastEMA, slowEMA) and rsi < oversold and volumeCondition
bearishCrossover = ta.crossunder(fastEMA, slowEMA) and rsi > overbought and volumeCondition
// Signal Conditions
longCondition = (bullishCrossover or bullishEngulfing) and close < bbBasis // Buy below Bollinger Bands middle line
shortCondition = (bearishCrossover or bearishEngulfing) and close > bbBasis // Sell above Bollinger Bands middle line
// Stop Loss and Target Calculation for Long and Short Positions
stopLossLong = close * (1 - stopLossPercent / 100) // Stop loss for long positions
targetLong = close + (close - stopLossLong) * riskRewardRatio // Target for long positions (1:2 ratio)
stopLossShort = close * (1 + stopLossPercent / 100) // Stop loss for short positions
targetShort = close - (stopLossShort - close) * riskRewardRatio // Target for short positions (1:2 ratio)
// Strategy Execution with Stop Loss and Target
if (longCondition)
strategy.entry("Long", strategy.long, stop=stopLossLong, limit=targetLong)
if (shortCondition)
strategy.entry("Short", strategy.short, stop=stopLossShort, limit=targetShort)
// Plot Moving Averages for Visualization
plot(fastEMA, color=color.blue, linewidth=1, title="Fast EMA")
plot(slowEMA, color=color.red, linewidth=1, title="Slow EMA")
// Plot Bollinger Bands with Color Fill
plot(bbUpper, "BB Upper", color=color.gray, linewidth=1)
plot(bbLower, "BB Lower", color=color.gray, linewidth=1)
plot(bbBasis, "BB Basis", color=color.gray, linewidth=1)
fill(plot(bbUpper), plot(bbLower), color=color.new(color.blue, 90), title="Bollinger Bands Area")
// Plot Risk-Reward Levels
plot(longCondition ? targetLong : na, color=color.green, linewidth=2, title="Long Target (1:2)", style=plot.style_circles)
plot(shortCondition ? targetShort : na, color=color.red, linewidth=2, title="Short Target (1:2)", style=plot.style_circles)
plot(longCondition ? stopLossLong : na, color=color.red, linewidth=2, title="Long Stop Loss", style=plot.style_cross)
plot(shortCondition ? stopLossShort : na, color=color.green, linewidth=2, title="Short Stop Loss", style=plot.style_cross)
// Plot Buy and Sell Signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal", text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal", text="SELL")
// Clean Background Color for Trades
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Background Long", transp=90)
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Background Short", transp=90)