Chiến lược này áp dụng đột phá kênh dao động năng động để xác định các điểm nhập và dừng lỗ dựa trên chuyển động giá.
Chiến lược này đầu tiên tính toán mức cao nhất và thấp nhất trong 20 ngày qua để có được kênh dao động động. Sau đó nó tính toán trung bình chuyển động theo hàm số nhân 8 ngày và 32 ngày. Khi giá đóng phá vỡ dải trên của kênh và EMA 8 ngày trên EMA 32 ngày, nó đi dài. Khi giá phá vỡ dải dưới hoặc EMA 8 ngày vượt qua dưới EMA 32 ngày, nó thoát ra. Stop loss được đặt dưới dải giữa của kênh.
Cụ thể, các điều kiện nhập cảnh là:
Giá đóng phá vỡ dải trên động được hình thành bởi mức cao nhất trong 20 ngày qua.
EMA 8 ngày nằm trên EMA 32 ngày.
Các điều kiện thoát là:
Stop loss được kích hoạt khi giá giảm xuống dưới dải giữa.
EMA 8 ngày vượt dưới EMA 32 ngày.
Chiến lược xác định hướng xu hướng bằng cách sử dụng kênh năng động và tình trạng xu hướng tăng hiện tại bằng cách sử dụng giao thông EMA. Điều này giúp kiểm soát rủi ro.
Các rủi ro có thể được quản lý bằng cách tối ưu hóa thời gian kênh, thời gian EMA và vị trí dừng lỗ.
Chiến lược phá vỡ dao động động có logic rõ ràng để xác định xu hướng và nhập dựa trên việc phá vỡ kênh và giao thoa EMA. Việc dừng lỗ giúp kiểm soát rủi ro. Điều chỉnh tham số như thời gian kênh và thời gian EMA có thể cải thiện yếu tố lợi nhuận. Chiến lược này hoạt động tốt cho các cổ phiếu có mô hình tiếp tục, đặc biệt là phá vỡ mức cao trước đó.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h 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/ // © Robrecht99 //@version=5 strategy("My Strategy", overlay=true, margin_long=100, margin_short=100) fast = ta.sma(close, 8) slow = ta.sma(close, 32) plot(fast, color=color.red) plot(slow, color=color.navy) entrycondition1 = ta.crossover(fast, slow) entrycondition2 = fast > slow sellcondition1 = ta.crossunder(fast, slow) sellcondition2 = slow > fast atr = ta.atr(14) //Donchian Channels days = 20 h1 = ta.highest(high[1], days) l1 = ta.lowest(low[1], days) mid = math.avg(h1, l1) plot(mid, "channel", color=#FF6D00) u = plot(h1, "Upper", color=#2962FF) l = plot(l1, "Lower", color=#2962FF) fill(u, l, color.new(color.blue, 90)) if (close > h1 and entrycondition2) strategy.entry("long", strategy.long) stoploss = close - atr * 3 trail = close - atr * 3 strategy.exit("exit", "long", stop=stoploss, trail_offset=trail) if (sellcondition1 and sellcondition2) strategy.close(id="long")