La estrategia de alerta temprana de reversión de fondo del indicador MACD analiza las líneas rápidas y lentas del indicador MACD para determinar si el precio actual se encuentra en un máximo histórico o en un mínimo y si se producirá una reversión pronto, con el fin de juzgar rápidamente la tendencia de los precios del mercado.
Esta estrategia selecciona y filtra los datos de línea rápida y línea lenta correspondientes a la salida del indicador MACD estándar para juzgar si el precio ha entrado en el área crítica antes de la reversión y emite señales de compra o venta.
Específicamente, la estrategia juzga si el precio ha entrado en el área inferior de una tendencia alcista o en el área superior de una tendencia bajista calculando la cruz de oro y la cruz de muerte de las líneas rápidas y lentas del MACD. En las cruces de oro, si el precio de cierre es mayor que el precio de cierre de la barra anterior y el diferencial es mayor que el valor de diferencia de la barra anterior, se determina que se ha ingresado en el área inferior y se emite una señal de alerta temprana de reversión. En las cruces de muerte, si el precio de cierre es menor que el precio de cierre de la barra anterior y el diferencial de la barra es mayor que el valor de diferencia actual, se determina que se ha ingresado en el área superior y se emite una señal de alerta temprana de reversión superior.
Soluciones:
La estrategia de alerta temprana del indicador MACD puede descubrir de manera efectiva los mínimos y los máximos para proporcionar orientación para las decisiones comerciales mediante el análisis de cruces rápidos y lentos de la línea MACD para juzgar si los precios han entrado en el área crítica antes de la reversión. Sin embargo, el juicio rezagado del propio MACD no puede determinar el punto de reversión exacto y el impulso de reversión. Por lo tanto, se necesitan ajustes de parámetros apropiados, combinados con otros indicadores, para controlar los riesgos y aprovechar la efectividad de esta estrategia.
/*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)