В процессе загрузки ресурсов... загрузка...

Стратегия торговли с несколькими временными рамками, объединяющая гармонические модели и Williams %R

Автор:Чао Чжан, Дата: 2025-01-17 16:19:15
Тэги:WPRSLТПRRПериод

 Multi-Timeframe Trading Strategy Combining Harmonic Patterns and Williams %R

Обзор

Эта стратегия представляет собой передовую торговую систему, которая сочетает в себе гармонические модели с индикатором Williams Percent Range (WPR). Она определяет гармонические образования (такие как модели Гартли, Бат, Краб и Баттерфляй) на рынке и использует уровни перекупленности / перепроданности WPR для определения точек входа и выхода в торговлю. Стратегия использует несколько механизмов подтверждения, используя синергию технических показателей для повышения точности и надежности торговли.

Принципы стратегии

Основная логика включает в себя несколько ключевых компонентов: 1. распознавание гармонических моделей: использует ценные поворотные точки для выявления потенциальных гармонических образований путем анализа отношений между максимумами и минимумами. 2. Учет Williams %R: использует пользовательский период для расчета WPR, анализируя отношения между высокой, низкой и закрывающейся ценами для определения рыночных условий. Условия въезда: - Длинный вход: когда появляется динамика роста и WPR находится на перепроданной территории - Короткий вход: когда появляется понижающийся гармонический рисунок и WPR находится на перекупленной территории 4. Управление рисками: реализует динамическое стоп-лосс на основе недавних минимумов/максимумов и устанавливает уровни получения прибыли с использованием коэффициентов риск-вознаграждение.

Преимущества стратегии

  1. Многомерный анализ: объединяет анализ моделей с индикаторами импульса для более надежных торговых сигналов.
  2. Устойчивый контроль рисков: использует динамические параметры стоп-лосса и риск-вознаграждения для эффективного контроля риска на торговле.
  3. Высокая адаптивность: может быть адаптирована к различным рыночным условиям и инструментам посредством оптимизации параметров.
  4. Механизм подтверждения сигнала: уменьшает ложные сигналы посредством двойного подтверждения с использованием гармонических моделей и WPR.

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

  1. Риск распознавания моделей: упрощенное распознавание гармонических моделей может привести к ошибочной идентификации некоторых формаций.
  2. Чувствительность параметров: несколько параметров требуют тщательной оптимизации, поскольку неправильные настройки могут повлиять на эффективность стратегии.
  3. Зависимость от рыночной среды: может быть низкой на сильно волатильных или колеблющихся рынках.
  4. Отставание сигнала: сигналы, основанные на технических показателях, могут иметь врожденное отставание.

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

  1. Улучшенное распознавание моделей:
    • Добавить более строгое подтверждение гармонического соотношения
    • Включить анализ структуры цен для улучшения выявления моделей
  2. Фильтрация сигнала:
    • Добавить фильтры трендов
    • Рассмотреть показатели волатильности для адаптации к рыночной среде
  3. Оптимизация управления рисками:
    • Внедрение динамических корректировок коэффициента риск-прибыль
    • Добавление размеров позиций на основе волатильности

Резюме

Эта стратегия создает всеобъемлющую торговую систему, сочетая гармонические модели с индикатором Williams %R. Ее сильные стороны заключаются в многомерном подходе к анализу и надежных механизмах контроля рисков, хотя необходимо обратить внимание на оптимизацию параметров и адаптацию к рыночной среде.


/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("Harmonic Pattern with WPR Backtest", overlay=true)

// === Inputs ===
patternLength = input.int(5, title="Pattern Length")
wprLength = input.int(14, title="WPR Length")
wprOverbought = input.float(-20, title="WPR Overbought Level")
wprOversold = input.float(-80, title="WPR Oversold Level")
riskRewardMultiplier = input.float(0.618, title="Take-Profit Risk/Reward Multiplier")
stopLossBuffer = input.float(0.005, title="Stop-Loss Buffer (%)")

// === Manual Calculation of William Percent Range (WPR) ===
highestHigh = ta.highest(high, wprLength)
lowestLow = ta.lowest(low, wprLength)
wpr = ((highestHigh - close) / (highestHigh - lowestLow)) * -100

// === Harmonic Pattern Detection (Simplified Approximation) ===
// Calculate price pivots
pivotHigh = ta.pivothigh(high, patternLength, patternLength)
pivotLow = ta.pivotlow(low, patternLength, patternLength)

// Detect Bullish and Bearish Harmonic Patterns
bullishPattern = pivotLow and close > ta.lowest(close, patternLength)  // Simplified detection for bullish patterns
bearishPattern = pivotHigh and close < ta.highest(close, patternLength)  // Simplified detection for bearish patterns

// === Entry Conditions ===
longCondition = bullishPattern and wpr < wprOversold
shortCondition = bearishPattern and wpr > wprOverbought

// === Stop-Loss and Take-Profit Levels ===
longEntryPrice = close
longSL = ta.valuewhen(longCondition, low, 0) * (1 - stopLossBuffer)  // Stop-loss for long trades
longTP = longEntryPrice * (1 + riskRewardMultiplier)  // Take-profit for long trades

shortEntryPrice = close
shortSL = ta.valuewhen(shortCondition, high, 0) * (1 + stopLossBuffer)  // Stop-loss for short trades
shortTP = shortEntryPrice * (1 - riskRewardMultiplier)  // Take-profit for short trades

// === Backtesting Logic ===
// Long Trade
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=longSL, limit=longTP)

// Short Trade
if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=shortSL, limit=shortTP)

// === Visualization ===
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Long Entry Signal")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Short Entry Signal")


Связанные

Больше