Эта стратегия называется стратегией переворота тренда с учетом объема. Она направлена на выявление потенциальных точек переворота тренда и прибыли, когда цены отклоняются от среднего уровня.
Стратегия использует два показателя: VWAP и QQE Mod.
VWAP означает средневзвешенную цену по объему. Он рассчитывает среднюю цену актива за определенный период времени, взвешенную по объему.
QQE Mod является модифицированной версией индикатора количественной качественной оценки, включающей элементы индекса относительной силы (RSI) и экспоненциальных скользящих средних (EMA).
Сигнал покупки генерируется, когда цена закрытия превышает значения VWAP и QQE Mod. Это указывает на потенциальную возможность покупки, когда цена выше средней и показывает силу в соответствии с QQE Mod.
Сигнал продажи генерируется, когда цена закрытия ниже как значений VWAP, так и значений QQE Mod. Это указывает на потенциальную возможность продажи, когда цена ниже среднего и показывает слабость в соответствии с QQE Mod.
Объединяя VWAP и QQE Mod, стратегия направлена на своевременное выявление и получение прибыли от изменения тренда, когда цены отскакивают от экстремальных уровней.
Преимущества этой стратегии включают:
VWAP оценивает цены в зависимости от объема, что делает анализ более значимым.
QQE Mod помогает оценить, являются ли движения цен устойчивыми тенденциями или просто случайным шумом.
Сочетание генерирует ранние сигналы, когда цены начинают меняться.
Индикаторы могут быть оптимизированы для различных рынков и временных рамок.
Легкая обратная проверка и реализация. Стратегия может быть написана непосредственно в Pine Script для TradingView или конвертирована в MQL для автоматизированной торговли MT4/MT5.
Несмотря на разумную логику, риски торговли все еще существуют, включая:
Как и все индикаторы, VWAP и QQE могут генерировать ложные сигналы, приводящие к потерям.
Риск снижения. Значительная волатильность может привести к снижению портфеля. Риск можно контролировать с помощью стоп-лосса.
Параметры могут быть оптимизированы для исторических данных, но не подходят для данных, не входящих в выборку.
Фактическая производительность может отличаться от результатов обратного тестирования.
Дополнительные риски от отключения серверов, ошибок сети и т.д., если они используются для автоматизированной торговли.
Стратегия может быть улучшена в нескольких аспектах:
Выберите подходящие акции. Более ликвидные акции могут дать лучшие сигналы VWAP и QQE.
Оптимизируйте входные значения QQE для идеальной производительности.
Разумные уровни стоп-лосса и задержки помогают контролировать риск.
Учет торговых затрат. включать комиссионные и скольжение, чтобы сделать моделирование более реалистичным.
Дополнительные фильтры на прорывы объема или волатильность могут уменьшить ложные сигналы.
Стратегия объемного взвешивания тенденций объединяет VWAP и QQE Mod для выявления потенциальных поворотных точек в ценовых тенденциях. Она включает в себя как объемный, так и импульсный анализ для улавливания краткосрочных перемен.
/*backtest start: 2024-01-21 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("VWAP and QQE Mod Strategy", overlay=true) // Input parameters length = input(14, title="QQE Length") m = input(5, title="QQE Smoothing") filterLength = input(5, title="QQE Filter Length") // Calculate VWAP vwapValue = ta.sma(close * volume, length) / ta.sma(volume, length) // Calculate QQE Mod indicator qqeMod(source, length, m, filterLength) => emaSource = ta.ema(source, length) rsiValue = ta.rsi(source, length) var float j = na j := (1.0 - 1.0 / m) * nz(j[1]) + 1.0 / m * (rsiValue - 50) upperBand = emaSource + filterLength * ta.stdev(source - emaSource, length) lowerBand = emaSource - filterLength * ta.stdev(source - emaSource, length) qqeModValue = j > 0 ? upperBand : lowerBand [qqeModValue, upperBand, lowerBand] [qqeModValue, upperBand, lowerBand] = qqeMod(close, length, m, filterLength) // Generate trading signals buySignal = close > vwapValue and close > qqeModValue sellSignal = close < vwapValue and close < qqeModValue // Plot signals on the chart bgcolor(buySignal ? color.new(color.green, 90) : na) bgcolor(sellSignal ? color.new(color.red, 90) : na) // Print trading signals strategy.entry("Buy", strategy.long, when=buySignal) strategy.entry("Sell", strategy.short, when=sellSignal)