이 전략은 볼륨 가중 트렌드 역전 전략 (Volume Weighted Trend Reversal Strategy) 이라고 불린다. 가격은 평균 수준에서 벗어나면 잠재적인 트렌드 역전 포인트와 수익을 식별하는 것을 목표로 한다. 거래 신호를 생성하기 위해 볼륨 가중 평균 가격 (VWAP) 과 양적 질적 추정 수정 (QQE Mod) 인디케이터를 결합한다.
이 전략은 두 가지 지표를 사용합니다. VWAP와 QQE 모드.
VWAP (Volume Weighted Average Price) 는 부피에 따라 가중된 자산의 평균 가격을 계산합니다.
QQE 모드는 상대적 강도 지수 (RSI) 와 기하급수적 이동 평균 (EMA) 의 요소를 포함하는 양적 질적 추정 지수의 수정 버전입니다. 잠재적인 트렌드 반전을 식별하고 트렌드의 강도를 평가하는 데 도움이됩니다.
구매 신호는 종료 가격이 VWAP와 QQE Mod 값 모두 이상일 때 생성됩니다. 이것은 가격이 평균보다 높고 QQE Mod에 따라 힘을 나타내는 잠재적인 구매 기회를 나타냅니다.
판매 신호는 종료 가격이 VWAP와 QQE 모드 두 가지 값보다 낮을 때 생성됩니다. 이것은 가격이 평균보다 낮고 QQE 모드에 따라 약점을 나타내는 잠재적인 판매 기회를 나타냅니다.
VWAP와 QQE 모드를 결합함으로써 이 전략은 가격의 극심한 수준에서 반등될 때 트렌드 반전을 적시에 파악하고 수익을 창출하는 것을 목표로 합니다.
이 전략의 장점은 다음과 같습니다.
가격 분석과 부피 분석을 결합합니다. VWAP는 부피에 따라 가격을 가중화하여 분석을 더 의미있게 만듭니다.
추세와 무작위 변동을 구별합니다. QQE 모드는 가격 움직임이 지속 가능한 추세인지 무작위 소음인지 판단하는 데 도움이됩니다.
역행에 대한 적절한 신호입니다. 이 조합은 가격이 역행하기 시작할 때 초기 신호를 생성합니다.
사용자 정의 가능한 매개 변수. 지표 입력은 다른 시장과 시간 프레임에 최적화 될 수 있습니다.
쉬운 백테스팅 및 구현. 전략은 트레이딩뷰를 위해 파이인 스크립트로 직접 작성하거나 MT4/MT5 자동 거래에 MQL로 변환 할 수 있습니다.
합리적인 논리에도 불구하고, 거래 위험은 여전히 존재합니다.
모든 지표와 마찬가지로 VWAP와 QQE는 손실로 이어지는 잘못된 신호를 생성할 수 있습니다.
마감 위험. 상당한 변동성은 포트폴리오 마감으로 이어질 수 있습니다. 위험은 중지 손실을 통해 제어 할 수 있습니다.
과도한 적합성 위험이 있습니다. 파라미터들은 역사적인 데이터에 대해 너무 최적화되어 있지만 표본 외의 데이터에서는 실패할 수 있습니다.
백테스트 대 실시간 성능 오차 실제 성능은 백테스트 결과와 다를 수 있습니다.
자동화 거래 위험. 자동화 거래에 사용되는 경우 서버 장애, 네트워크 오류 등에 대한 추가 위험.
이 전략은 몇 가지 측면에서 개선될 수 있습니다.
적절한 주식을 선택하세요. 더 유동적인 주식은 더 나은 VWAP와 QQE 신호를 줄 수 있습니다.
매개 변수를 조정하고 최적의 성능을 위해 QQE 입력 값을 최적화합니다.
스톱 로스를 포함합니다. 합리적인 스톱 로스 레벨과 후속 스톱은 위험을 조절하는 데 도움이됩니다.
거래 비용을 계산합니다. 시뮬레이션을 더 현실적으로 만들기 위해 수수료와 미끄러짐을 포함합니다.
필터를 추가합니다. 부피 파업이나 변동성에 대한 추가 필터는 잘못된 신호를 줄일 수 있습니다.
볼륨 가중 트렌드 역전 전략 (Volume Weighted Trend Reversal Strategy) 은 가격 트렌드에서 잠재적 인 전환점을 식별하기 위해 VWAP와 QQE 모드를 결합합니다. 단기적 역전을 포착하기 위해 볼륨 및 추진력 분석을 모두 포함합니다. 구현하기 쉽고 시장 조건에 따라 최적화 될 수 있으며 거래자에게 유력한 옵션으로 남아 있습니다. 그럼에도 불구하고 위프와 드라우다운의 위험이 지속되며 신중한 백테스팅과 위험 통제가 필요합니다.
/*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)