Chiến lược này kết hợp các chỉ số kỹ thuật Supertrend, Moving Average Convergence Divergence (MACD) và Volume Weighted Average Price (VWAP). Nó nhằm mục đích xác định các điểm vào và ra tiềm năng bằng cách xác nhận hướng xu hướng và xem xét sự gần gũi với mức VWAP. Chiến lược cũng kết hợp các cơ chế dừng lỗ, lấy lợi nhuận và dừng lại.
Điều kiện nhập cảnh
Sự xác nhận xu hướng: Chiến lược sử dụng cả Supertrend và MACD để xác nhận hướng xu hướng. Sự xác nhận kép này có thể làm tăng khả năng xác định chính xác xu hướng và lọc các tín hiệu sai.
Xác nhận VWAP: Chiến lược xem xét sự gần gũi của giá với mức VWAP. Mức năng động này có thể hoạt động như hỗ trợ / kháng cự và cung cấp bối cảnh bổ sung cho các quyết định nhập cảnh.
Điều kiện xuất cảnh
MACD Crossover: Chiến lược đóng các vị trí dài khi đường MACD băng qua dưới đường tín hiệu và đóng các vị trí ngắn khi đường MACD băng qua trên.
Quản lý rủi ro
Đánh giá Stop Loss thích nghi: Chiến lược đặt ra một phạm vi dừng lỗ, cung cấp một số dung nạp cho biến động giá nhỏ.
Trailing Stop: Chiến lược này kết hợp một cơ chế trailing stop để khóa lợi nhuận khi giao dịch di chuyển theo hướng mong muốn. Điều này có khả năng tăng lợi nhuận trong các xu hướng mạnh.
Xác nhận chỉ số kép: Sự kết hợp của Supertrend và MACD để xác nhận xu hướng là một khía cạnh độc đáo thêm một lớp lọc để tăng độ chính xác tín hiệu.
VWAP động: Việc kết hợp mức VWAP cung cấp thông tin chi tiết về tâm lý thị trường vì VWAP thường được các nhà giao dịch tổ chức sử dụng.
Stop Loss và Trailing thích nghi: Phạm vi stop loss và trailing stop thích nghi có thể quản lý rủi ro hiệu quả hơn và bảo vệ lợi nhuận.
Đặt sổ lợi nhuận một phần: Đề xuất xem xét ghi sổ lợi nhuận một phần trên các giao dịch chéo MACD cho phép đảm bảo lợi nhuận trong khi vẫn ở trong giao dịch.
Backtesting: Kiểm tra kỹ lưỡng bất kỳ chiến lược nào trước khi triển khai trực tiếp để hiểu hiệu suất trong các điều kiện thị trường khác nhau.
Quản lý rủi ro: Quản lý cẩn thận kích thước vị trí và rủi ro danh mục đầu tư tổng thể bất chấp các cơ chế tích hợp.
Điều kiện thị trường: Không có chiến lược nào hoạt động hoàn hảo trong tất cả các điều kiện thị trường.
Theo dõi: Tiếp tục theo dõi các giao dịch và điều kiện thị trường mặc dù các thành phần tự động.
Khả năng thích nghi: Thị trường phát triển theo thời gian.
Nhiều khung thời gian: Xem xét áp dụng trên khung thời gian cao hơn để tận dụng xu hướng dài hạn.
Tối ưu hóa tham số: Kiểm tra các sự kết hợp tham số khác nhau như thời gian ATR, phạm vi dừng lỗ v.v. để tìm các tham số tối ưu.
Lấy lợi nhuận một phần: Kết hợp các quy tắc lấy lợi nhuận một phần dứt khoát hơn như lấy lợi nhuận ở mức phần trăm nhất định.
Tối ưu hóa điều kiện: Kiểm tra thêm hoặc loại bỏ một số quy tắc nhập hoặc xuất để tìm sự cân bằng đúng.
Chiến lược này cung cấp một cách tiếp cận tương đối độc đáo của việc kết hợp các chỉ số xu hướng, động lực và khối lượng để xác nhận xu hướng và xác định các điểm nhập cảnh tiềm năng. Các tính năng như xác nhận kép và dừng thích nghi cung cấp một số lợi thế nhất định. Tuy nhiên, kiểm tra hậu quả kỹ lưỡng, tối ưu hóa và giám sát là điều cần thiết cho bất kỳ chiến lược nào có khả năng sống lâu dài. Chiến lược cung cấp một khuôn khổ đáng để khám phá và tinh chỉnh thêm.
/*backtest start: 2023-12-25 00:00:00 end: 2024-01-24 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend Confirmation Strategy", overlay=true) // Supertrend Indicator atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [supertrend, direction] = ta.supertrend(factor, atrPeriod) // MACD Indicator fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) macd_src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) macd_sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) macd_sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) fast_ma = macd_sma_source == "SMA" ? ta.sma(macd_src, fast_length) : ta.ema(macd_src, fast_length) slow_ma = macd_sma_source == "SMA" ? ta.sma(macd_src, slow_length) : ta.ema(macd_src, slow_length) macd = fast_ma - slow_ma signal = macd_sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) // VWAP Indicator vwap_hideonDWM = input(false, title="Hide VWAP on 1D or Above") vwap_src = input(title="VWAP Source", defval=hlc3) vwap_value = ta.vwap(vwap_src) vwap_value_long = vwap_value vwap_value_short = vwap_value // Entry Criteria confirm_up_trend = direction > 0 and macd > signal confirm_down_trend = direction < 0 and macd < signal // VWAP Confirmation price_above_vwap = close > vwap_value_long price_below_vwap = close < vwap_value_short // Stop Loss and Take Profit stop_loss_range = input(2, title="Stop Loss Range") trail_offset = input(0.5, title="Trailing Stop Offset") stop_loss_long = close - stop_loss_range stop_loss_short = close + stop_loss_range // Strategy Entry if not (vwap_hideonDWM and timeframe.isdwm) if confirm_up_trend and price_above_vwap strategy.entry("Buy", strategy.long) if confirm_down_trend and price_below_vwap strategy.entry("Sell", strategy.short) // Strategy Exit if macd < signal and macd[1] >= signal[1] strategy.close("Buy", comment="MACD Crossover") if macd > signal and macd[1] <= signal[1] strategy.close("Sell", comment="MACD Crossover") // Plot Supertrend and VWAP plot(supertrend, color=direction > 0 ? color.green : color.red, title="Supertrend") plot(vwap_value_long, color=color.blue, title="VWAP Long") plot(vwap_value_short, color=color.orange, title="VWAP Short") // Plot MACD Histogram hist = macd - signal hist_color = hist >= 0 ? color.green : color.red plot(hist, style=plot.style_histogram, color=hist_color, title="MACD Histogram")