
Chiến lược này là một hệ thống giao dịch phân tích kỹ thuật đa chiều kết hợp các chỉ báo động lượng (RSI, MACD), các chỉ báo xu hướng (EMA), các chỉ báo biến động (Bollinger Bands, ATR) và các chỉ báo cấu trúc giá (Fibonacci retracements). Sự hợp tác phối hợp của các chỉ báo đa chiều tín hiệu để nắm bắt cơ hội thị trường. Thiết kế chiến lược dựa trên khoảng thời gian 15 phút và sử dụng lệnh dừng lỗ và chốt lời động ATR, với khả năng kiểm soát rủi ro mạnh mẽ.
Logic cốt lõi của chiến lược bao gồm các khía cạnh sau:
Giao dịch chỉ được thực hiện sau khi nhiều tín hiệu chiều được kích hoạt cùng nhau, giúp cải thiện độ chính xác của giao dịch.
Chiến lược này xây dựng một hệ thống giao dịch mạnh mẽ thông qua sự hợp tác phối hợp của các chỉ báo kỹ thuật đa chiều. Ưu điểm cốt lõi của nó nằm ở khả năng xác thực chéo tín hiệu và kiểm soát rủi ro động, nhưng cũng cần chú ý đến các vấn đề về tối ưu hóa tham số và khả năng thích ứng với môi trường thị trường. Các hướng tối ưu hóa tiếp theo sẽ chủ yếu tập trung vào việc điều chỉnh tham số động và cải thiện chất lượng tín hiệu.
/*backtest
start: 2024-12-10 00:00:00
end: 2025-01-08 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("Optimized Advanced Strategy", overlay=true)
// Bollinger Bandı
length = input(20, title="Bollinger Band Length")
src = close
mult = input.float(2.0, title="Bollinger Band Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// RSI
rsi = ta.rsi(close, 14)
// MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// EMA
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)
// ATR
atr = ta.atr(14)
// Fibonacci Seviyeleri
lookback = input(100, title="Fibonacci Lookback Period")
highPrice = ta.highest(high, lookback)
lowPrice = ta.lowest(low, lookback)
fiboLevel618 = lowPrice + (highPrice - lowPrice) * 0.618
fiboLevel382 = lowPrice + (highPrice - lowPrice) * 0.382
fiboLevel786 = lowPrice + (highPrice - lowPrice) * 0.786
// Kullanıcı Ayarlı Stop-Loss ve Take-Profit
stopLossATR = atr * 1.5
takeProfitATR = atr * 3
// İşlem Koşulları
longCondition = (rsi < 55) and (macdLine > signalLine) and (emaFast > emaSlow) and (close >= fiboLevel382 and close <= fiboLevel618)
shortCondition = (rsi > 45) and (macdLine < signalLine) and (emaFast < emaSlow) and (close >= fiboLevel618 and close <= fiboLevel786)
// İşlem Girişleri
if (longCondition)
strategy.entry("Long", strategy.long, stop=close - stopLossATR, limit=close + takeProfitATR, comment="LONG SIGNAL")
if (shortCondition)
strategy.entry("Short", strategy.short, stop=close + stopLossATR, limit=close - takeProfitATR, comment="SHORT SIGNAL")
// Bollinger Bandını Çizdir
plot(upper, color=color.red, title="Bollinger Upper Band")
plot(basis, color=color.blue, title="Bollinger Basis")
plot(lower, color=color.green, title="Bollinger Lower Band")
// Fibonacci Seviyelerini Çizdir
// line.new(x1=bar_index[1], y1=fiboLevel382, x2=bar_index, y2=fiboLevel382, color=color.blue, width=1, style=line.style_dotted)
// line.new(x1=bar_index[1], y1=fiboLevel618, x2=bar_index, y2=fiboLevel618, color=color.orange, width=1, style=line.style_dotted)
// line.new(x1=bar_index[1], y1=fiboLevel786, x2=bar_index, y2=fiboLevel786, color=color.purple, width=1, style=line.style_dotted)
// Göstergeleri Görselleştir
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="MACD Signal Line")
plot(emaFast, color=color.green, title="EMA Fast (9)")
plot(emaSlow, color=color.red, title="EMA Slow (21)")
// İşlem İşaretleri
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Short Entry")