
Стратегия, получившая название “Стратегия слежения за трендом”, основана на показателях ADX и MACD. Она использует средний индикатор тренда ((ADX) для определения направления и силы тренда и в сочетании с многообещающими сигналами с мобильной средней сплоченной индикации ((MACD) для осуществления торговли, следующей за трендом.
Эта стратегия определяет направление и силу рыночной тенденции, рассчитывая ADX и + DI, -DI кривую. Когда + DI кривая проходит через -DI кривую, это многоголовый рынок, а когда -DI кривая проходит через + DI кривую, это пустой рынок.
В частности, логика торговых сигналов стратегии состоит в следующем:
Многоглавый сигнал: когда разница +DI> -DI и MACD пересекает сигнал снизу вверх Головной сигнал: когда дифференциальная линия -DI> +DI и MACD пересекает линию сигнала вверх-вниз
В соответствии с этой логикой, стратегия способна уловить лучшие входные моменты в сильных тенденциях.
Наибольшее преимущество этой стратегии заключается в том, что она одновременно учитывает два важных фактора: определение тенденций и выбор времени входа, что позволяет трейдерам найти лучшие точки входа в случае сильной направленности рынка, что значительно повышает стабильность и прибыльность системы.
Кроме того, стратегия также вводит логику остановки убытков. Когда убытки по позициям превышают установленную пользователем цену остановки убытков, стратегия активно останавливает убытки и эффективно контролирует убытки отдельных сделок. Это также является ярким моментом стратегии.
Несмотря на определенные преимущества этой стратегии, существуют риски, о которых следует помнить:
торговые сигналы, составленные на ADX и MACD, которые в некоторых рыночных условиях могут быть недействительными или генерировать ошибочные сигналы, что может привести к ненужным потерям;
Стоп-стоп, определенный пользователем, может быть преодолен, что приведет к убыткам, превышающим ожидания;
В реверсивном рынке стратегия может привести к слишком большому количеству недействительных сделок, что приведет к потере стоимости сделки.
Для снижения этих рисков рекомендуется оптимизировать параметры настройки ADX и MACD и применять строгие стратегии управления капиталом, а также адаптировать логику остановки убытков в соответствии с различными рыночными условиями.
В этой стратегии есть место для оптимизации:
Введение большего количества индикаторов может создать более сильный торговый сигнал, например, ограничение торговли в сочетании с индикатором волатильности;
Параметры ADX и MACD могут быть автоматически оптимизированы с помощью методов машинного обучения;
Можно создать адаптивные механизмы по остановке убытков, чтобы динамика цен на остановку убытков следила за рыночными колебаниями.
Эти методы, как ожидается, будут способствовать дальнейшему повышению уровня стабильности и прибыльности стратегии.
В целом, стратегия отслеживания тенденций, основанная на показателях ADX и MACD, с преимуществами определения направления тенденции, нахождения оптимального времени входа и установки логики остановки, является достойной торговой системой. При оптимизации параметров и контроле риска эта стратегия может получить хорошую отдачу от инвестиций.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TUE ADX/MACD Confluence V1.0", overlay=true)
showsignals = input(true, title="Show BUY/SELL Signals")
showcandlecolors = input(true, title="Show Candle Colors")
length = input(14, title="ADX Length")
smoothing = input(10, title="ADX Smoothing")
macdsource = input(close, title="MACD Source")
macdfast = input(12, title="MACD Fast Length")
macdslow = input(26, title="MACD Slow Length")
macdsignal = input(9, title="MACD Signal Length")
colorup = input(color.green, title="Up Candle Color")
colordown = input(color.red, title="Down Candle Color")
/////////////////////////////////////////////////////////////////////////////////////////////// ADX AND MACD CALC
[diplus, diminus, adx] = ta.dmi(length, smoothing)
[macdline, signalline, histline] = ta.macd(macdsource, macdfast, macdslow, macdsignal)
//////////////////////////////////////////////////////////////////////////////////////////////TRADE CALC
longcheck = diplus > diminus and macdline > signalline
shortcheck = diminus > diplus and signalline > macdline
int trade = 0
//Open from nothing
if trade == 0 and longcheck
trade := 1
else if trade == 0 and shortcheck
trade := -1
//Reversal
else if trade == 1 and shortcheck
trade := -1
else if trade == -1 and longcheck
trade := 1
//Keep status quo until crossover
else
trade := trade[1]
//////////////////////////////////////////////////////////////////////////////////////////////PLOT
colors = longcheck ? colorup : shortcheck ? colordown : color.white
plotcandle(open, high, low, close, color = showcandlecolors ? colors : na)
plotshape(trade[1] != 1 and trade == 1 and showsignals, style=shape.labelup, text='BUY', textcolor=color.white, color=color.green, size=size.small, location=location.belowbar)
plotshape(trade[1] != -1 and trade == -1 and showsignals, style=shape.labeldown, text='SELL', textcolor=color.white, color=color.red, size=size.small, location=location.abovebar)
///////////////////////////////////////////////////////////////////////////////////////////// ALERTS
// Add Stop Loss
stopLossPrice = input(100, title="Stop Loss Price")
if trade == 1
strategy.entry("Long", strategy.long)
if trade == -1
strategy.entry("Short", strategy.short)
if trade == 1 and close < close[1] - stopLossPrice
strategy.close("LongExit")
if trade == -1 and close > close[1] + stopLossPrice
strategy.close("ShortExit")