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

Автор:Чао Чжан, Дата: 2023-10-25 17:34:41
Тэги:

img

Обзор

Целью стратегии постепенного накопления является выявление потенциальных фаз накопления и распределения на рынке с использованием принципов анализа Wyckoff, дополненного обнаружением весенних и восходящих моделей, для поиска потенциальных возможностей покупки и продажи.

Логика стратегии

  1. Используйте скользящие средние перекрестки различной длины для определения фаз накопления и распределения. Когда цена закрытия пересекает MA длины AccumulationLength, это указывает на фазу накопления. Когда цена закрытия пересекает MA длины DistributionLength, это указывает на фазу распределения.

  2. Используйте скользящие средние перекрестки разных длин для определения моделей весны и подъема. Когда низкая цена пересекает MA длины SpringLength, это указывает на весну. Когда высокая цена пересекает MA длины UpthrustLength, это указывает на подъем.

  3. Длинный ход, когда наблюдается весна во время фазы накопления. короткий ход, когда наблюдается подъем во время фазы распределения.

  4. Установка уровней стоп-лосса. Длинный стоп-лосс устанавливается на уровне закрытия * (1 - Стоп-процент%). Короткий стоп-лосс устанавливается на уровне закрытия * (1 + Стоп-процент%).

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

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

  1. Выявление фаз накопления и распределения с помощью анализа Wyckoff повышает надежность торговых сигналов.

  2. Подтверждение сигналов с помощью весенних и подъемных моделей обеспечивает дальнейшее подтверждение.

  3. Стоп-лосс помогает контролировать однократные убытки.

  4. Аннотации на графике ясно показывают весь процесс обмотки цен.

  5. Из-за регулируемых параметров эта стратегия может быть оптимизирована на разных рынках и в разные сроки.

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

  1. Whipsaws могут генерировать ложные сигналы во время колебаний цены.

  2. Пролет и подъем могут время от времени не работать.

  3. Снижение стоп-лосса может увеличить убытки.

  4. Несовместимые параметры для разных рынков могут вызывать неправильные сигналы.

  5. В механических системах отсутствует гибкий дискреционный контроль.

Руководство по оптимизации

  1. Испытать оптимальные комбинации параметров на разных рынках и временных рамках.

  2. Подумайте о включении громкости для подтверждения сигнала.

  3. Установите динамические остановки на основе волатильности рынка.

  4. Включите основные факторы, чтобы избежать сигналов на крупных событиях.

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

Резюме

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


/*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)

Больше