Chiến lược này là một hệ thống giao dịch theo xu hướng hai xác nhận kết hợp chỉ số MACD với chỉ số Supertrend. Chiến lược xác định các điểm đầu vào bằng cách so sánh đường chéo đường MACD với đường tín hiệu trong khi xem xét hướng Supertrend, kết hợp tỷ lệ dừng lỗ và mức lợi nhuận cố định để quản lý rủi ro. Cơ chế xác nhận kép này tăng độ tin cậy của tín hiệu giao dịch và giảm hiệu quả sự can thiệp từ các tín hiệu sai.
Logic cốt lõi của chiến lược dựa trên các yếu tố chính sau: 1. Chỉ số siêu xu hướng: Sử dụng ATR 20 giai đoạn và nhân 2 để tính toán các đường xu hướng để xác định hướng xu hướng thị trường hiện tại. 2. Chỉ số MACD: Sử dụng các thiết lập tham số 12/26/9 cổ điển, tạo ra các tín hiệu giao dịch thông qua các đường chéo nhanh và chậm. 3. Điều kiện nhập: Các lệnh mua chỉ được kích hoạt khi đường nhanh MACD vượt qua đường chậm ( tín hiệu mua) và hướng siêu xu hướng tăng lên (hướng==1). Quản lý rủi ro: Thiết lập mức dừng lỗ 0,5% và mức lợi nhuận 99,99% cho mỗi giao dịch để bảo vệ vốn và đảm bảo lợi nhuận.
Chiến lược xây dựng một xu hướng tương đối đáng tin cậy sau hệ thống giao dịch bằng cách kết hợp các lợi thế của các chỉ số MACD và Supertrend. Tỷ lệ chính xác 46% và lợi nhuận 46% cho thấy tiềm năng lợi nhuận. Thông qua các tối ưu hóa được đề xuất, đặc biệt là việc lọc môi trường thị trường và môi trường thị trường động, tính ổn định và khả năng thích nghi của chiến lược có thể được tăng thêm.
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('MANTHAN BHRAMASTRA', overlay=true) // Supertrend function f_supertrend(_period, _multiplier) => atr = ta.sma(ta.tr, _period) upTrend = hl2 - _multiplier * atr downTrend = hl2 + _multiplier * atr var float _supertrend = na var int _trendDirection = na _supertrend := na(_supertrend[1]) ? hl2 : close[1] > _supertrend[1] ? math.max(upTrend, _supertrend[1]) : math.min(downTrend, _supertrend[1]) _trendDirection := close > _supertrend ? 1 : -1 [_supertrend, _trendDirection] // Supertrend Settings factor = input(2, title='Supertrend Factor') atrLength = input(20, title='Supertrend ATR Length') // Calculate Supertrend [supertrendValue, direction] = f_supertrend(atrLength, factor) // MACD Settings fastLength = input(12, title='MACD Fast Length') slowLength = input(26, title='MACD Slow Length') signalSmoothing = input(9, title='MACD Signal Smoothing') // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // Generate Buy signals buySignal = ta.crossover(macdLine, signalLine) and direction == 1 // Plot Buy signals // Calculate stop loss and take profit levels (0.25% of the current price) longStopLoss = close * 0.9950 longTakeProfit = close * 1.9999 // Execute Buy orders with Target and Stop Loss if buySignal strategy.entry('Buy', strategy.long) strategy.exit('Sell', 'Buy', stop=longStopLoss, limit=longTakeProfit)