Эта стратегия представляет собой систему торговли, основанную на перекрестном взаимодействии между индикатором ценового объема (PVT) и его экспоненциальной скользящей средней (EMA). Стратегия определяет изменения тренда рынка путем мониторинга перекрестных ситуаций между PVT и его EMA, тем самым захватывая потенциальные торговые возможности. Этот метод сочетает в себе движения цен и изменения объема, чтобы более точно отражать реальные тенденции рынка.
В основе стратегии используется индикатор PVT, который отслеживает рыночные тенденции путем сочетания движения цен с объемом торговли. В частности, значение PVT рассчитывается путем накопления продукта ежедневного изменения цены процента и ежедневного объема. 20-периодный EMA PVT затем рассчитывается как эталонная линия. Сигналы покупки генерируются, когда PVT пересекает свою EMA, в то время как сигналы продажи генерируются, когда PVT пересекает ее EMA. Эти перекрестные сигналы используются для определения поворотных точек тренда рынка.
Стратегия PVT-EMA Trend Crossover является полноценной торговой системой, которая сочетает в себе анализ цены, объема и тренда. Хотя у нее есть определенные риски задержки и ложных сигналов, стратегия может стать надежным торговым инструментом благодаря соответствующей оптимизации и управлению рисками. Трейдерам рекомендуется провести тщательное тестирование перед реализацией и корректировать параметры в соответствии с конкретными характеристиками рынка.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © PakunFX //@version=5 strategy(title="PVT Crossover Strategy", shorttitle="PVT Strategy", overlay=false, calc_on_every_tick=true) // PVTの計算 var cumVol = 0. cumVol += nz(volume) if barstate.islast and cumVol == 0 runtime.error("No volume is provided by the data vendor.") src = close pvt = ta.cum(ta.change(src) / src[1] * volume) // EMAの計算(PVTをソースに使用) emaLength = input.int(20, minval=1, title="EMA Length") emaPVT = ta.ema(pvt, emaLength) // プロットをオフにする plot(emaPVT, title="EMA of PVT", color=#f37f20, display=display.none) // クロスオーバー戦略 longCondition = ta.crossover(pvt, emaPVT) shortCondition = ta.crossunder(pvt, emaPVT) // シグナル表示もオフにする plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", display=display.none) plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", display=display.none) // 戦略エントリー if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short)