Торговая стратегия кумулятивного прорыва


Дата создания: 2023-10-25 17:34:41 Последнее изменение: 2023-10-25 17:34:41
Копировать: 1 Количество просмотров: 739
1
Подписаться
1617
Подписчики

Торговая стратегия кумулятивного прорыва

Обзор

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

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

  1. Для определения этапов аккумулирования и распределения используются пересечения средних линий разных длин. При средней линии AccumulationLength на закрытии цены, этапы аккумулирования; при средней линии DistributionLength на закрытии цены, этапы распределения.

  2. Для определения формы пролета и реверса используются пересечения равномерных линий различной длины. Если средняя линия пролета в нижней точке составляет пролетную длину, то она рассматривается как равномерная; если средняя линия пролета в нижней точке составляет пролетную длину, то она рассматривается как реверсную.

  3. При наблюдении формы стрельбы и стрельбы в постепенном возрастании делают больше; при наблюдении формы реверсии в распределении делают пустоту.

  4. Уровень стоп-убытков. Стоп-убытков длинной позиции составляет ((1 - стоп-убытков в процентах от цены закрытия), стоп-убытков короткой позиции составляет ((1 + стоп-убытков в процентах от цены закрытия)).

  5. На диаграммах обозначены ступеньки, ступеньки распределения, формы стрельбы и формы поворота, что облегчает идентификацию форм.

Анализ преимуществ

  1. Использование методов векторного анализа для определения стадий аккумулирования и распределения рыночных тенденций может повысить надежность торговых сигналов.

  2. В сочетании с формой скачки и формой обратной обработки можно дополнительно проверить торговый сигнал.

  3. Установка стоп-лосса позволяет эффективно контролировать одиночные потери.

  4. На графике можно четко увидеть весь процесс формирования аккумулятора.

  5. Параметры стратегии настраиваются и оптимизируются для различных рынков и циклов торгов.

Анализ рисков

  1. Пульсирование может привести к тому, что равнолинейный сигнал будет подавать ошибочный сигнал.

  2. Ударная форма и обратная форма могут потерять силу.

  3. Превышение стоп-лосса может привести к увеличению убытков.

  4. Для различных рынков требуется корректировка параметров, если они не подходят, это может привести к ошибкам в торговых сигналах.

  5. Система автоматической торговли может быть недостаточно гибкой, и ее необходимо контролировать.

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

  1. Оптимальное сочетание параметров, которое может быть протестировано в разных рынках в разные периоды.

  2. Для подтверждения транзакционного сигнала следует учитывать добавление фактора объема транзакций.

  3. Можно установить динамический стоп, который корректируется в зависимости от рыночных колебаний.

  4. Можно рассмотреть возможность включения фундаментальных факторов, чтобы избежать ошибочных сделок в важные моменты времени.

  5. Параметры динамической оптимизации могут быть включены в алгоритмы машинного обучения.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © deperp

//@version=5
strategy("Wyckoff Range Strategy",  overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)

// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")

// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))

// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))

// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))

// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust

enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring

// Entry and Exit Conditions
if (enterLong)
    strategy.entry("Long", strategy.long)
    
if (exitLong)
    strategy.close("Long")

if (enterShort)
    strategy.entry("Short", strategy.short)

if (exitShort)
    strategy.close("Short")

// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)

// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)