양량 흐름 지표 기반 트렌드 전략

저자:차오장, 날짜: 2023-11-15 17:53:51
태그:

img

전반적인 설명

이 전략은 거래량의 변화를 계산하여 시장 트렌드 방향을 판단하고, 트렌드의 시작에서 포지션을 설정하고 트렌드가 끝나면 포지션을 닫는 방식으로 트렌드를 따르는 접근 방식을 채택합니다.

전략 논리

  1. 전형적인 가격, 로가ριθ믹 반환 간, 그리고 반환 변동 Winter을 계산
  2. 평균 거래 부피를 계산하고 최대 거래 부피의 문턱을 vmax
  3. 가격 변화 mf를 계산하고, 가격 동력을 얻기 위해 변동 임계 절단점과 비교합니다.
  4. 부피 가격 지표 vfi를 얻기 위해 총 vcp, 계산 vfi와 이동 평균 vfima
  5. 차이점 dVFI를 얻기 위해 vfima와 vfi를 비교하고 트렌드 방향을 결정합니다.
  6. dVFI가 0을 넘으면 상승 신호이고 0을 넘으면 하락 신호입니다.
  7. dVFI 패턴에 기반한 장기 및 단기 전략을 수립

이점 분석

  1. 이 전략은 트렌드 판단에 대한 거래량 변화의 영향을 완전히 고려하며, 트렌드 강도를 측정하고 트렌드 전환점을 더 정확하게 파악하기 위해 모멘텀 지표를 사용합니다.

  2. 이 전략은 거래량 임계 계산을 포함하여 정상적인 변동을 필터링하고 큰 자금의 집단 행동을 포착하여 시장 소음에 의해 오해되는 것을 피합니다.

  3. 가격과 부피의 합성 고려는 잘못된 파장을 효과적으로 피할 수 있습니다.

  4. 이동 평균과 논리적 기준을 사용하면 대부분의 잘못된 신호를 필터링합니다.

  5. 반전을 예측하기보다는 트렌드를 따르는 것이 중장기 트렌드 거래와 시장의 주요 방향을 파악하는 데 적합합니다.

위험 분석

  1. 이 전략은 주로 트렌드를 결정하기 위해 거래량 변화에 의존하고 있으며, 비활성적인 거래량과 제품에서 그 효과는 손상 될 수 있습니다.

  2. 거래량 데이터는 조작될 수 있고, 잠재적으로 잘못된 신호를 생성할 수 있기 때문에 가격과 거래량의 오차는 주의해야 합니다.

  3. 가격과 부피의 관계는 종종 뒤떨어져 있으며, 트렌드의 시작에서 최적의 입시 시기를 놓칠 수 있습니다.

  4. 원시 스톱 로스 방식은 트렌드를 지속적으로 파악할 수 없기 때문에 조기에 트레이드를 종료 할 수 있습니다.

  5. 단기적인 수정에 효과적으로 반응할 수 없으며 갑작스러운 사건에 민감하지 않을 수 있습니다.

이동 평균, 변동성 지표를 통합하여 입상 및 정지를 최적화하십시오. 잘못된 신호를 피하기 위해 더 많은 데이터 소스를 사용하여 가격 부피를 분석하십시오. 단기 수정에 대한 반응성을 향상시키기 위해 적절한 기술적 지표를 통합하십시오.

최적화 방향

  1. 트렌드가 시작되면 엔트리를 확인하기 위해 이동 평균, ichimoku kinko hyo 등을 통합하여 엔트리 조건을 최적화하십시오.

  2. 트레일링 스톱, 단계적 스톱 등을 사용하여 스톱을 최적화하여 스톱이 가격과 트렌드 스톱을 밀접하게 준수하도록하십시오.

  3. ADX와 같은 트렌드 메트릭을 추가하여 범위와 불안정한 시장에서 잘못된 거래를 피합니다.

  4. 최적의 매개 변수 조합을 찾기 위해 더 긴 백테스트를 통해 매개 변수를 최적화합니다.

  5. 더 많은 제품으로 전략을 확장하고, 더 높은 품질의 도구와 액티브 볼륨을 찾고 있습니다.

  6. 가격-량 분석을 위해 더 많은 데이터를 활용하고 신호 품질을 향상시키기 위해 기계 학습 모델을 추가하는 것을 고려하십시오.

결론

전반적인 전략 논리는 명확하며 직관적인 핵심 지표가 유력하게 트렌드 방향을 식별합니다. 장점은 중장기 트렌드를 추적하는 데 적합한 거래량 변화를 강조하는 데 있습니다. 그러나 오해의 소지가있는 신호를 조심해야합니다. 매개 변수, 중지 손실, 지표 조합의 추가 개선은 실시간 성능을 향상시킬 수 있습니다.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Strategy for Volume Flow Indicator with alerts and markers on the chart", overlay=true)
// This indicator has been copied form Lazy Bear's code
lengthVFI = 130 
coefVFI = 0.2 
vcoefVFI = 2.5 
signalLength= 5 
smoothVFI=true 

ma(x,y) => smoothVFI ? sma(x,y) : x

typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coefVFI * vinter * close
vave = sma( volume, lengthVFI )[1]
vmax = vave * vcoefVFI
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )

vfi = ma(sum( vcp , lengthVFI )/vave, 3)
vfima=ema( vfi, signalLength )
dVFI=vfi-vfima

bullishVFI = dVFI > 0 and dVFI[1] <=0
bearishVFI =  dVFI < 0 and dVFI[1] >=0

longCondition = dVFI > 0 and dVFI[1] <=0
shortCondition = dVFI < 0 and dVFI[1] >=0

plotshape(bullishVFI, color=color.green, style=shape.labelup, textcolor=#000000, text="VFI", location=location.belowbar, transp=0)
plotshape(bearishVFI, color=color.red, style=shape.labeldown, textcolor=#ffffff,  text="VFI", location=location.abovebar, transp=0)

alertcondition(bullishVFI, title='Bullish - Volume Flow Indicator', message='Bullish - Volume Flow Indicator')
alertcondition(bearishVFI, title='Bearish - Volume Flow Indicator', message='Bearish - Volume Flow Indicator')

if(year > 2018)
    strategy.entry("Long", strategy.long, when=dVFI > 0 and dVFI[1] <=0)

if(shortCondition)
    strategy.close(id="Long")



더 많은