
Chiến lược phá vỡ điểm cao thấp là một chiến lược biến động dài hạn dựa trên nhận diện điểm cao thấp. Chiến lược này theo hướng tham số của chiến lược, làm nhiều khi phá vỡ mức giá cao nhất trong một khoảng thời gian cửa sổ cụ thể gần đây nhất và làm giảm khi phá vỡ mức giá thấp nhất trong một khoảng thời gian cửa sổ cụ thể gần đây nhất.
Chiến lược này xem giá cao nhất và giá thấp nhất của dòng N-root K gần nhất bằng cách đặt tham số đầu vào, tức là điểm cao và thấp nhất của biến động, và đánh giá hướng chiến lược dựa trên tham số hướng. Khi thực hiện quá nhiều, khi giá phá vỡ điểm cao nhất trong dòng N-root K gần nhất, hãy mua theo cách dừng; Khi giá giảm xuống mức thấp nhất trong dòng N-root K gần nhất, hãy mua bằng cách dừng.
Ngoài ra, chiến lược này cũng thiết lập điểm dừng lỗ. Sau khi mở vị trí, đường dừng lỗ được thiết lập gần giá thấp nhất; Sau khi khống chế, đường dừng lỗ được thiết lập gần giá cao nhất. Điều này có thể tránh được tổn thất lớn do hành động đơn phương.
Ưu điểm lớn nhất của chiến lược này là có thể nắm bắt các biến động quan trọng gần điểm cao và thấp, do đó, đạt được lợi nhuận. Ngoài ra, thiết lập đường dừng lỗ cũng có thể kiểm soát rủi ro hiệu quả.
Những ưu điểm cụ thể:
Kế hoạch chiến lược rõ ràng, đánh giá vào và ra sân bằng cách phá vỡ các điểm cao và thấp.
Sử dụng các điểm cao và thấp để tìm cơ hội đảo ngược, đây là một phương pháp cổ điển trong phân tích kỹ thuật.
Có các thiết lập dừng lỗ để kiểm soát rủi ro và tránh thiệt hại lớn từ hành động đơn phương.
Cấu trúc mã rõ ràng, dễ hiểu và dễ sửa đổi.
Có thể nhập các tham số khác nhau để tối ưu hóa chiến lược, chẳng hạn như điều chỉnh số lần cao nhất hoặc thấp nhất.
Rủi ro chính của chiến lược này là các giao dịch sai lệch do đánh giá cao thấp không được phép. Rủi ro cụ thể bao gồm:
Các điểm cao nhất và thấp nhất có thể gây ra lỗi đột phá dẫn đến lỗi nhập cảnh.
Có thể gây ra thiệt hại lớn gần điểm đột phá.
Các giống xu hướng có thể tạo ra chi phí rất lớn để xác định điểm cao và thấp.
Thiết lập tham số không đúng cũng ảnh hưởng đến hiệu suất của chiến lược.
Các giải pháp bao gồm:
Các tham số tối ưu hóa, số lần điều chỉnh điểm cao nhất hoặc thấp nhất.
Tăng mức dừng lỗ.
Phân biệt các đặc điểm của giống, tránh sử dụng trong các giống xu hướng.
Các tham số tối ưu hóa động theo phương pháp học máy.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Tối đa tối thiểu điểm số chu kỳ tối ưu hóa: số lượng chu kỳ cố định hiện tại, có thể được thay đổi thành tối ưu hóa động để tránh quá tối ưu hóa do chế độ cố định.
Tăng tối ưu hóa Stop Loss Stop: có thể điều chỉnh mức độ dừng lỗ dựa trên các chỉ số động lực như ATR, tỷ lệ biến động.
Kết hợp nhiều chu kỳ thời gian: có thể xác định xu hướng trong chu kỳ thời gian cao hơn, chu kỳ thời gian thấp quyết định nhập cảnh.
Tăng học máy: Sử dụng các phương pháp như mạng thần kinh để dự đoán xác suất phá vỡ điểm cao và thấp tiềm ẩn, nâng cao hiệu quả.
Tối ưu hóa thuật toán dừng lỗ: cải thiện thuật toán để giảm thiểu các trường hợp dừng lỗ không hiệu quả được kích hoạt trong trường hợp đảm bảo dừng lỗ.
Chiến lược phá vỡ điểm cao thấp tổng thể là một chiến lược định lượng đường dài rất thực tế. Nó thu lợi nhuận bằng cách nắm bắt cơ hội đảo ngược gần điểm cao thấp và thiết lập dừng lỗ để kiểm soát rủi ro, do đó cũng kiểm soát rút lui trong khi đảm bảo thu nhập. Cài đặt tham số của chiến lược linh hoạt, rõ ràng về tư duy, là một chiến lược đáng khuyên.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tweakerID
// Long term strategy for managing a Crypto investment with Swing Trades of more than 1 day. The strategy buys with a
// stop order at the Swing High price (green line) and sells with a stop order at the Swing Low price (red line).
// The direction of the strategy can be adjusted in the Inputs panel.
//@version=4
strategy("Swing Points Breakouts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, commission_value=0.04)
direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
//Inputss
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLow=input(10, title="Swing Low Lookback")
i_SwingHigh=input(10, title="Swing High Lookback")
i_reverse=input(false, "Reverse Trades")
i_SLExpander=input(defval=0, step=1, title="SL Expander")
//Strategy Calculations
SwingLow=lowest(i_SwingLow)
SwingHigh=highest(i_SwingHigh)
//SL & TP Calculations
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na
//Entries and Exits
strategy.entry("long", true, stop=i_reverse?na:SwingHigh, limit=i_reverse?SwingLow:na)
strategy.entry("short", false, stop=i_reverse?na:SwingLow, limit=i_reverse?SwingHigh:na)
if i_SL
strategy.exit("longexit", "long", stop=LSL)
strategy.exit("shortexit", "short", stop=SSL)
//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(SwingLow, color=color.red)
plot(SwingHigh, color=color.green)