
Chiến lược này kết hợp các chỉ số phân tán kết hợp đường trung bình di chuyển (MACD) và trung bình di chuyển có trọng lượng giao dịch (VWMA) để nắm bắt động lực của thị trường. Nó sử dụng biểu đồ thẳng MACD và giao thoa VWMA ngắn hạn để xác định tín hiệu nhập cảnh, trong khi giao thoa hoàn toàn phụ thuộc vào giao thoa MACD. Chiến lược này được thiết kế chủ yếu cho thị trường phái sinh được sử dụng để thích ứng với môi trường giao dịch khác nhau bằng cách điều chỉnh tỷ lệ và độ chính xác của nó một cách linh hoạt.
Logic cốt lõi của chiến lược này dựa trên các thành phần chính sau:
Chiến lược này giúp tăng độ chính xác của nhập cảnh bằng cách kết hợp theo dõi xu hướng ((VWMA) và chỉ số động lực ((MACD) trong khi sử dụng MACD crossover như một tín hiệu thoát ra phản ứng nhanh để kiểm soát rủi ro.
Để giảm thiểu những rủi ro này, các nhà nghiên cứu đề xuất: 1) Tối ưu hóa và kiểm tra lại các tham số toàn diện; 2) Đặt mục tiêu dừng lỗ và lợi nhuận hợp lý; 3) Thường xuyên đánh giá và điều chỉnh mức độ đòn bẩy; 4) Cân nhắc giới thiệu các điều kiện lọc bổ sung để giảm tín hiệu giả.
Các hướng tối ưu hóa này nhằm tăng khả năng thích ứng và ổn định của chiến lược, đồng thời giảm nguy cơ tín hiệu giả và kiểm soát. Bằng cách lặp đi lặp lại và cải tiến liên tục, chiến lược có tiềm năng duy trì hiệu suất tốt trong các môi trường thị trường khác nhau.
Chiến lược giao dịch động năng thích ứng động động đa chỉ số thể hiện tiềm năng của sự phối hợp nhiều chỉ số và điều chỉnh động trong giao dịch định lượng. Bằng cách kết hợp khéo léo MACD và VWMA, chiến lược này có thể cung cấp tín hiệu vào và ra tương đối đáng tin cậy trong khi nắm bắt động lực thị trường.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
leverage = input.int(1, title='Leverage', minval=1, maxval=100, step=1)
commission_value_input = input.int(3, title='Commission Value %', minval=1, maxval=100, step=1)
precision = input.int(2,title='Precision')
strategy("MACD & VWMA Equal Basis", overlay=true)
commission_value = (commission_value_input / 100) / leverage
leveragedContracts = math.max(math.round(strategy.equity * leverage / close, precision), 0)
// MACD settings
[macdLine, signalLine, histogram] = ta.macd(close, 12, 26, 9)
// VWMA settings
vwma20 = ta.vwma(close, 20)
vwma50 = ta.vwma(close, 50)
// Plot VWMA on chart
plot(vwma20, color=color.green, title="VWMA 20")
plot(vwma50, color=color.orange, title="VWMA 50")
// MACD buy/sell signals
macdLongEntrySignal = histogram > 0
macdLongExitSignal = histogram < 0
macdShortEntrySignal = histogram < 0
macdShortExitSignal = histogram > 0
// VWMA conditions for long and short positions
vwmaLongEntrySignal = vwma20 > vwma50
vwmaShortEntrySignal = vwma20 < vwma50
// Combined long entry signal: MACD buy signal with VWMA conditions
longEntry = macdLongEntrySignal and vwmaLongEntrySignal
longExit = ta.crossunder(macdLine, signalLine)
// Combined short entry signal: MACD sell signal with VWMA conditions
shortEntry = macdShortEntrySignal and vwmaShortEntrySignal
shortExit = ta.crossover(macdLine, signalLine)
// Execute long and short orders based on the conditions
if (longEntry)
strategy.entry("Long", strategy.long, qty = leveragedContracts)
if (longExit)
strategy.close("Long")
if (shortEntry)
strategy.entry("Short", strategy.short, qty = leveragedContracts)
if (shortExit)
strategy.close("Short")