
Движущаяся средняя ориентировочная индексная стратегия пересечения средних перемещений объединяет два мощных технических индикатора - скобки движущихся средних ((MA) и средних ориентировочных индексов ((ADX) - для предоставления трейдерам более точного технического анализа. Эта стратегия разработана специально для динамического анализа рынка и предоставляет четкие торговые сигналы.
Эта стратегия отслеживает движение цены, вычисляя весомые движущиеся средние ((WMA), сглаживая колебания цен, генерируя сигналы тренда. Одновременно рассчитывает средний индекс направления ((ADX) и индекс отрицательной динамики ((+/- DI), оценивая наличие и силу тренда.
Стратегия основывается на перекрестке показателей MA и ADX в качестве основы для принятия решений о торговле. Когда ADX выше от потери, а DIdiff ((DI+ - DI-) больше 0; когда ADX выше от потери, а DIdiff меньше 0;
Эта стратегия в сочетании с преимуществами движущихся средних и индекса ADX позволяет эффективно идентифицировать наличие и направление тенденции, уменьшая ошибочные сигналы. По сравнению с одиночным индикатором, комбинированный индикатор обеспечивает более надежный торговый сигнал.
Кроме того, эта стратегия является полностью количественной стратегией, основанной на вычислении параметров, имеет хорошую обратную связь, стабильную производительность твердого диска и подходит для алгоритмической торговли.
Эта стратегия подвержена риску торговли при значительных колебаниях на рынке. В случае резкого колебания цены, когда индикатор не реагирует, это может привести к убыткам для счета. Кроме того, неправильная настройка параметров индикатора может повлиять на эффективность стратегии.
Одноразовые потери можно контролировать с помощью стоп-лосса. При этом оптимизируются параметры и фильтруются в сочетании с другими показателями, чтобы уменьшить ошибочные сигналы.
Эта стратегия может быть оптимизирована в следующих направлениях:
В сочетании с фильтрацией других показателей, таких как ленты Brin, RSI и т. д., улучшается качество сигнала
Оптимизация параметров длины для скользящих средних и индекса ADX для поиска оптимального сочетания параметров
Увеличение механизмов сдерживания убытков и борьба с единичными потерями
Тестирование различных периодов для поиска оптимального периода
Движущийся средний индикатор движущихся средних кросс-стратегии, путем расчета динамики цены и силы тренда, можно эффективно идентифицировать направление тенденции рынка, является надежным тренд-стратегией. Эта стратегия имеет высокий уровень алгоритмизации, стабильная обратная связь, хорошая работа на реальных площадках.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © Julien_Eche
//@version=5
strategy("MA ADX Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)
start_date = input(timestamp("1975-01-01T00:00:00"), title="Start Date")
end_date = input(timestamp("2099-01-01T00:00:00"), title="End Date")
// Indicator Inputs
group1 = "MA Parameters"
lengthMA = input.int(50, title="MA Length", minval=1, group=group1)
sourceMA = input(close, title="MA Source", group=group1)
group2 = "ADX Parameters"
diLength = input.int(14, title="DI Length", minval=1, group=group2)
adxSmoothing = input.int(14, title="ADX Smoothing", minval=1, maxval=50, group=group2)
adxMAActive = input.int(15, title="ADX MA Active", minval=1, group=group2)
// Directional Movement calculations
upwardMovement = ta.change(high)
downwardMovement = -ta.change(low)
trueRangeSmoothed = ta.rma(ta.atr(diLength), diLength)
positiveDM = fixnan(100 * ta.rma(upwardMovement > downwardMovement and upwardMovement > 0 ? upwardMovement : 0, diLength) / trueRangeSmoothed)
negativeDM = fixnan(100 * ta.rma(downwardMovement > upwardMovement and downwardMovement > 0 ? downwardMovement : 0, diLength) / trueRangeSmoothed)
dmSum = positiveDM + negativeDM
// Average Directional Index (ADX) calculation
averageDX = 100 * ta.rma(math.abs(positiveDM - negativeDM) / math.max(dmSum, 1), adxSmoothing)
// Line color determination
lineColor = averageDX > adxMAActive and positiveDM > negativeDM ? color.teal : averageDX > adxMAActive and positiveDM < negativeDM ? color.red : color.gray
// Moving Average (MA) calculation
maResult = ta.wma(sourceMA, lengthMA)
// Plotting the Moving Average with color
plot(maResult, color=lineColor, title="MA", linewidth=3)
// Strategy logic
if (averageDX > adxMAActive and positiveDM > negativeDM)
strategy.entry("Buy", strategy.long)
if (averageDX > adxMAActive and positiveDM < negativeDM)
strategy.close("Buy")