동적 지원 및 저항 채널 돌파 전략


생성 날짜: 2024-01-18 12:30:04 마지막으로 수정됨: 2024-01-18 12:30:04
복사: 0 클릭수: 547
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

동적 지원 및 저항 채널 돌파 전략

개요

동적 지원 저항 채널 브레이크 전략은 중요한 지원 저항 수준과 브레이크 신호를 식별하는 강력한 전략이다. 이 전략은 이러한 중요한 수준을 차트에 시각화하여 거래자가 잠재적인 거래 기회를 쉽게 발견 할 수 있도록합니다.

전략 원칙

이 전략은 사용자가 정의한 좌측 및 우측 역동적으로 계산된 지지부수 지점을 기반으로 한다. 이것은 변화하는 시장 조건에 적응할 수 있는 유연성을 제공한다. 거래가 이러한 지지부수 지점을 넘어서면, 거래량 검증을 결합하여 구매 및 판매 신호를 발생시킨다. 또한, 이 전략은 정의된 지지부수 조건에 기반한 다중 상점 또는 빈 상점 포지션을 자동으로 실행하는 거래 전략을 통합하여 전체 거래 과정을 더욱 유연하게 만든다.

구체적으로, 전략은 ta.pivotlow 및 ta.pivothigh 함수를 통해 동적인 지원 및 저항 지점을 계산한다. 이러한 지원 및 저항 선은 빨간색과 파란색으로 차트에 그려져 있다. 거래소 거래가 이러한 지점을 돌파 할 때, 돌파 지점에 B 모양의 표시를 그리는다. 한편, 전략은 5 일과 10 일 평균 거래의 진동기를 결합하여 거래의 급성장을 판단한다. 거래가 충분히 큰 경우에만 돌파 신호를 유발하고 경고를 보내야 한다. 마지막으로, 전략은 이러한 지원 저항 지점과 거래의 조건에 기반한 LONG/SHORT 입시 및 출구 전략을 통합한다.

전략적 이점

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 동적 지원 저항 지점은 시장 변화에 적응
  2. 거래량 검증의 중요성
  3. 그래픽 표시와 경고가 중요한 점을 강조합니다.
  4. 통합 거래 전략이 거래 프로세스를 간소화합니다.
  5. 사용자 정의 가능한 변수 사용성을 향상

전체적으로, 이 전략은 중요한 지지/저항의 돌파구를 완벽하게 식별, 시각화하고 활용하여 거래자가 최적의 거래 시점을 선택하는 데 큰 도움이 되고, 거래의 성공률을 크게 향상시킵니다.

전략적 위험

이 전략의 잠재적 위험은 다음과 같습니다.

  1. 파격 실패 위험. 파격 지점은 가짜 파격이 발생할 수 있다. 이는 불필요한 손실을 초래할 수 있다. 더 엄격한 거래량 및 가격 변동 확인 조건을 설정함으로써 완화할 수 있다.

  2. 매개 변수 최적화 위험. 왼쪽 과 오른쪽 과 같은 매개 변수가 잘못 설정되면 계산된 지지 저항 지점이 정확하지 않을 수 있다. 다른 품종의 거래 특성에 따라 적절한 왼쪽 과 오른쪽 을 선택해야 한다.

  3. 과도한 최적화 위험. 변수를 과도하게 최적화하면 전략이 지나치게 잘 맞지 않을 수 있다. 적절한 재검토와 검증이 이루어져야 하며, 소량의 데이터에서 과도하게 최적화하는 전략을 피한다.

  4. 거래 비용 위험. 거래의 빈도는 높은 수수료로 이어집니다. 거래의 빈도를 조정하거나 다른 방법으로 제어하는 것이 적절히 고려됩니다.

전략 최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 단위 손실을 통제하기 위해 단위 손실 조건을 추가합니다.

  2. 이윤 요소를 최적화하여 최적의 이득을 찾아보세요.

  3. 다양한 변수 조합을 테스트하여 최적의 변수를 결정한다.

  4. 다른 품종에 따라 왼쪽 과 오른쪽 의 설정을 조정하십시오.

  5. 가격 변동율과 같은 다른 필터 조건들을 추가하여, 돌파의 가능성을 더 정확하게 판단할 수 있다.

  6. 다른 거래량 확인 지표들을 시도해 보세요. 예를 들어, 거래량 돌파구와 같은 것들 말이죠.

  7. 다른 거래 전략이나 지표와 결합하여 더 나은 통합을 달성합니다.

요약하다

동적 지원 저항 채널 돌파 전략은 차트 기술 분석의 지원 저항 개념을 활용하여 거래량 분석을 통해 돌파의 중요성을 확인하고 시장의 중요한 전환점을 효과적으로 발견 할 수 있습니다. 이 전략은 간결하고 쉬운 인터페이스 디자인, 지표 그리기 및 신호提示이 복잡한 기술 지표 내용을 이해하기 쉽게 만들어 기술 을 크게 낮추고 있습니다. 또한, 사용자 정의 및 통합 가능한 파라미터 설정은 상인의 자신의 전략 구현과 결합하기 쉽다.

전략 소스 코드
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance channel with Breaks p5", shorttitle="Support and Resistance channel with Breaks [cryptoonchain]", overlay=true, max_bars_back=1000)

// Input variables
toggleBreaks = input(true, title="Show Breaks")
leftBars = input(15, title="Left Bars")
rightBars = input(15, title="Right Bars")
volumeThresh = input(20, title="Volume Threshold")

// Calculate pivot levels
highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars)[1])
lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars)[1])

// Plot resistance and support lines
r1 = plot(highUsePivot, color=color.new(na(highUsePivot) ? na : #FF0000, 0), linewidth=3, offset=-(rightBars + 1), title="Resistance")
s1 = plot(lowUsePivot, color=color.new(na(lowUsePivot) ? na : #233dee, 0), linewidth=3, offset=-(rightBars + 1), title="Support")

// Volume %
short = ta.ema(volume, 5)
long = ta.ema(volume, 10)
osc = 100 * (short - long) / long

// Plot shapes for breaks with volume
plotshape(toggleBreaks and ta.crossunder(close, lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title="Break", text='B', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, transp=0, size=size.tiny)
plotshape(toggleBreaks and ta.crossover(close, highUsePivot) and not (open - low > close - open) and osc > volumeThresh, title="Break", text='B', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, transp=0, size=size.tiny)

// Alert conditions
alertcondition(ta.crossunder(close, lowUsePivot) and osc > volumeThresh, title="Support Broken", message="Support Broken")
alertcondition(ta.crossover(close, highUsePivot) and osc > volumeThresh, title="Resistance Broken", message="Resistance Broken")

// Strategy conditions with filter
longCondition = low > highUsePivot and osc > volumeThresh
shortCondition = high < lowUsePivot and osc > volumeThresh


// Strategy entries
strategy.entry("My Long Entry Id", strategy.long, when=longCondition)
strategy.entry("My Short Entry Id", strategy.short, when=shortCondition)