Стратегия осциллятора процентного объема


Дата создания: 2023-11-06 15:45:02 Последнее изменение: 2023-11-06 15:45:02
Копировать: 1 Количество просмотров: 799
1
Подписаться
1617
Подписчики

Стратегия осциллятора процентного объема

Описание:

Процентная волатильность торгов (PVO) - динамическая волатильность торгов. PVO измеряет изменение тенденции торгов, рассчитывая процентную разницу между движущимися средними индексами торгов за два различных цикла. Эта стратегия использует индикатор PVO для обнаружения тенденции торгов, чтобы подтвердить или опровергнуть ценовую ситуацию.

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

  1. Расчет краткосрочного объема торгов EMA ((по умолчанию 12 дней)
  2. Расчет долгосрочного объема сделки EMA (по умолчанию 26 дней)
  3. Расчет процентной разницы между краткосрочной и долгосрочной ЭМА в качестве PVO
  4. Расчет PVO по сигнальной линии EMA ((по умолчанию 9 дней)
  5. Расчет разницы между PVO и сигнальной линией в виде столбового графика
  6. Когда сигнал проходит через PVO-линию, пустота, а когда проходит, больше.
  7. Опциональная обратная торговля
  8. Различные цвета для K-линий, соответствующих торговым сигналам

Эта стратегия использует комбинацию двойных EMA для формирования показателя PVO, а затем в сочетании с сигнальной линией обнаруживает тенденцию изменения объема торговли и направляет цену на торговлю. В отличие от обычной двойной EMA, PVO больше смотрит на процентную разницу в объеме торговли и может более четко определять увеличение или уменьшение объема торговли.

Анализ силы:

  1. Использование изменений в объеме торгов для определения будущих тенденций цен имеет некоторое сдерживающее действие.
  2. Двойная структура EMA проста и практична, параметры гибко регулируются
  3. Визуализация цвета K-линии, интуитивное определение тенденций, удобство работы
  4. Сочетание сигнальных линий уменьшает ложные сигналы и повышает стабильность
  5. Выбор реверсных сделок, богатая стратегия использования
  6. Применяется для средне-длиннолинейных трендов и коротколинейных операций

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

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

  1. Показатель объема сделок отстает от ценового сигнала и может отклониться от него.
  2. Неправильная настройка параметров EMA может привести к неправильному пониманию состояния рынка
  3. Осторожность при реверсных сделках может привести к убыткам
  4. Невозможно определить конкретную точку входа в зависимости от количества сделок
  5. Количество сделок не обязательно будет 100%-ным прогнозом цены, они должны сочетаться с другими показателями.

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

Как оптимизировать стратегию:

  1. Оптимизация параметров цикла EMA для различных сортов и циклов
  2. Добавление фильтров, чтобы избежать недействительных сигналов
  3. Время подтверждения в сочетании с другими показателями
  4. Увеличение убыточной строки

Можно тестировать оптимальный набор параметров EMA, искать оптимальный цикл для определения тенденции покупки и продажи. Можно установить условия для колебания объема сделки, фильтровать сигналы недействительности. Можно ввести такие показатели, как MACD, KD и другие, чтобы дополнительно подтвердить конкретную точку входа. Можно также установить линию стоп-лоса, чтобы контролировать одиночные потери. Это значительно повысит практичность стратегии.

В заключение:

Стратегия использует простую и эффективную структуру двойных ЭМА, измеряющую колебания объема сделки с помощью интуитивного цвета K-линии, чтобы усилить визуальную эффективность. Можно выбрать обратную сделку в зависимости от необходимости, параметры могут быть настроены гибко, как для средней, так и для короткой линии, и это очень практичный инструмент для стратегии, основанной на торговле. Однако индикатор объема сделки имеет задержку по отношению к сигналу цены и не может четко определить таймер, поэтому необходимо оптимизировать параметры и использовать другие индикаторы для повышения эффективности стратегии.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/09/2017
// The Percentage Volume Oscillator (PVO) is a momentum oscillator for volume. 
// PVO measures the difference between two volume-based moving averages as a 
// percentage of the larger moving average. As with MACD and the Percentage Price 
// Oscillator (PPO), it is shown with a signal line, a histogram and a centerline. 
// PVO is positive when the shorter volume EMA is above the longer volume EMA and 
// negative when the shorter volume EMA is below. This indicator can be used to define 
// the ups and downs for volume, which can then be use to confirm or refute other signals. 
// Typically, a breakout or support break is validated when PVO is rising or positive. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percentage Volume Oscillator (PVO)", shorttitle="PVO")
LengthShortEMA = input(12, minval=1)
LengthLongEMA = input(26, minval=1)
LengthSignalEMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xShortEMA = ema(volume , LengthShortEMA)
xLongEMA = ema(volume , LengthLongEMA)
xPVO = ((xShortEMA - xLongEMA) / xLongEMA) * 100
xSignalEMA = ema(xPVO , LengthSignalEMA)
xPVOHisto = xPVO - xSignalEMA
pos = iff(xSignalEMA < xPVO, -1,
	   iff(xSignalEMA > xPVO, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xPVO, color=blue, title="PVO")
plot(xSignalEMA, color=red, title="Signal")
plot(xPVOHisto, color=gray, title="PVO Histo", style=histogram)