
Chiến lược này là một hệ thống giao dịch phức tạp kết hợp nhiều chỉ số kỹ thuật để nắm bắt xu hướng thị trường và giao dịch vào thời điểm tối ưu. Nó chủ yếu sử dụng các khái niệm như chỉ số tương đối yếu (RSI), trung bình di chuyển đơn giản (SMA), mức thu hồi Fibonacci và giao dịch vàng và giao dịch chết. Chiến lược này hoạt động theo chu kỳ 15 phút với số tiền khởi đầu 1000 đô la và quy mô giao dịch với số tiền cố định.
Lập luận cốt lõi của chiến lược bao gồm các thành phần quan trọng sau:
Chiến lược giao dịch định lượng này theo dõi xu hướng Fibonacci RSI vàng nhiều chu kỳ và cho thấy cách kết hợp một số công cụ phân tích kỹ thuật cổ điển để tạo ra một hệ thống giao dịch phức tạp và toàn diện. Bằng cách kết hợp các chỉ số như RSI, đường trung bình di chuyển và Fibonacci retraction, chiến lược này nhằm mục đích nắm bắt xu hướng thị trường mạnh mẽ, đồng thời sử dụng mức giao dịch quá mức để quản lý rủi ro.
Mặc dù chiến lược này có lợi thế trong việc phân tích thị trường từ nhiều góc độ, nhưng vẫn có một số rủi ro tiềm ẩn, chẳng hạn như khả năng phá vỡ tín hiệu sai và giao dịch quá mức. Để nâng cao hơn nữa hiệu suất và sự ổn định của chiến lược, bạn có thể xem xét các hướng tối ưu hóa như phân tích chu kỳ nhiều thời gian, điều chỉnh tham số động, xác nhận khối lượng giao dịch.
Nhìn chung, chiến lược này cung cấp một điểm khởi đầu tốt cho các nhà giao dịch định lượng, thể hiện cách kết hợp các chỉ số kỹ thuật khác nhau thành một hệ thống giao dịch liên kết. Với sự tối ưu hóa và phản hồi liên tục, chiến lược này có tiềm năng trở thành một công cụ theo dõi xu hướng mạnh mẽ, phù hợp với nhiều điều kiện thị trường.
/*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")