MACD Indicator Bottom Reversal Early Warning Strategy

Author: ChaoZhang, Date: 2023-12-07 11:11:09
Tags:

img

Overview

The MACD Indicator Bottom Reversal Early Warning Strategy analyzes the fast and slow lines of the MACD indicator to determine whether the current price is at a historical high or low and whether a reversal will occur soon, in order to quickly judge the trend of market prices.

Strategy Principle

This strategy screens and filters the fast line and slow line data corresponding to the output of the standard MACD indicator to judge whether the price has entered the critical area before reversal and issues buy or sell signals.

Specifically, the strategy judges whether the price has entered the bottom area of an uptrend or the top area of a downtrend by calculating the golden cross and death cross of the fast and slow lines of the MACD. On golden crosses, if the close price is higher than the close price of the previous bar and the diff is higher than the diff value of the previous bar, it is determined that the bottom area has been entered and a bottom reversal early warning signal is issued. On death crosses, if the close price is lower than the close price of the previous bar and the diff of the previous bar is higher than the current diff value, it is determined that the top area has been entered and a top reversal early warning signal is issued.

Advantage Analysis

  1. Use MACD indicator for accurate judgment of market trend
  2. Bottom and top reversal early warning can capture reversal opportunities in time
  3. Avoid unnecessary misreporting by combining fast and slow line relationships
  4. Alerts can be added for real-time monitoring of market changes

Risk Analysis

  1. The MACD indicator itself has lagging judgment and cannot determine the exact reversal point
  2. Need to adjust parameters appropriately to suit different trading varieties and time frames
  3. Unable to determine the specific reversal amplitude and trend after reversal
  4. Need to monitor changes in trading volume at the same time to determine the reliability of reversal

Solutions:

  1. Combine with other indicators such as K-line patterns and changes in trading volume for judgment
  2. Adjust parameters to suit different trading varieties and time frames
  3. Timely stop loss to control risks

Optimization Directions

  1. Optimize MACD indicator parameters for better judgment of bottoms and tops
  2. Increase stop loss logic to avoid loss enlargement
  3. Combine trading volume changes to determine reliability of reversals
  4. Increase machine learning model to determine probability of reversal

Conclusion

The MACD Indicator Bottom Reversal Early Warning Strategy can effectively discover bottoms and tops to provide guidance for trading decisions by analyzing MACD fast and slow line crosses to judge whether prices have entered the critical area before reversal. However, the lagging judgment of the MACD itself cannot determine the exact reversal point and reversal momentum. Therefore, appropriate parameter adjustments are needed, combined with other indicators, to control risks and leverage the effectiveness of this strategy. In the future, the introduction of machine learning techniques can further improve judgment accuracy.


/*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)


More