Chiến lược giao dịch này kết hợp chênh lệch hội tụ trung bình động (MACD), chỉ số sức mạnh tương đối (RSI), trung bình động đơn giản (SMA), dao động stochastic và băng Bollinger để xác định các điểm nhập và thoát thị trường. Nó đi dài khi các chỉ số cho thấy tín hiệu tăng và đi ngắn khi các tín hiệu giảm xuất hiện. Rủi ro được kiểm soát bằng cách dừng lỗ và lấy lợi nhuận.
Nó đi dài khi đường MACD DIF vượt qua đường DEA vào vùng tăng; hoặc khi RSI giảm xuống dưới 30 vào vùng bán quá mức; hoặc khi đường stochastic %K và %D giảm xuống dưới 20 cho thấy tình trạng bán quá mức.
Ngược lại, nó đi ngắn khi đường MACD DIF băng qua dưới đường DEA vào vùng giảm; hoặc khi RSI tăng trên 70 vào khu vực mua quá mức; hoặc khi đường stochastic % K và % D leo lên trên 80 cho thấy tình trạng mua quá mức.
Stop loss được thiết lập dựa trên ATR nhân với một hệ số.
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 các lỗi bằng chỉ số duy nhất và cải thiện độ chính xác.
Các chỉ số kỹ thuật được tính từ dữ liệu lịch sử và không thể dự đoán giá trong tương lai, dẫn đến một số sự chậm trễ nhất định. Kết hợp nhiều chỉ số cũng có thể đưa ra một số tín hiệu sai. Ngoài ra, việc thiết lập stop loss không đúng có thể dẫn đến tổn thất lớn hơn.
Để giải quyết vấn đề chậm trễ chỉ số, các tham số có thể được điều chỉnh để rút ngắn chu kỳ tính toán. Đối với tín hiệu sai, các chỉ số phụ trợ bổ sung có thể được thêm để xác nhận. Ngoài ra, stop loss nên được thiết lập rộng hơn và hợp lý hơn.
Chiến lược có thể được cải thiện trong các khía cạnh sau:
Chiến lược này kết hợp nhiều chỉ số kỹ thuật để cải thiện độ chính xác và kiểm soát rủi ro thông qua dừng lỗ và lấy lợi nhuận, làm cho nó trở thành một hệ thống theo xu hướng đáng tin cậ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)