Стратегия выбора времени двойной скользящей средней ADX


Дата создания: 2023-12-06 15:48:29 Последнее изменение: 2023-12-06 15:48:29
Копировать: 0 Количество просмотров: 783
1
Подписаться
1619
Подписчики

Стратегия выбора времени двойной скользящей средней ADX

Обзор

Двухлинейная ADX выбирает стратегию для идентификации тренда в сочетании с использованием средней линии 220 и индикатора ADXR, чтобы создать торговый сигнал на начальном этапе тренда. Эта стратегия сначала использует индикатор 220 для определения направления ценового тренда, а затем в сочетании с индикатором ADXR для дальнейшей подтверждения трендового сигнала, что приводит к более надежным торговым сигналам.

Стратегический принцип

Основная логика стратегии выбора времени для двухлинейного ADX основана на следующих частях:

  1. 220 индексные скользящие средние ((EMA)

    • EMA с двумя различными параметрами на 2-й и 20-й день
    • Если цена пересекает 2-дневную ЭМА, это считается позитивным сигналом.
    • Если цена прошла 20-дневную ЭМА, это считается сигналами о понижении.
  2. Показатель ADXR

    • Индекс ADXR является вариантом индекса ADX.
    • Для уменьшения колебаний показателя ADX используется простое среднее значение ADX.
    • ADXR ниже определенного отметки указывает на слабую тенденцию.
    • Если ADXR выше определенного порога, это указывает на сильную тенденцию.
  3. Торговые сигналы

    • Позитивный сигнал возникает, когда 2-й EMA Golden Cross AND ADXR выше отметки.
    • Сигналы потери появляются, когда 20-й EMA Dead Cross AND ADXR ниже отметки.
    • В сочетании с индикатором ADXR можно отфильтровать некоторые фальшивые предположения и усилить реальные сигналы тренда.

Основным новшеством стратегии является использование индикатора ADXR для определения тенденций на начальном этапе и их сочетание с сигналом традиционной равнолинейной стратегии, что повышает качество сигнала и укрепляет стабильность стратегии.

Стратегические преимущества

Основными преимуществами стратегии выбора двухлинейного ADX являются:

  1. В сочетании с двойной равномерной линией и ADXR показателем, сигнал более точный и надежный, может отфильтровывать ложные сигналы.
  2. Использование индикатора ADXR для определения тенденции на начальном этапе позволяет быстрее входить в определение тенденции.
  3. Параметры ADXR могут быть настроены гибко, в зависимости от рынка, чтобы адаптироваться к изменениям в ситуации.
  4. Логика стратегии проста, понятна, легко понятна, параметры легко регулируются.
  5. Используется в различных рыночных условиях, имеет хорошую историю тестирования.

Стратегический риск

Основные риски, связанные с выбором двухлинейной ADX стратегии:

  1. Неправильная настройка параметров ADXR может привести к упущенным возможностям торговли.

    • Возможно расширение диапазона параметров ADXR, или корректировка параметров в зависимости от разных сортов.
  2. В особых случаях может возникнуть больше ложных сигналов.

    • Можно рассмотреть возможность использования в сочетании с другими индикаторами для дальнейшей фильтрации сигналов.
  3. Параметры EMA фиксированы и не могут адаптироваться к изменениям рынка.

    • Можно попробовать использовать оптимизированную версию, адаптированную к параметрам EMA.
  4. Невозможность распознать диапазон колебаний цены может привести к созданию слишком много недействительных сделок.

    • Дополнительные логические решения или индикаторы, идентифицирующие ситуацию с землетрясением, могут быть добавлены.

Направление оптимизации стратегии

Двухлинейная ADX может быть оптимизирована в следующих аспектах:

  1. Параметры EMA оптимизированы, чтобы они могли автоматически изменяться в зависимости от ситуации.

  2. Оптимальный диапазон параметров ADXR, чтобы содержать больше эффективных торговых сигналов.

  3. Добавление дополнительных показателей для определения тенденции, создание сигналов комбинации, повышение качества.

  4. Увеличение стратегии стоп-лосса, установление стандартов стоп-стоп, контроль риска в отдельных сделках.

  5. Оптимизация стратегии управления капиталом, позволяющая автоматически корректировать позиции в зависимости от состояния счета.

Подвести итог

Двухлинейная ADX выборная стратегия улучшает качество сигнала с помощью инновационного сочетания традиционной двухлинейной стратегии и показателя ADXR, повышает стабильность стратегии, способна эффективно идентифицировать тенденции на начальном этапе, имеет хорошую историческую обратную связь. У стратегии есть большой простор для оптимизации и может быть улучшена во многих аспектах, что позволяет ей проявлять сильную адаптивность и прибыльность на более сложных рынках.

Исходный код стратегии
/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

fADX(Len) =>
    up = ta.change(high)
    down = -ta.change(low)
    trur = ta.rma(ta.tr, Len)
    plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
    pos = 0.0
    xADX = fADX(LengthADX)
    xADXR = (xADX + xADX[LengthADXR]) / 2
    pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR  ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)