
Strategi ini adalah sistem perdagangan yang kompleks yang menggabungkan beberapa indikator teknis untuk menangkap tren pasar dan melakukan perdagangan pada waktu yang optimal. Ini terutama memanfaatkan konsep seperti indeks relatif lemah (RSI), rata-rata bergerak sederhana (SMA), tingkat Fibonacci retracement, dan persilangan emas dan persilangan mati.
Logika inti dari strategi ini terdiri dari beberapa komponen utama:
Strategi perdagangan kuantitatif yang melacak tren Fibonacci RSI Gold Crossover multi-siklus ini menunjukkan bagaimana menggabungkan beberapa alat analisis teknis klasik untuk menciptakan sistem perdagangan yang kompleks dan komprehensif. Strategi ini dirancang untuk menangkap tren pasar yang kuat dengan menggabungkan indikator seperti RSI, moving average crossover, dan Fibonacci retracement, sambil memanfaatkan tingkat overbought dan oversold untuk mengelola risiko.
Meskipun strategi ini memiliki keunggulan dalam analisis pasar multi-sudut, masih ada beberapa risiko potensial, seperti kemungkinan sinyal penembusan palsu dan over-trading. Untuk meningkatkan kinerja dan stabilitas strategi lebih lanjut, dapat dipertimbangkan untuk memperkenalkan analisis siklus multi-waktu, penyesuaian parameter dinamis, dan pengesahan volume transaksi.
Secara keseluruhan, strategi ini memberikan titik awal yang baik bagi trader kuantitatif, menunjukkan bagaimana mengintegrasikan berbagai indikator teknis ke dalam sistem perdagangan yang konsisten. Dengan pengoptimalan dan pengujian terus menerus, strategi ini berpotensi menjadi alat pelacakan tren yang kuat yang berlaku untuk berbagai kondisi pasar.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("15min Fibonacci RSI Golden Cross Scalping Strategy", overlay=true)
// Indicators
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
short_ma_length = 50
long_ma_length = 200
short_ma = ta.sma(close, short_ma_length)
long_ma = ta.sma(close, long_ma_length)
// Fibonacci Retracement Levels
var float fibHigh = na
var float fibLow = na
var float fib38 = na
var float fib50 = na
var float fib61 = na
if (ta.change(ta.highest(close, 50)))
fibHigh := ta.highest(close, 50)
if (ta.change(ta.lowest(close, 50)))
fibLow := ta.lowest(close, 50)
if (not na(fibHigh) and not na(fibLow))
fib38 := fibHigh - (fibHigh - fibLow) * 0.382
fib50 := fibHigh - (fibHigh - fibLow) * 0.50
fib61 := fibHigh - (fibHigh - fibLow) * 0.618
// Plot indicators
plot(short_ma, title="50-Period SMA", color=color.blue)
plot(long_ma, title="200-Period SMA", color=color.red)
hline(70, "RSI Overbought", color=color.red)
hline(30, "RSI Oversold", color=color.green)
plot(rsi, title="RSI", color=color.blue)
// Fibonacci retracement lines
// var line fib38_line = na
// var line fib50_line = na
// var line fib61_line = na
// if (not na(fib38))
// line.delete(fib38_line)
// fib38_line := line.new(x1=bar_index[1], y1=fib38, x2=bar_index, y2=fib38, color=color.yellow, width=1)
// if (not na(fib50))
// line.delete(fib50_line)
// fib50_line := line.new(x1=bar_index[1], y1=fib50, x2=bar_index, y2=fib50, color=color.orange, width=1)
// if (not na(fib61))
// line.delete(fib61_line)
// fib61_line := line.new(x1=bar_index[1], y1=fib61, x2=bar_index, y2=fib61, color=color.green, width=1)
// Entry and Exit Conditions
goldenCross = ta.crossover(short_ma, long_ma)
deathCross = ta.crossunder(short_ma, long_ma)
longCondition = goldenCross and close > fib50 and rsi < 70
shortCondition = deathCross and close < fib50 and rsi > 30
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Close position conditions
if (strategy.position_size > 0 and rsi > 70)
strategy.close("Buy")
if (strategy.position_size < 0 and rsi < 30)
strategy.close("Sell")