
Chiến lược này là một hệ thống giao dịch hỗn hợp kết hợp nhiều chỉ số phân tích kỹ thuật. Nó dựa chủ yếu vào hệ thống đường trung bình (EMA) để đánh giá xu hướng thị trường, đồng thời kết hợp mức kháng cự hỗ trợ (SR) làm tín hiệu đầu vào và sử dụng độ dao động thực tế (ATR) để kiểm soát rủi ro. Chiến lược này sử dụng thiết lập dừng lỗ động, có thể điều chỉnh vị trí dừng lỗ tùy theo biến động của thị trường.
Chiến lược này hoạt động dựa trên các thành phần cốt lõi sau:
Tối ưu hóa lọc tín hiệu
Tối ưu hóa quản lý vị trí
Tối ưu hóa Stop Loss
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh bằng cách kết hợp nhiều phương pháp phân tích kỹ thuật đã được chứng minh. Ưu điểm cốt lõi của nó là khả năng thích ứng và kiểm soát rủi ro của hệ thống. Bằng cách liên tục tối ưu hóa và hoàn thiện, chiến lược có thể duy trì hiệu suất ổn định trong các môi trường thị trường khác nhau.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Multi-Strategy Trader v1 by SUNNY GUHA +91 9836021040 / www.oiesu.com", overlay=true)
// Basic Inputs
supResLookback = input.int(9, "Support/Resistance Lookback")
atrPeriod = input.int(14, "ATR Period")
stopMultiplier = input.float(10.0, "Stop Loss ATR Multiplier")
// Technical Indicators
atr = ta.atr(atrPeriod)
highestHigh = ta.highest(high, supResLookback)
lowestLow = ta.lowest(low, supResLookback)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
// Basic Strategy Rules
isTrending = math.abs(ema20 - ema50) > atr
longSignal = close > highestHigh[1] or (isTrending and ema20 > ema50 and close > ema20)
shortSignal = close < lowestLow[1] or (isTrending and ema20 < ema50 and close < ema20)
// Entry Logic
if longSignal and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
if shortSignal and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
// Stop Loss Logic
longStopPrice = close - (atr * stopMultiplier)
shortStopPrice = close + (atr * stopMultiplier)
// Exit Logic
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop=longStopPrice)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short", stop=shortStopPrice)
// Basic Plotting
plot(ema20, "EMA 20", color.blue)
plot(ema50, "EMA 50", color.red)