다중 지표 추세 추종 및 볼륨 확인 전략

ADX TTI VPCI VWMA SMA MACD
생성 날짜: 2024-07-31 11:43:53 마지막으로 수정됨: 2024-07-31 11:43:53
복사: 4 클릭수: 681
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

다중 지표 추세 추종 및 볼륨 확인 전략

개요

이 전략은 가격과 거래량 데이터를 종합적으로 분석하여 시장의 강력한 트렌드를 포착하기 위해 여러 기술적 지표가 결합된 트렌드 추적 시스템입니다. 이 전략은 주로 평균 트렌드 지수 ((ADX), 트렌드 추진 지수 ((TTI) 및 거래량 가격 확인 지수 ((VPCI) 의 세 가지 핵심 지표에 기반하여 잠재적인 트렌드 기회를 식별하고 거래 결정을 내리기 위해 상호 작용합니다.

이 전략의 핵심 아이디어는 트렌드의 존재와 강도를 확인하기 위해 ADX를 이용하고, 트렌드의 방향과 동력을 판단하기 위해 TTI를 사용하며, 마지막으로 VPCI를 통해 가격 움직임이 거래량으로 지원되는지 확인하는 것입니다. 이 세 가지 지표가 특정 조건을 동시에 충족하면 전략은 진입 신호를 발산합니다. 이 여러 가지 확인 메커니즘은 거래의 정확성과 신뢰성을 높이고 가짜 신호의 발생을 줄이기 위해 고안되었습니다.

전략 원칙

  1. ADX ((평균 트렌드 지수):

    • 트렌드의 방향을 고려하지 않고 시장 트렌드의 강도를 측정하는 데 사용됩니다.
    • ADX가 30보다 크면 강한 추세로 간주됩니다.
  2. TTI (트렌드 추진 지표):

    • MACD와 비슷하지만 거래량 가중치를 포함합니다.
    • 트렌드 방향과 강도를 판단하기 위해 VWMA를 비교한다.
    • TTI 라인이 신호 라인의 위에 있을 때, 상승 추세를 나타냅니다.
  3. VPCI (거래량 가격 확인 지표):

    • 가격과 거래량 데이터를 결합하여 거래량이 가격 동향을 뒷받침하는지 확인합니다.
    • VPCI가 0보다 크면, 거래량이 확인되었다는 것을 나타냅니다.

전략적 논리:

  • 입시 조건: ADX > 30 그리고 TTI > 신호 라인 그리고 VPCI > 0
  • 출전 조건: VPCI < 0

이 디자인은 강력한 트렌드가 존재할 때만 (ADX에 의해 확인), 트렌드 방향이 상승할 때 (TTI에 의해 확인), 그리고 가격 움직임이 거래량에 의해 뒷받침될 때 (VPCI에 의해 확인) 에서만 진입할 수 있도록 보장한다. 거래량이 가격 움직임을 더 이상 뒷받침하지 않을 때 (VPCI < 0), 전략은 즉시 평정되어 이미 얻은 이익을 보호한다.

전략적 이점

  1. 다중 확인 메커니즘: 트렌드 강도, 방향 및 거래량 지원을 종합적으로 고려하여 잘못된 판단의 위험을 크게 줄이고 거래의 신뢰성을 향상시킵니다.

  2. 동적 시장 적응: 전략은 시장 조건의 변화에 따라 동적으로 조정할 수 있고, 다른 시장 환경에 적용된다.

  3. 거래량 통합: 거래량 요소를 고려하여 보다 포괄적인 시장 관점을 제공하여 보다 신뢰할 수 있는 거래 기회를 식별하는 데 도움이 됩니다.

  4. 위험 관리: VPCI의 실시간 모니터링을 통해 거래량 지원이 약해지면 신속하게 탈퇴하여 위험을 효과적으로 제어할 수 있습니다.

  5. 유연성: 전략 매개 변수는 다른 시장과 거래 품종에 따라 최적화 할 수 있으며, 강한 적응력을 가지고 있습니다.

  6. 트렌드 캡처 능력: 강력한 트렌드를 포착하는 데 집중하여 큰 수익을 올릴 수 있습니다.

전략적 위험

  1. 뒤처짐: 기술 지표는 본질적으로 뒤처짐이 있으며, 출전 또는 출전 시기가 좋지 않을 수 있습니다.

  2. 과도한 거래: 격렬한 변동이 있는 시장에서, 거래 비용이 증가하는 거래 신호가 자주 발생할 수 있습니다.

  3. 가짜 침입 위험: 가로 디스크 정리 후 초기 침입 단계에서 가짜 신호가 발생할 수 있습니다.

  4. 트렌드 반전의 위험: 강력한 트렌드가 끝나면, 전략이 제때로 인식되지 못하여 철회될 수 있다.

  5. 매개 변수 민감성: 정책 성능은 매개 변수 설정에 민감할 수 있으며, 부적절한 매개 변수가 성능 저하로 이어질 수 있다.

  6. 시장 적응성: 전략은 특정 시장 환경에서 더 잘 작동할 수 있지만 다른 환경에서는 더 잘 작동하지 않습니다.

위험 완화 방법:

  • 트렌드 라인 분석이나 지지/저항 지점 고려와 같은 추가 필터를 도입하십시오.
  • 더 엄격한 위험 관리 조치를 시행하십시오.
  • 가장 최적의 설정을 찾기 위해 광범위한 피드백과 변수 최적화를 수행한다.
  • 신호의 신뢰성을 높이기 위해 다른 시간 프레임에 적용하는 전략을 고려하십시오.

전략 최적화 방향

  1. 동적 변수 조정:

    • 구현: 시장의 변동성에 따라 ADX, TTI 및 VPCI의 매개 변수를 자동으로 조정한다.
    • 이유: 다양한 시장 조건에 대한 전략의 적응력을 높이고, 성능의 안정성을 강화한다.
  2. 다중 시간 프레임 분석:

    • 구현: 더 길고 더 짧은 시간 프레임의 신호를 결합한다.
    • 그 이유는 시장에 대한 보다 포괄적인 시각을 제공함으로써 가짜 신호를 줄이고 거래의 신뢰성을 높이기 때문입니다.
  3. 기계학습 통합:

    • 구현: 기계 학습 알고리즘을 사용하여 파라미터 선택 및 신호 생성 최적화.
    • 그 이유는 전략의 적응성과 예측의 정확성을 높이고, 인위적인 편견을 줄이기 때문입니다.
  4. 감정 지표 통합:

    • 실현: 시장의 감정 지표, 예를 들어 VIX 또는 옵션 암시 변동률을 포함하십시오.
    • 이유: 시장의 감정 변화를 포착하고, 가능한 트렌드 변화를 미리 예측하는 것.
  5. 자율 필터

    • 구현: 시장 조건에 따라 동적으로 조정되는 신호 필터링 기준.
    • 이유: 다양한 시장 환경에서의 전략의 유효성을 유지하여 과도한 거래를 줄여줍니다.
  6. 위험 관리 강화:

    • 실행: 동적 스톱로스 및 수익 목표 설정 도입.
    • 그 이유는 위험을 더 잘 통제하고 자금 관리를 최적화하기 때문입니다.
  7. 다종 연관성 분석:

    • 구현: 다양한 거래 품종 간의 연관성을 고려하십시오.
    • 그 이유는 위험을 분산시키고 더 신뢰할 수 있는 거래 기회를 식별하기 위해서다.

요약하다

다중 지표 트렌드 추적 및 거래량 확인 전략은 ADX, TTI 및 VPCI라는 세 가지 강력한 기술 지표를 결합하여 시장의 강력한 트렌드를 포착하고 효과적인 위험 관리를 목적으로 한 통합 거래 시스템입니다. 이 전략의 핵심 장점은 트렌드 강도, 방향 및 거래량 지원을 동시에 고려하여 거래 신호의 신뢰성을 크게 향상시키는 다중 확인 메커니즘입니다.

그러나, 모든 거래 전략에는 잠재적인 위험이 있습니다. 이 전략은 예외가 아닙니다. 주요 위험에는 지표의 지연, 과다 거래의 가능성과 특정 시장 환경에서 적응성의 문제가 포함됩니다. 이러한 위험을 완화하기 위해, 트레이더는 충분한 회귀, 변수 최적화를 수행하고 다른 분석 도구와 위험 관리 기술과 결합하는 것이 좋습니다.

동적 변수 조정, 다중 시간 프레임 분석 및 기계 학습의 통합과 같은 제안 된 최적화 방향으로 전략은 성능과 적응력을 더욱 향상시킬 잠재력이 있습니다. 이러한 최적화는 전략의 안정성을 강화 할뿐만 아니라 변화하는 시장 환경에 더 잘 적응 할 수 있습니다.

종합적으로, 다중 지표 트렌드 추적 및 거래량 확인 전략은 거래자들에게 시장 추세를 식별하고 활용하는 강력한 도구를 제공합니다. 지속적인 최적화와 신중한 위험 관리를 통해 전략은 다양한 시장 조건에서 안정적인 수익을 창출 할 잠재력이 있습니다. 그러나 사용자는 완벽한 거래 전략이 없으며 지속적인 학습, 적응 및 위험 관리가 장기적인 성공에 필수적이라는 것을 항상 기억해야합니다.

전략 소스 코드
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
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/
// © PineCodersTASC

//  TASC Issue: August 2024 - Vol. 42
//     Article: Volume Confirmation For A Trend System.
//              The Trend Thrust Indicator And
//              Volume Price Confirmation Indicator.
//  Article By: Buff Pelz Dormeier
//    Language: TradingView's Pine Script™ v5
// Provided By: PineCoders, for tradingview.com


//@version=5
string title = "TASC 2024.08 Volume Confirmation For A Trend System"
string stitle = "VCTS"
strategy(title, stitle, false)


// Input
lenADX  = input.int(14, "ADX Length", 1)
smt     = input.int(14, "ADX Smoothing", 1, 50)
fastTTI = input.int(13, "TTI Fast Average", 1)
slowTTI = input.int(26, "TTI Slow Average", 1)
smtTTI  = input.int(9,  "TTI Signal Length", 1)
shortVP = input.int(5,  "VPCI Short-Term Average", 1)
longVP  = input.int(25, "VPCI Long-Term Average", 1)


// Functions
// ADX
adx(lenADX, smt) =>
    upDM   =  ta.change(high)
    dwDM   = -ta.change(low)
    pDM    = na(upDM) ? na : upDM > dwDM and upDM > 0 ? upDM : 0
    mDM    = na(dwDM) ? na : dwDM > upDM and dwDM > 0 ? dwDM : 0
    ATR    = ta.atr(lenADX)
    pDI    = fixnan(100 * ta.rma(pDM, lenADX) / ATR)
    mDI    = fixnan(100 * ta.rma(mDM, lenADX) / ATR)
    ADX    = 100*ta.rma(math.abs((pDI - mDI)  / (pDI + mDI)), smt)
    ADX

// TTI
// See also: https://www.tradingview.com/script/B6a7HzVn/
tti(price, fast, slow) =>
    fastMA = ta.vwma(price, fast)  
    slowMA = ta.vwma(price, slow)  
    VWMACD = fastMA - slowMA 
    vMult  = math.pow((fastMA / slowMA), 2) 
    VEFA   = fastMA * vMult 
    VESA   = slowMA / vMult
    TTI    = VEFA - VESA
    signal = ta.sma(TTI, smtTTI)
    [TTI, signal]

// VPCI
// See also: https://www.tradingview.com/script/lmTqKOsa-Indicator-Volume-Price-Confirmation-Indicator-VPCI/
vpci(long, short) =>
    VPC    = ta.vwma(close, long)  - ta.sma(close, long)
    VPR    = ta.vwma(close, short) / ta.sma(close, short)
    VM     = ta.sma(volume, short) / ta.sma(volume, long)
    VPCI   = VPC * VPR * VM
    VPCI


// Calculations
float ADX     = adx(lenADX, smt)
[TTI, signal] = tti(close, fastTTI, slowTTI) 
float VPCI    = vpci(longVP, shortVP)


// Plot
col1  = #4daf4a50
col2  = #e41a1c20
col0  = #ffffff00
adxL1 = plot(ADX,    "ADX", #984ea3)
adxL0 = plot(30,     "ADX Threshold", #984ea350)
ttiL1 = plot(TTI,    "TTI", #ff7f00)
ttiL0 = plot(signal, "TTI Signal", #ff7f0050)
vpcL1 = plot(VPCI*10,"VPCI", #377eb8)
vpcL0 = plot(0,      "VPCI Zero", #377eb850)
fill(adxL1, adxL0, ADX > 30 ? col1 : col0)
fill(ttiL1, ttiL0, TTI > signal ? col1 : col0)
fill(vpcL1, vpcL0, VPCI > 0 ? col1 : col2)


// Strategy entry/exit rules 
if ADX > 30
    if TTI > signal
        if VPCI > 0
            strategy.entry("entry", strategy.long)
if VPCI < 0
    strategy.close_all("exit")