Chiến lược này là một hệ thống giao dịch toàn diện kết hợp nhiều chỉ số kỹ thuật, chủ yếu sử dụng Moving Average (MA), Relative Strength Index (RSI) và Average Directional Index (ADX) để xác định xu hướng và động lực của thị trường. Nó sử dụng Average True Range (ATR) để thiết lập động mức dừng lỗ và lấy lợi nhuận. Hệ thống sử dụng phương pháp phân tích đa giai đoạn, xác nhận tín hiệu giao dịch thông qua các dấu hiệu chéo qua các khoảng thời gian khác nhau, đảm bảo cả độ chính xác giao dịch và kiểm soát rủi ro hiệu quả.
Chiến lược sử dụng một cơ chế xác minh ba lớp để xác nhận tín hiệu giao dịch: 1. Lớp xác định xu hướng: Sử dụng chéo của trung bình động 20 giai đoạn và 50 giai đoạn để xác định hướng xu hướng, với MA nhanh vượt qua trên MA chậm cho thấy xu hướng tăng và ngược lại. 2. Lớp xác nhận động lực: Sử dụng chỉ số RSI 14 giai đoạn để xác nhận động lực giá, với chỉ số RSI trên 50 chỉ ra động lực tăng và dưới 50 chỉ ra động lực giảm. 3. Trend Strength Filter Layer: Sử dụng ADX 14 giai đoạn để đo cường độ xu hướng, chỉ xác nhận giao dịch khi ADX trên 25, cho thấy cường độ xu hướng đủ.
Ngoài ra, chiến lược thực hiện một hệ thống dừng lỗ và lợi nhuận dựa trên ATR: - Stop-loss được thiết lập ở mức 2 lần ATR - Lợi nhuận được thiết lập ở mức 4 lần ATR, duy trì tỷ lệ rủi ro-lợi nhuận 1: 2
Chiến lược này xây dựng một hệ thống giao dịch tương đối hoàn chỉnh thông qua sự phối hợp của nhiều chỉ số kỹ thuật. Sức mạnh cốt lõi của nó nằm trong cơ chế xác minh đa lớp và hệ thống quản lý rủi ro năng động, mặc dù phải chú ý đến khả năng thích nghi của nó trong các môi trường thị trường khác nhau. Thông qua tối ưu hóa và cải tiến liên tục, chiến lược này cho thấy hứa hẹn để đạt được lợi nhuận ổn định trong giao dịch thực tế.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-15 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Daily Trading Strategy", overlay=true) // --- Indikator --- // Kombinasi MA untuk trend fastMA = ta.sma(close, 20) slowMA = ta.sma(close, 50) // RSI untuk momentum rsi = ta.rsi(close, 14) // --- Fungsi untuk menghitung ADX --- adx(length) => up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) trur = ta.rma(ta.tr, length) plus = fixnan(100 * ta.rma(plusDM, length) / trur) minus = fixnan(100 * ta.rma(minusDM, length) / trur) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), length) // ADX untuk kekuatan trend adxValue = adx(14) // --- Kondisi Entry Long --- longEntry = ta.crossover(fastMA, slowMA) and rsi > 50 and adxValue > 25 // --- Kondisi Entry Short --- shortEntry = ta.crossunder(fastMA, slowMA) and rsi < 50 and adxValue > 25 // --- Stop Loss dan Take Profit --- // Fungsi untuk menghitung stop loss dan take profit getSLTP(entryPrice, isLong) => atr = ta.atr(14) sl = isLong ? entryPrice - atr * 2 : entryPrice + atr * 2 tp = isLong ? entryPrice + atr * 4 : entryPrice - atr * 4 [sl, tp] // Hitung SL dan TP untuk posisi Long [longSL, longTP] = getSLTP(close, true) // Hitung SL dan TP untuk posisi Short [shortSL, shortTP] = getSLTP(close, false) // --- Eksekusi Order --- if (longEntry) strategy.entry("Long", strategy.long, stop=longSL, limit=longTP) if (shortEntry) strategy.entry("Short", strategy.short, stop=shortSL, limit=shortTP) // --- Plot Indikator --- // MA plot(fastMA, color=color.blue) plot(slowMA, color=color.red) // RSI plot(rsi, color=color.orange) hline(50, color=color.gray) // ADX plot(adxValue, color=color.purple) hline(25, color=color.gray) // --- Alert --- alertcondition(longEntry, title="Long Entry", message="Long Entry") alertcondition(shortEntry, title="Short Entry", message="Short Entry")