변동성 정지 클라우드 전략 및 이동 평균 교차 시스템

ATR VSTOP RSI
생성 날짜: 2024-10-14 11:42:58 마지막으로 수정됨: 2024-10-14 11:42:58
복사: 11 클릭수: 568
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

변동성 정지 클라우드 전략 및 이동 평균 교차 시스템

개요

변동율 정지 클라우드 전략과 평평선 교차 시스템은 자기 적응 트렌드 추적과 동력 개념을 결합한 양적 거래 전략이다. 이 전략은 두 개의 다른 시간 프레임의 변동율 정지 지표 ((VStop) 를 사용하여 동적인 지지/저항 영역을 구성하고, 이 두 선의 교차로 거래 신호를 생성한다. 이 전략은 또한 상대적으로 강하고 약한 지표 ((RSI) 에 기반한 색상 스키메이션을 통합하여 추가적인 시장 정서를 제공합니다.

전략 원칙

이 전략의 핵심은 두 가지의 변동률 중지 (VStop) 지표를 사용하여 각각 다른 평균 실제 파도 (ATR) 주기 및 곱수를 기반으로합니다. 더 긴 주기의 VStop은 주요 트렌드 방향을 제공하며, 더 짧은 주기의 VStop은 더 빠른 가격 변동을 포착합니다. 두 개의 VStop 라인 사이의 지역은 “구름”을 형성하여 현재 시장의 변동성을 나타냅니다.

거래 신호는 더 짧은 VStop 라인이 더 긴 VStop 라인을 가로지르면 생성됩니다. 위쪽으로 가로지르는 것은 다중 신호로 간주되며, 아래로 가로지르는 것은 공백 신호로 간주됩니다. 이러한 교차 시스템은 추세 변화와 잠재적인 역점을 포착하기 위해 고안되었습니다.

전략은 또한 시장의 동력에 따라 VStop 라인과 구름의 색상을 조정할 수 있는 RSI 기반의 무지개 색상 옵션을 통합하여 추가적인 시각적 피드백을 제공합니다.

전략적 이점

  1. 자기 적응력: ATR을 사용하여 VStop 값을 계산하여 전략은 시장의 변동성에 따라 자동으로 조정되어 다른 시장 조건에 적응 할 수 있습니다.

  2. 트렌드 추적과 반전 캡처: 트렌드 추적과 평행선 교차의 개념을 결합하여 강력한 트렌드를 따라갈 수 있으며 잠재적인 반전 기회를 적시에 잡을 수 있습니다.

  3. 시각적 직관: 클라우드 그래픽과 선택 가능한 RSI 무지개 색조는 명확한 시각적 피드백을 제공하여 시장 상태와 잠재적인 거래 기회를 신속하게 평가하는 데 도움이됩니다.

  4. 유연성: 전략 파라미터는 성능을 최적화하기 위해 다른 거래 종류와 시간 프레임에 따라 조정할 수 있습니다.

  5. 위험 관리: VStop 라인은 동적인 스톱 손실 수준으로 사용되어 거래 당 위험을 조절할 수 있습니다.

전략적 위험

  1. 흔들리는 시장의 가짜 신호: 가로판이나 높은 변동성이 있는 시장에서, VStop 라인은 자주 교차할 수 있으며, 이는 과도한 거래와 잠재적인 손실을 초래한다.

  2. 지연성: 평행선 기반 시스템으로서, 전략은 트렌드 반전의 초기에는 느리게 반응할 수 있으며, 이는 진입이나 출퇴근에 지연을 초래한다.

  3. 매개 변수 감수성: 전략 성능은 ATR 주기 및 배수의 선택에 크게 의존하며, 부적절한 매개 변수 설정은 좋지 않은 성능을 초래할 수 있다.

  4. 과도한 거래: VStop 라인이 너무 민감하게 설정되면 거래 신호가 너무 많이 발생하여 거래 비용이 증가 할 수 있습니다.

  5. 기본적 고려의 부재: 전략은 기술적인 지표에 전적으로 기반하고, 자산 가격에 영향을 줄 수 있는 기본적 요소를 무시한다.

전략 최적화 방향

  1. 추가 필터: 가짜 신호를 줄이고 거래 품질을 높이기 위해 트렌드 강도 지표 또는 변동율 필터를 추가하는 것을 고려하십시오.

  2. 동적 변수 조정: 다양한 시장 단계에 적응하기 위해 ATR 주기 및 곱수의 자동 최적화를 구현한다.

  3. 다중 시간 프레임 분석: 거래 의사 결정의 정확성을 높이기 위해 더 긴 시간 프레임의 시장 추세 정보를 통합합니다.

  4. 출전 전략을 최적화: 더 복잡한 출전 규칙을 개발합니다. 예를 들어, 후속 손실 중지 또는 VStop 라인을 기반으로 한 부분 이익 취득 메커니즘.

  5. 기본 데이터 통합: 전략의 포괄성을 높이기 위해 핵심 경제 지표 또는 뉴스 이벤트를 포함합니다.

요약하다

변동율 정지 클라우드 전략과 평행선 교차 시스템은 트렌드 추적, 동력 및 변동성 분석을 결합한 포괄적 인 양적 거래 방법입니다. 다양한 시간 프레임의 VStop 지표를 활용하여 전략은 시장 추세 변화를 포착하고 직관적인 시각적 피드백을 제공합니다. 전략은 강력한 적응력과 잠재적인 수익성을 보여 주지만 사용자는 여전히 불안정한 시장에서 자신의 성과를 조심스럽게 다루고 있으며 안정성을 높이기 위해 추가 필터 및 최적화 기술을 고려해야합니다. 지속적인 피드백과 변수 최적화를 통해이 전략은 다양한 거래 스타일의 강력한 도구가 될 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-09-01 00:00:00
end: 2024-09-30 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Credit: This indicator is largely based on the built-in "Volatility Stop" indicator by TradingView
strategy('ATR (VStop) Cloud Strategy', overlay=true)

vstopon = input(true, 'ATR Cloud On?', inline="Vstop0", group='Display')
showlabels = input(title='Labels?', defval=true, inline='Vstop1', group='Display')
rainbowvstop = input(true, 'Rainbow RSI-Based Color Scheme?', inline="Vstop2", group='Display')
color vstopbull = input.color(color.new(color.lime, 0), '', inline='Vstop2', group='Display')
color vstopbear = input.color(color.new(color.fuchsia, 0), '', inline='Vstop2', group='Display')
filltransp = input.int(95, 'Cloud Fill Transparency', inline='Vstop3', group='Display', minval=0, maxval=100)
length2 = input.int(20, "Small VStop", minval = 2, inline='100', group='Volatility Stop')
src2 = input.source(close, "", inline='100', group='Volatility Stop')
factor2 = input.float(1.5, "ATR Multiple", minval = 0.25, step = 0.25, inline='100', group='Volatility Stop')
length = input.int(20, "    Big VStop", minval = 2, inline='100', group='Volatility Stop')
src = input.source(close, "", inline='100', group='Volatility Stop')
factor = input.float(3.0, "ATR Multiple", minval = 0.25, step = 0.25, inline='100', group='Volatility Stop')

volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(ta.atr(atrlen) * atrfactor, ta.tr)
    max         := math.max(max, src)
    min         := math.min(min, src)
    stop        := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)
[vStop2, uptrend2] = volStop(src2, length2, factor2)
vstopseries = math.avg(vStop, vStop2)

// Colors for plot
dncolor = rainbowvstop ? color.red : vstopbear
upcolor = rainbowvstop ? color.green : vstopbull

// Plot volatility stop lines
pv1 = plot(vstopon ? vStop : na, "Volatility Stop", style=plot.style_line, color=uptrend ? upcolor : dncolor, linewidth=2)
pv2 = plot(vstopon ? vStop2 : na, "Volatility Stop", style=plot.style_line, color=uptrend2 ? upcolor : dncolor, linewidth=1)

// Cross conditions
crossUp = ta.crossover(vStop2, vStop)
crossDn = ta.crossunder(vStop2, vStop)

// Labels
plotshape(showlabels and crossUp, title='Cross Long', style=shape.labelup, location=location.belowbar, text='LONG', textcolor=color.white, color=color.teal, size=size.auto)
plotshape(showlabels and crossDn, title='Cross Short', style=shape.labeldown, location=location.abovebar, text='SHORT', textcolor=color.white, color=color.maroon, size=size.auto)

// Strategy entry and exit
if (crossUp)
    strategy.entry('Long', strategy.long)
    
if (crossDn)
    strategy.entry('Short', strategy.short)

// Fill between lines
fill(pv1, pv2, color=uptrend ? color.new(upcolor, filltransp) : color.new(dncolor, filltransp))