
Chiến lược giao dịch này kết hợp nhiều chỉ số kỹ thuật như đường trung bình di chuyển (MACD), chỉ số tương đối mạnh (RSI), chỉ số di chuyển đơn giản (SMA), chỉ số ngẫu nhiên (Stochastic) và dải Bollinger (Bollinger Bands) để xác định điểm vào và thoát của thị trường. Khi chỉ số hiển thị tín hiệu đa đầu, hãy làm nhiều hơn; khi hiển thị tín hiệu trống đầu, hãy làm rỗng. Đồng thời, kiểm soát rủi ro bằng cách dừng lỗ và dừng.
Khi đường DIF của MACD đi qua đường DEA và đi vào trạng thái đa đầu; hoặc khi RSI thấp hơn 30 đi vào trạng thái bán tháo; hoặc khi đường% K và đường% D của chỉ số ngẫu nhiên cùng lúc thấp hơn 20 đi vào trạng thái bán tháo.
Ngược lại, khi MACD đi vào trạng thái không đầu dưới đường DIF đi qua đường DEA; hoặc khi RSI cao hơn 70 đi vào trạng thái quá mua; hoặc khi đường %K và đường %D của chỉ số ngẫu nhiên cao hơn 80 đi vào trạng thái quá mua.
Hạn lỗ được thiết lập dựa trên chỉ số ATR nhân với một hệ số, và Hạn lỗ được thiết lập dựa trên tỷ lệ lợi nhuận rủi ro.
Chiến lược này kết hợp nhiều chỉ số để đánh giá tình trạng thị trường, tránh khả năng đánh giá sai lệch của chỉ số duy nhất, nâng cao độ chính xác của quyết định. Đồng thời, thiết lập dừng lỗ và dừng lại hợp lý, kiểm soát hiệu quả rủi ro của một giao dịch.
Chỉ số kỹ thuật được tính toán dựa trên dữ liệu lịch sử, không thể dự đoán được giá trong tương lai, có một sự chậm trễ nhất định. Việc sử dụng nhiều chỉ số kết hợp cũng có thể xuất hiện một số tín hiệu sai. Ngoài ra, thiết lập điểm dừng không đúng cách cũng có thể dẫn đến tổn thất lớn hơn.
Đối với các vấn đề về chỉ số kỹ thuật chậm trễ, bạn có thể điều chỉnh tham số thích hợp, rút ngắn chu kỳ tính toán. Đối với tín hiệu sai, bạn có thể thêm các chỉ số phán đoán trợ giúp khác để xác nhận. Ngoài ra, điểm dừng lỗ nên được thiết lập thoải mái và hợp lý hơn.
Chiến lược này có thể được tối ưu hóa ở một số khía cạnh:
Chiến lược này kết hợp nhiều chỉ số kỹ thuật để có thể cải thiện độ chính xác của quyết định, và là một chiến lược theo dõi xu hướng đáng tin cậy bằng cách kiểm soát rủi ro bằng cách dừng lỗ. Tiếp theo, có khả năng tăng cường hiệu suất của chiến lược bằng cách đưa ra các phương pháp như thống kê và học máy.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Enhanced Moving Average Crossover sakkoulas with ATR and SAR", overlay=true)
// Παράμετροι MACD
fastLength = input.int(16, title="Fast Length")
slowLength = input.int(6, title="Slow Length")
signalSmoothing = input.int(5, title="Signal Smoothing")
// Παράμετροι RSI
rsiLength = input.int(6, title="RSI Length")
upperBound = input.int(70, title="Upper Bound")
lowerBound = input.int(30, title="Lower Bound")
// Παράμετροι SMA
smaPeriod = input.int(10, title="SMA Period")
// Παράμετροι Stochastic
stoLength = input.int(5, title="Stochastic Length")
stoSmoothK = input.int(3, title="Stochastic %K Smoothing")
stoSmoothD = input.int(10, title="Stochastic %D Smoothing")
// Παράμετροι Bollinger Bands
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(1, title="Bollinger Bands StdDev")
// Παράμετροι ATR
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss")
// Παράμετροι Parabolic SAR
sarAcceleration = input.float(0.02, title="SAR Acceleration")
sarMaximum = input.float(0.2, title="SAR Maximum")
// Διαχείριση κινδύνου
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio")
// Υπολογισμοί δεικτών
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, smaPeriod)
atr = ta.atr(atrLength)
// Παράμετροι και κλήση του Parabolic SAR
sar = ta.sar(sarAcceleration, sarMaximum, 15) // Διορθωμένη κ
// Υπολογισμός Stop Loss με βάση το ATR
longStopLoss = close - atrMultiplier * atr
shortStopLoss = close + atrMultiplier * atr
// Συνθήκες για είσοδο και έξοδο
longCondition = ta.crossover(macdLine, signalLine) and close > sar
shortCondition = ta.crossunder(macdLine, signalLine) and close < sar
// Εκτέλεση εντολών συναλλαγής με διαχείριση κινδύνου
if (longCondition)
strategy.entry("Long Position", strategy.long)
strategy.exit("Exit Long", "Long Position", stop=longStopLoss)
if (shortCondition)
strategy.entry("Short Position", strategy.short)
strategy.exit("Exit Short", "Short Position", stop=shortStopLoss)
// Συνθήκες για είσοδο και έξοδο
// Εμφάνιση βελών για σημεία εισόδου
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Short Entry")
// Εμφάνιση δεικτών
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(sma, color=color.orange, title="SMA")
plot(series=sar, color=color.fuchsia, style=plot.style_circles, title="Parabolic SAR")
hline(upperBound, "Upper Bound", color=color.red)
hline(lowerBound, "Lower Bound", color=color.green)