Chiến lược cảnh báo sớm đảo chiều dưới cùng của chỉ số MACD phân tích các đường nhanh và chậm của chỉ số MACD để xác định xem giá hiện tại có ở mức cao nhất trong lịch sử hay thấp nhất và liệu sự đảo ngược sẽ xảy ra sớm hay không, để nhanh chóng đánh giá xu hướng của giá thị trường.
Chiến lược này sàng lọc và lọc dữ liệu đường nhanh và đường chậm tương ứng với đầu ra của chỉ số MACD tiêu chuẩn để đánh giá liệu giá đã bước vào khu vực quan trọng trước khi đảo ngược và phát hành tín hiệu mua hoặc bán.
Cụ thể, chiến lược đánh giá liệu giá đã đi vào khu vực dưới của xu hướng tăng hay khu vực trên của xu hướng giảm bằng cách tính toán đường chéo vàng và đường chéo chết của đường nhanh và chậm của MACD. Trên đường chéo vàng, nếu giá đóng cao hơn giá đóng của thanh trước và chênh lệch cao hơn giá chênh lệch của thanh trước, nó được xác định rằng khu vực dưới đã được nhập và tín hiệu cảnh báo sớm đảo ngược được phát hành. Trên đường chéo chết, nếu giá đóng thấp hơn giá đóng của thanh trước và giá chênh lệch của thanh cao hơn giá chênh lệch hiện tại, nó được xác định rằng khu vực trên đã được nhập và tín hiệu cảnh báo sớm đảo ngược trên được phát hành.
Giải pháp:
Chiến lược cảnh báo sớm đảo ngược dưới cùng của chỉ số MACD có thể phát hiện hiệu quả đáy và đỉnh để cung cấp hướng dẫn cho các quyết định giao dịch bằng cách phân tích các đường chéo nhanh và chậm của MACD để đánh giá giá liệu giá có bước vào khu vực quan trọng trước khi đảo ngược hay không. Tuy nhiên, phán đoán chậm của MACD không thể xác định chính xác điểm đảo ngược và đà đảo ngược. Do đó, cần điều chỉnh tham số thích hợp, kết hợp với các chỉ số khác, để kiểm soát rủi ro và tận dụng hiệu quả của chiến lược này. Trong tương lai, việc giới thiệu các kỹ thuật học máy có thể cải thiện thêm độ chính xác phán đoán.
/*backtest start: 2023-11-06 00:00:00 end: 2023-12-06 00:00:00 period: 1h 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/ // © blackcat1402 //@version=5 strategy("[blackcat] L2 Reversal Labels Strategy", overlay=true, max_bars_back=5000, max_labels_count=500) [diff, dea, macd] = ta.macd(close,12, 26, 9) a1 = ta.barssince(ta.crossover(diff,dea)[1]) a2 = ta.barssince(ta.crossunder(diff,dea)[1]) bottom_zone = (close[a1+1]>close) and (diff>diff[a1+1]) and ta.crossover(diff,dea) top_zone = (close[a2+1]<close) and (diff[a2+1]>diff) and ta.crossunder(diff,dea) // Plot labels l0 = top_zone ? label.new(bar_index, high * 1.0, 'Near Top', color=color.new(color.red, 50), textcolor=color.white, style=label.style_label_down, yloc=yloc.price, size=size.small) : bottom_zone ? label.new(bar_index, low * 1.0, 'Near Bottom', color=color.new(color.green, 50), textcolor=color.white, style=label.style_label_up, yloc=yloc.price, size=size.small) : na if bottom_zone longmsg = 'Bottom Reversal Soon!' alert(message=longmsg, freq=alert.freq_once_per_bar_close) else if top_zone shortmsg = 'Top Reversal Soon!' alert(message=shortmsg, freq=alert.freq_once_per_bar_close) longCondition = bottom_zone if (longCondition) strategy.entry("long", strategy.long) shortCondition = top_zone if (shortCondition) strategy.entry("short", strategy.short)