
Стратегия предупреждения о реверсии MACD-индикатора на нижней стороне позволяет быстро оценить движение цены на рынке, анализируя медленную линию MACD-индикатора, чтобы определить, находится ли текущая цена на историческом максимуме или минимуме, и будет ли реверсия.
Эта стратегия используется для отбора и фильтрации данных, соответствующих быстрой и медленной линии, выходящих из стандартного индикатора MACD, чтобы определить, вошла ли цена в критическую зону перед переворотом, чтобы дать сигнал о покупке или продаже.
В частности, стратегия определяет, что цена вошла в нижнюю зону повышающей тенденции или в верхнюю зону понижающей тенденции, рассчитывая быструю линию MACD против золотой и мертвой линий MACD. В случае золотой форки, если цена закрытия выше, чем цена закрытия предыдущего бара, и диффикс выше, чем диффикс предыдущего бара, она определяется как входящая в нижнюю зону, подавая предупредительный сигнал о обратном повороте. В случае мертвой форки, если цена закрытия ниже, чем цена закрытия предыдущего бара, и диффикс предыдущего бара выше, чем текущий диффикс, она определяется как входящая в верхнюю зону, подавая предупредительный сигнал о обратном повороте.
Решение проблемы:
Стратегия предупреждения об обратном движении в нижней части индикатора MACD, анализируя пересечение MACD с быстрой и медленной линией, может эффективно обнаружить нижнюю и верхнюю части и дать руководство для принятия торговых решений. Однако MACD сама задерживается, не в состоянии определить точную точку обратного движения и силу обратной силы. Таким образом, требуется соответствующая корректировка параметров и использование в сочетании с другими индикаторами для контроля риска, чтобы использовать эту стратегию в будущем.
/*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)