볼륨 퍼센트 오실레이터 전략


생성 날짜: 2023-11-06 15:45:02 마지막으로 수정됨: 2023-11-06 15:45:02
복사: 1 클릭수: 804
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

볼륨 퍼센트 오실레이터 전략

설명:

거래량 비율 진동 지수 (PVO) 는 거래량에 사용되는 동적 규모 진동 지수이다. PVO는 거래량 지수 이동 평균 사이의 차이 비율을 계산하여 거래량 추세의 변화를 측정한다. 이 전략은 거래량 추세를 발견하기 위해 PVO 지수를 사용하여 가격 상황을 확인하거나 부정한다. 일반적으로 PVO가 긍정적이거나 상승할 때, 부위 파장을 돌파하거나 지원하는 것이 더 효과적이다.

전략적 원칙:

  1. 단기 거래량 계산 EMA ((설정 12일)
  2. 장기 거래량 계산 EMA (설정 26일)
  3. 단기 EMA와 장기 EMA의 차이 비율을 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가 잘못된 신호를 발산할 수 있다. 변수 설정이 적절하지 않으면 판단 효과에도 영향을 줄 수 있다. 트렌드가 지속될 수 있기 때문에 역거래를 할 때는 신중해야 한다. 거래량이 구체적인 입시 시기를 판단하기 어렵고, 다른 지표의 정밀한 조작을 보조해야 한다. 거래량 지표는 가격을 100% 예측할 수 없으며, 여전히 신중하게 따라야 한다.

전략적 최적화 방향:

  1. 다양한 품종과 주기에 맞는 EMA 주기 변수를 최적화
  2. 필터링 조건을 추가하여 무효 신호를 피합니다.
  3. 다른 지표와 함께 진입 시점 확인
  4. 더 많은 손해배상

테스트를 통해 최적의 EMA 파라미터 조합을 찾고, 최적의 시기를 찾아서 거래 트렌드를 판단할 수 있다. 거래량 변동폭 조건을 설정할 수 있으며, 무효 신호를 필터링할 수 있다. MACD, KD 등의 지표를 도입할 수 있으며, 구체적인 입점 지점을 추가적으로 확인할 수 있다. 또한, 단편 손실을 제어하는 스톱로스를 설정할 수 있다.

결론:

거래량 지수 진동 지표 전략은 거래량 지수의 이동 평균의 차이 비율을 계산하여 거래량 변화의 경향을 판단하여 가격의 가능한 미래 움직임을 발견합니다. 이 전략은 간단한 효과적인 쌍 EMA 구조를 사용하여 거래량 변동을 측정합니다. 직관적인 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)