
Chiến lược giao dịch định lượng theo xu hướng chỉ số đa khối là một phương pháp giao dịch định lượng phức hợp kết hợp chỉ số trung bình di chuyển (EMA), chỉ số tương đối mạnh (RSI) và chỉ số phân tán kết hợp trung bình di chuyển (MACD). Chiến lược này nhằm nâng cao độ chính xác và độ tin cậy của tín hiệu giao dịch bằng cách tích hợp nhiều chỉ số kỹ thuật, đặc biệt phù hợp với giao dịch đường ngắn và đường trung trong thị trường có biến động cao.
Các nguyên tắc cốt lõi của chiến lược này là xác thực kết hợp của nhiều chỉ số:
Quy tắc tạo tín hiệu giao dịch cụ thể:
Chiến lược giao dịch định lượng theo dõi xu hướng của nhiều chỉ số động lực bằng cách tích hợp ba chỉ số kỹ thuật quan trọng là EMA, RSI và MACD để xây dựng một hệ thống tạo tín hiệu giao dịch tương đối mạnh mẽ. Chiến lược này vẫn đủ linh hoạt và có khả năng kiểm soát rủi ro mạnh mẽ, cung cấp cho các nhà giao dịch định lượng một chương trình giao dịch đáng để nghiên cứu sâu.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-01 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("EMA + RSI + MACD Strategy", overlay=true)
// Input for EMA Lengths
emaFastLength = input(9, title="Fast EMA Length")
emaSlowLength = input(21, title="Slow EMA Length")
// RSI Settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
// MACD Settings
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Calculate EMAs
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Plot EMAs
plot(emaFast, title="Fast EMA", color=color.blue, linewidth=1)
plot(emaSlow, title="Slow EMA", color=color.red, linewidth=1)
// Buy and Sell Conditions
bullishCrossover = ta.crossover(emaFast, emaSlow) and rsi > 50 and macdLine > signalLine
bearishCrossover = ta.crossunder(emaFast, emaSlow) and rsi < 50 and macdLine < signalLine
// Plot Buy and Sell Signals
plotshape(series=bullishCrossover, title="BuySignal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="BUY")
plotshape(series=bearishCrossover, title="SellSignal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="SELL")
// Strategy Execution
if bullishCrossover
strategy.entry("Buy", strategy.long)
if bearishCrossover
strategy.close("Buy")
strategy.entry("Sell", strategy.short)