
Strategi ini adalah sistem perdagangan yang rumit yang menggabungkan beberapa petunjuk teknikal yang bertujuan untuk menangkap trend pasaran dan berdagang pada masa yang optimum. Ia menggunakan konsep seperti indeks relatif lemah (RSI), purata bergerak sederhana (SMA), tahap penarikan Fibonacci, dan persilangan emas dan persilangan mati.
Logik teras strategi ini merangkumi beberapa komponen utama:
Strategi perdagangan kuantitatif yang mengesan trend Fibonacci RSI Gold Crossover Multi-Cycle ini menunjukkan bagaimana menggabungkan beberapa alat analisis teknikal klasik untuk membuat satu sistem perdagangan yang kompleks dan menyeluruh. Strategi ini bertujuan untuk menangkap trend pasaran yang kuat dengan menggabungkan RSI, pergerakan rata-rata crossover dan Fibonacci retracement, dan menggunakan tahap overbought dan oversold untuk menguruskan risiko.
Walaupun strategi ini mempunyai kelebihan menganalisis pasaran dari pelbagai sudut, masih terdapat beberapa risiko yang berpotensi, seperti isyarat pecah palsu dan kemungkinan perdagangan berlebihan. Untuk meningkatkan lagi prestasi dan kestabilan strategi, anda boleh mempertimbangkan untuk memperkenalkan analisis kitaran masa berbilang, penyesuaian parameter dinamik, pengesahan jumlah transaksi dan lain-lain.
Secara keseluruhannya, strategi ini memberikan titik permulaan yang baik untuk peniaga kuantitatif, menunjukkan bagaimana untuk mengintegrasikan pelbagai petunjuk teknikal ke dalam satu sistem perdagangan yang konsisten. Dengan pengoptimuman dan pengesanan berterusan, strategi ini berpotensi menjadi alat pengesanan trend yang kuat untuk pelbagai keadaan pasaran.
/*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")