
Một cái nhìn tổng quan về chiến lược của hệ thống giao dịch Pete Wave
Chiến lược của hệ thống giao dịch Pit Wave sử dụng các đường trung bình di chuyển nhanh và chậm của giá để xây dựng tín hiệu giao dịch và được tối ưu hóa hơn nữa với các bộ lọc bổ sung và cơ chế dừng lỗ. Chiến lược này được thiết kế để bắt được xu hướng đường ngắn giữa, tạo ra tín hiệu mua và bán bằng cách cắt ngang đường trung bình giá. Mã cũng bao gồm các bộ lọc xác nhận phá vỡ, bộ lọc thực thể K-line, bộ lọc ATR, bộ lọc quay trở lại và các cơ chế khác để tránh phá vỡ giả.
Các nguyên tắc chiến lược của hệ thống giao dịch sóng Pit
Chiến lược này sử dụng đường trung bình di chuyển nhanh (dài 9) và đường trung bình di chuyển chậm (dài 22) để xây dựng tín hiệu giao dịch của các đường vàng (dọc theo đường chậm trên đường nhanh) và đường chết (dọc theo đường chậm dưới đường nhanh). Khi đường nhanh đi qua đường chậm từ phía dưới, nó tạo ra tín hiệu mua; khi đường nhanh đi qua đường chậm từ phía trên xuống, nó tạo ra tín hiệu bán.
Để tránh sự phá vỡ giả tạo do biến động giá, mã đã thêm các cơ chế lọc bổ sung. Điều này bao gồm bộ lọc thực thể K-line, yêu cầu tỷ lệ biến động của thực thể K-line lớn hơn 0,5% để tạo ra tín hiệu; bộ lọc hồi phục để xác định xem giá có bị hồi phục một mức độ nhất định khi giao nhau, đường nhanh và đường giá để xác nhận xu hướng; bộ lọc giá trị ATR, yêu cầu ATR lớn hơn 0,5 để chứng minh rằng biến động đủ để tạo ra tín hiệu.
Sau khi tín hiệu được tạo ra, nếu bật bộ lọc xác nhận phá vỡ, nó cũng sẽ xác định xem giá đóng cửa hiện tại có phá vỡ giá cao nhất hoặc giá thấp nhất của đường N gốc K trước đó để xác nhận phá vỡ không. Cuối cùng, chiến lược này khóa lợi nhuận thông qua cơ chế dừng lỗ điểm trượt, sẽ di chuyển vị trí dừng lỗ dựa trên một tỷ lệ phần trăm của giá trung bình giữ vị trí.
Phân tích lợi thế chiến lược của hệ thống giao dịch Pete Wave
Chiến lược này tích hợp các ưu điểm của giao dịch trung bình di chuyển và theo dõi xu hướng, có thể xác định hiệu quả hướng của xu hướng giá trong đường ngắn. So với hệ thống chéo đường trung bình đơn lẻ, kết hợp với bộ lọc bổ sung có thể làm giảm đáng kể khả năng của tín hiệu giả. Các ưu điểm cụ thể như sau:
Đường giao thoa trung bình kết hợp với theo dõi xu hướng, tránh bị trói buộc bởi các cú sốc.
Bộ lọc quay trở lại và cơ chế xác nhận đột phá có thể ngăn chặn đột phá giả.
Giá trị ATR, bộ lọc thực thể K-line giúp xác định sự biến động thực sự.
Cơ chế dừng lỗ điểm trượt có thể kiểm soát hiệu quả tổn thất đơn.
Phân tích rủi ro chiến lược của hệ thống giao dịch Pete Wave
Chiến lược này có những rủi ro:
Sự cố đột ngột của hành vi gây ra thiệt hại dừng bị đánh.
Giữ cổ phiếu quá lâu, không dừng lại kịp thời. Có thể rút ngắn chu kỳ trung bình.
Trong thời gian yên tĩnh, tín hiệu giao dịch bị thu hẹp.
Các tham số được tối ưu hóa không đúng cách, dẫn đến giao dịch quá thường xuyên hoặc ít hơn. Các tham số cần được thử nghiệm nhiều lần.
Đường hướng tối ưu hóa chiến lược của hệ thống giao dịch Pete Wave
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Các tham số thử nghiệm theo các biến thể giao dịch khác nhau, tối ưu hóa chu kỳ trung bình di chuyển.
Hãy thử thêm một số chỉ số khác, chẳng hạn như Bollinger Bands, RSI, để xác định xu hướng.
Kiểm tra các tham số của cơ chế dừng lỗ để tìm tỷ lệ dừng lỗ tối ưu.
Thử các phương pháp như học máy để tự động tạo ra tín hiệu mua và bán.
Tối ưu hóa logic lọc tín hiệu, giảm khả năng tín hiệu giả.
Các nhà kinh tế đã đưa ra những dự đoán về những cơ hội giao dịch khác nhau.
Tóm tắt chiến lược của hệ thống giao dịch Pete Wave
Chiến lược của hệ thống giao dịch Pit Wave kết hợp các phương pháp như chéo trung bình di chuyển, theo dõi xu hướng và thêm bộ lọc để tạo ra một chiến lược giao dịch ngắn và trung bình ổn định và đáng tin cậy hơn. So với chỉ số kỹ thuật đơn lẻ, chiến lược này có thể làm giảm đáng kể tiếng ồn giao dịch do biến động giá.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("9:22 5 MIN 15 MIN BANKNIFTY", overlay=true)
fastLength = input(9, title="Fast MA Length")
slowLength = input(22, title="Slow MA Length")
atrLength = input(14, title="ATR Length")
atrFilter = input(0.5, title="ATR Filter")
trailingStop = input(1.5, title="Trailing Stop Percentage")
pullbackThreshold = input(0.5, title="Pullback Threshold")
minCandleBody = input(0.5, title="Minimum Candle Body Percentage")
breakoutConfirmation = input(true, title="Use Breakout Confirmation")
price = close
mafast = ta.sma(price, fastLength)
maslow = ta.sma(price, slowLength)
atrValue = ta.atr(atrLength)
long_entry = ta.crossover(mafast, maslow) and atrValue > atrFilter
short_entry = ta.crossunder(mafast, maslow) and atrValue > atrFilter
// Pullback Filter
pullbackLong = ta.crossover(price, mafast) and ta.change(price) <= -pullbackThreshold
pullbackShort = ta.crossunder(price, mafast) and ta.change(price) >= pullbackThreshold
// Include pullback condition only if a valid entry signal is present
long_entry := long_entry and (pullbackLong or not ta.crossover(price, mafast))
short_entry := short_entry and (pullbackShort or not ta.crossunder(price, mafast))
// Filter based on candle body size
validLongEntry = long_entry and ta.change(price) > 0 and ta.change(price) >= minCandleBody
validShortEntry = short_entry and ta.change(price) < 0 and ta.change(price) <= -minCandleBody
// Breakout confirmation filter
breakoutLong = breakoutConfirmation ? (close > ta.highest(high, fastLength)[1]) : true
breakoutShort = breakoutConfirmation ? (close < ta.lowest(low, fastLength)[1]) : true
long_entry := validLongEntry and breakoutLong
short_entry := validShortEntry and breakoutShort
if (long_entry)
strategy.entry("Long", strategy.long)
strategy.close("Short")
alert("Long trade iniated")
if (short_entry)
strategy.entry("Short", strategy.short)
strategy.close("Long")
alert("Short trade initated")
// Trailing Stop-Loss
long_stop = strategy.position_avg_price * (1 - trailingStop / 100)
short_stop = strategy.position_avg_price * (1 + trailingStop / 100)
strategy.exit("Exit Long", "Long", stop = long_stop)
strategy.exit("Exit Short", "Short", stop = short_stop)
plot(mafast, color=color.green, linewidth=2, title="Fast MA")
plot(maslow, color=color.red, linewidth=2, title="Slow MA")