Динамическая система подтверждения тренда на основе прорыва ящика Дарваса и скользящей средней

MA25 SMA
Дата создания: 2024-11-18 16:00:53 Последнее изменение: 2024-11-18 16:02:45
Копировать: 6 Количество просмотров: 617
1
Подписаться
1617
Подписчики

Динамическая система подтверждения тренда на основе прорыва ящика Дарваса и скользящей средней

Обзор

В данной статье представлена система отслеживания трендов, объединяющая Дарвасскую коробку (Darvas Box) и 25-циклическую скользящую среднюю (MA25). Эта стратегия позволяет идентифицировать коробки, образующиеся в промежутках между ценовыми переключениями, и, в сочетании с подтверждением равномерной тенденции, улавливать сильные моменты при прорыве. Система разработана с учетом продолжения тренда и фильтрации ложных прорывов, что обеспечивает трейдерам полную систему для выхода на рынок.

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

Стратегия включает в себя три основных компонента:

  1. Строительство корпуса Даваса: система определяет границы корпуса путем вычисления максимальных и минимальных цен за последние 5 циклов. Верхняя часть корпуса определяется новой высотой, а нижняя - минимальной точкой в соответствующем диапазоне.
  2. Подтверждение среднелинейной тенденции: введение 25-циклической простой скользящей средней в качестве фильтра тенденции, только когда цена находится выше MA25.
  3. Сигналы транзакций генерируются:
    • Сигнал покупки: цена пробилась в верхнюю часть коробки и находится выше MA25
    • Продажа: цены упали до самого низа

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

  1. Сильные трендовые способности:
    • Начало ловли с помощью взлома корпуса
    • В сочетании с фильтрацией MA25 обеспечивает торговлю в направлении основного тренда
  2. Оптимизация качества сигнала:
    • Механизм двойного подтверждения снижает риск ложных взломов
    • Ясные условия для входа и выхода, избегайте субъективных суждений
  3. Уровень риска:
    • Природные остановки на дне корпуса
    • MA25 обеспечивает дополнительную защиту от трендов

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

  1. Риск рыночных потрясений:
    • Частые прорывы могут привести к непрерывным потерям
    • Рекомендуется использовать на рынках с сильными тенденциями
  2. Риск отставания:
    • Создание ящика занимает время, возможно, мы пропустили часть процесса.
    • MA25 как среднесрочная средняя линия существует определенное отставание
  3. Риски управления капиталом:
    • Требуется разумная пропорция капитала для каждой сделки
    • Рекомендуется изменение позиций в сочетании с динамикой волатильности

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

  1. Параметры оптимизации:
    • Регулируемый цикл корпуса в зависимости от рыночных особенностей
    • Циклы МА могут быть скорректированы в соответствии с рыночными циклическими характеристиками
  2. Сигнал усиливается:
    • Дополнительный механизм подтверждения поставок
    • Рассмотреть возможность внедрения механизма динамического остановки убытков
  3. Усиление контроля рисков:
    • Добавить фильтр волатильности
    • Реализовать динамическое управление позициями

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

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

Исходный код стратегии
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DARVAS BOX with MA25 Buy Condition", overlay=true, shorttitle="AEG DARVAS")

// Input for box length
boxp = input.int(5, "BOX LENGTH")

// Calculate 25-period moving average
ma25 = ta.sma(close, 25)

// Lowest low and highest high within the box period
LL = ta.lowest(low, boxp)
k1 = ta.highest(high, boxp)
k2 = ta.highest(high, boxp - 1)
k3 = ta.highest(high, boxp - 2)

// New high detection
NH = ta.valuewhen(high > k1[1], high, 0)

// Logic to detect top and bottom of Darvas Box
box1 = k3 < k2
TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

// Plot the top and bottom Darvas Box lines
plot(TopBox, linewidth=3, color=color.green, title="Top Box")
plot(BottomBox, linewidth=3, color=color.red, title="Bottom Box")
plot(ma25, color=#2195f31e, linewidth=2, title="ma25")

// --- Buy and Sell conditions ---

// Buy when price breaks above the Darvas Box AND MA15
buyCondition = ta.crossover(close, TopBox) and close > ma25

// Sell when price drops below the Darvas Box
sellCondition = ta.crossunder(close, BottomBox)

// --- Buy and Sell Signals ---

// Plot BUY+ and SELL labels
plotshape(series=buyCondition, title="Buy+ Signal", location=location.abovebar, color=#72d174d3, style=shape.labeldown, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.belowbar, color=color.rgb(234, 62, 62, 28), style=shape.labelup, text="SELL")

// --- Strategy execution ---

if (buyCondition)
    strategy.entry("Buy", strategy.long)

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