
Chiến lược cảnh báo đảo ngược dưới MACD bằng cách phân tích đường chậm của chỉ số MACD để xác định liệu giá hiện tại có ở mức cao hay thấp lịch sử hay là sắp đảo ngược để đưa ra phán đoán nhanh về xu hướng giá thị trường.
Chiến lược này là để lọc và lọc dữ liệu tương ứng với đường nhanh và đường chậm của các đầu ra của chỉ số MACD để xác định xem giá đã đi vào vùng quan trọng trước khi đảo ngược và phát ra tín hiệu mua hoặc bán.
Cụ thể, chiến lược này được xác định bằng cách tính toán đường nhanh của MACD và các đường vàng và chết của MACD để xác định giá đi vào khu vực dưới của xu hướng tăng hoặc khu vực trên của xu hướng giảm. Trong trường hợp vàng, nếu giá đóng cửa cao hơn giá đóng cửa của thanh trước và chênh lệch cao hơn chênh lệch của thanh trước, nó sẽ được xác định là đi vào khu vực dưới và phát ra một tín hiệu cảnh báo đảo ngược dưới. Trong trường hợp chết, nếu giá đóng cửa thấp hơn giá đóng cửa của thanh trước và chênh lệch của thanh trước cao hơn chênh lệch hiện tại, nó sẽ được xác định là đi vào khu vực trên và phát ra tín hiệu cảnh báo đảo ngược trên.
Giải pháp:
Chiến lược cảnh báo đảo ngược dưới MACD bằng cách phân tích sự giao nhau của MACD nhanh và chậm, để xác định liệu giá có đi vào khu vực quan trọng của sự đảo ngược hay không, có thể tìm thấy đáy và đỉnh một cách hiệu quả, cung cấp hướng dẫn cho quyết định giao dịch. Tuy nhiên, MACD tự phán đoán chậm trễ, không thể xác định chính xác điểm đảo ngược và sức mạnh đảo ngược. Do đó, cần điều chỉnh các tham số thích hợp và sử dụng kết hợp với các chỉ số khác, kiểm soát rủi ro để phát huy hiệu quả của chiến lược trong tương lai.
/*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)