Стратегия двойной скользящей средней GM-8 и ADX

ADX EMA
Дата создания: 2024-04-30 15:50:57 Последнее изменение: 2024-04-30 15:50:57
Копировать: 8 Количество просмотров: 576
1
Подписаться
1617
Подписчики

Стратегия двойной скользящей средней GM-8 и ADX

Обзор

GM-8 & ADX двулинейная стратегия - это стратегия количественного трейдинга, которая сочетает в себе несколько технических показателей. Эта стратегия использует GM-8, ADX и второй EMA для выявления потенциальных сигналов о покупке и продаже. GM-8 используется для определения ценовой тенденции, ADX - для подтверждения силы тенденции, а EMA - для оказания помощи в определении направления тенденции.

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

Принципы GM-8 & ADX двухуровневой стратегии следующие:

  1. Расчет GM-8, используемый для определения ценовой тенденции. Когда цена на закрытии проходит над/под средней линией GM-8, это указывает на то, что тенденция может быть обращена.
  2. Вычислить показатель ADX, используемый для подтверждения силы тренда. Когда показатель ADX выше порога (например, 34), показывающего сильную текущую тенденцию, можно рассмотреть вход.
  3. Расчет второго показателя EMA, используемого в качестве вспомогательного для определения направления тренда. Когда цена находится выше второго EMA, тенденция к увеличению; наоборот, тенденция к снижению.
  4. Если учесть GM-8, ADX и вторую EMA, то это дает сигнал “покупать или продать”:
    • Продемонстрировать несколько сигналов: GM-8 средняя линия на текущей цене закрытия выше GM-8 и второй EMA, а также ADX выше отметки.
    • Сигнал прорыва: текущая цена закрытия пробивает среднюю линию GM-8 и находится ниже GM-8 и второй EMA, в то время как ADX выше отметки.
  5. После того, как вы вышли на поле, появился сигнал “держать до выхода”:
    • Пиндосигналы: по текущей цене закрытия пробивают среднюю линию GM-8 и ниже GM-8.
    • Сигнал: GM-8 на средней линии по текущей цене закрытия и выше GM-8.

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

  1. В сочетании с несколькими показателями повышается надежность сигнала: стратегия комплексно учитывает индикаторы тренда (GM-8), силы тренда (ADX) и направления тренда (EMA), что позволяет эффективно отфильтровывать некоторые ложные сигналы.
  2. Настраиваемые параметры, высокая гибкость: параметры стратегии, такие как цикл GM-8, цикл ADX, порог ADX, второй цикл EMA, могут быть скорректированы в соответствии с рыночными характеристиками и личными предпочтениями для адаптации к различным стилям торговли.
  3. Ясная логика и легкость реализации: логика торговли в этой стратегии относительно проста и понятна, ее легко понять и реализовать, и она подходит для начинающих трейдеров.

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

  1. Задержка в распознавании тенденций: такие индикаторы, как GM-8, по своей сути являются задержанными индикаторами, и могут возникать задержки в распознавании тенденций, что приводит к упущению оптимального момента входа или увеличению убытков.
  2. Частые сделки: Эта стратегия содержит относительно много сигналов о покупке и продаже, что может привести к частым сделкам, увеличить стоимость комиссий и может плохо работать в нестабильных рынках.
  3. Сложность выбора параметров: стратегия включает в себя несколько параметров, и поиск оптимального параметрового сочетания требует большого количества обратной связи и аналитической работы, что может быть затруднительно для начинающих.

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

  1. Введение дополнительных условий фильтрации: помимо GM-8, ADX и EMA, могут быть добавлены другие вспомогательные показатели, такие как трафик, волатильность и т. д., что еще больше улучшит качество сигнала.
  2. Оптимизация времени входа и выхода: можно рассмотреть возможность внедрения методов, таких как постепенное создание позиций и поэтапное остановка потерь, чтобы снизить риски по отдельным сделкам и повысить общую прибыльность.
  3. Динамическая корректировка параметров: в зависимости от изменения состояния рынка, динамическая корректировка параметров стратегии, например, использование более длинных циклов GM-8 в трендовых рынках, использование более коротких циклов GM-8 в волатильных рынках и т. д.
  4. Присоединение к управлению позициями: Контроль над размером позиций для каждой сделки в зависимости от состояния средств в счете, предпочтений риска и других факторов, чтобы избежать чрезмерной концентрации риска.

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

GM-8 & ADX Двойная равнолинейная стратегия - классическая количественная торговая стратегия, использующая комбинацию нескольких технических показателей для идентификации сигналов покупки и продажи. Преимущества этой стратегии заключаются в том, что логика простая и четкая, сигналы относительно надежные и подходят для использования новичками. Но в то же время существуют такие риски, как задержка в идентификации тенденций, частые сделки и трудности в выборе параметров.

Исходный код стратегии
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)

// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")

// Calculate the ADX manually
adx(high, low, close, length) =>
    sum_truerange = 0.0
    sum_plusDM = 0.0
    sum_minusDM = 0.0
    for i = 1 to length
        truerange_calc = high[i] - low[i]
        truerange_prev_close = high[i] - close[i-1]
        truerange_close = low[i] - close[i-1]
        truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
        truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
        sum_truerange := sum_truerange + truerange_calc
        plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
        sum_plusDM := sum_plusDM + plusDM
        minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
        sum_minusDM := sum_minusDM + minusDM
    plusDI = sum_plusDM / sum_truerange * 100
    minusDI = sum_minusDM / sum_truerange * 100
    sumDI = plusDI + minusDI
    adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)

// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)

// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold

// Entry and exit logic
if (buy_condition)
    strategy.entry("Buy", strategy.long, qty=lot_size)

if (sell_condition)
    strategy.entry("Sell", strategy.short, qty=lot_size)

// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8

if (exit_buy_condition)
    strategy.close("Buy")

if (exit_sell_condition)
    strategy.close("Sell")