다중 시간 프레임 슈퍼트렌드 및 Gann 고가-저가 돌파 전략

ATR supertrend Gann High-Low MTF 多时间框架 超级趋势 甘恩高低点
생성 날짜: 2025-04-27 13:38:20 마지막으로 수정됨: 2025-04-27 13:38:20
복사: 0 클릭수: 390
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다중 시간 프레임 슈퍼트렌드 및 Gann 고가-저가 돌파 전략 다중 시간 프레임 슈퍼트렌드 및 Gann 고가-저가 돌파 전략

개요

다중 시간 프레임 슈퍼 트렌드 및 높은 낮은 점 돌파 전략은 기술 분석을 기반으로 한 양적 거래 전략으로, 슈퍼 트렌드 지표와 높은 낮은 점 이론을 결합하고, 다중 시간 프레임 분석을 통해 거래 신호의 신뢰성을 향상시킵니다. 이 전략은 더 높은 시간 프레임 ((15 분) 에서 입문 신호를 찾고, 더 낮은 시간 프레임 ((5 분) 에서 출구 시기를 확인합니다. 전략의 핵심 아이디어는 가격의 중요한 저항이나 지지를 돌파하여 입상 시점에 진입하고, 반전 신호가 발생했을 때 적시에 퇴출하여 시간 프레임의 계층적 돌파를 통해 가짜 신호를 줄이고 거래 성공률을 높입니다.

전략 원칙

이 전략의 기술적 원리는 다음과 같은 몇 가지 핵심 구성 요소에 기반합니다.

  1. 슈퍼 트렌드 지표 (Supertrend)이것은 ATR (Average True Range) 를 기반으로 한 트렌드 추적 지표로, 시장의 변동성에 동적으로 적응할 수 있습니다.ta.supertrend(factor, atrPeriod)계산, 이중 인자 (factor) 은 곱하기 (기본 3.0) 이며,atrPeriod는 ATR 주기 (기본 10) 이다. 슈퍼 트렌드 지표는 가격 위쪽에서 빨간색으로 표시되며 (상향 신호), 가격 아래쪽에서 녹색으로 표시된다 (관향 신호).

  2. 하이-로 (Gann High-Low)칸 분석법의 고저 지표, 특정 기간의 최고 가격과 최저 가격을 계산하여 지원 및 저항 지점을 결정한다. 코드에서,ta.highest(high, gannLength)그리고ta.lowest(low, gannLength)계산, gannLength가 역기 (기본 10) 째로 계산된다.

  3. 다중 시간 프레임 분석 (Multi-Timeframe Analysis)전략: 15분과 5분 두 시간 프레임에 각각 지표를 계산하고, 높은 시간 프레임 ((15분) 을 사용하여 전체 트렌드를 판단하고 출장 신호를 생성하고, 낮은 시간 프레임 ((5분) 을 사용하여 단기 반전을 포착하고 출장 신호를 생성합니다.request.security함수는 시간 프레임에 걸쳐 데이터 접근을 가능하게 한다.

입학 조건은 다음과 같습니다:

  • 다수 엔트리 (longEntry): 가격이 15분 슈퍼 트렌드 라인 및 15분 칸 고점을 돌파했을 때close > st15 and close > gannHigh15
  • Short Entry: 가격이 15분 초고추선과 15분 간트 하위점을 넘어서는 경우close < st15 and close < gannLow15

출전 조건은 다음과 같다:

  • 다수출장 (longExit): 가격이 5분 초고 트렌드라인과 5분 간 고점을 넘어갈 때close < st5 and close < gannHigh5
  • ShortExit: 가격이 5분 초고 트렌드 라인과 5분 간 하위점을 돌파했을 때close > st5 and close > gannLow5

전략 실행 논리는 명확하다: 입시 조건이 충족되면 통과strategy.entry함수는 포지션을 열고 출구 조건이 충족되면 통과합니다.strategy.close함수 평형

전략적 이점

  1. 다중 시간 프레임 협동 분석다양한 시간 프레임의 신호를 결합함으로써 전략은 시장의 흐름을 더 포괄적으로 파악하고 단일 시간 프레임이 가져올 수있는 일방적인 판단을 피할 수 있습니다. 높은 시간 프레임 ((15분) 은 중간 트렌드에 부합하는 입장을 보장하고 낮은 시간 프레임 ((5분) 은 더 민감한 출구 시간을 제공합니다.

  2. 이중 확인 메커니즘이 전략은 가격이 슈퍼 트렌드 라인과 하락점을 동시에 돌파하는 것을 요구하여 신호를 유발합니다. 이 이중 확인 메커니즘은 가짜 돌파구를 효과적으로 줄이고 신호의 질을 향상시킵니다.

  3. 동적으로 시장의 변동에 적응하는 것슈퍼 트렌드 지표는 ATR 계산에 기반하여 시장의 변동성에 따라 자동으로 매개 변수를 조정하여 다양한 시장 환경에서 전략을 유효하게 유지합니다.

  4. 명확한 위험 통제: 명확한 출구 조건을 설정함으로써, 전략은 시장의 역전 초기에 적시에 손실을 막고, 단일 거래의 위험을 효과적으로 제어 할 수 있습니다.

  5. 변수 조정 가능이 전략은 ATR 주기, 슈퍼 트렌드 배수, 그리고 Gannett 하위/하위 주기 등 세 가지의 핵심 매개 변수를 제공하며, 사용자는 다양한 시장 특성과 개인 위험 선호도에 따라 조정할 수 있다.

  6. 그리고 그 다음에는,: 코드 구조가 명확하고, 논리는 간단하고 직관적이며, 이해하기 쉽고 유지 관리하기 쉽고, 전략의 지속적인 최적화와 개선을 돕습니다.

전략적 위험

  1. 지연 위험슈퍼 트렌드 및 가넌 고/저점은 역사적 데이터에 기반한 지표이며, 급격한 변동이 있는 시장에서 적절하게 반응하지 않아 입문 또는 출구 신호가 지연될 수 있다. 해결책은 높은 변동이 있는 시장 환경에서 ATR 주기와 가넌 고/저점 주기를 축소하여 지표의 감수성을 높이는 것이다.

  2. 가짜 침입 위험수평 정리 시장에서, 가격은 종종 핵심 수준을 돌파하지만 그 후 다시 떨어지므로 가짜 신호가 증가합니다. 해결책은 수평 시장에 확인 장치를 추가하여 돌파가 일정 기간 또는 폭이 지속되는 것을 요구하면 거래합니다.

  3. 매개변수 민감도다른 시장 환경에서는 최적의 변수가 큰 차이가 있을 수 있다. 지나치게 극단적인 변수 설정은 과도한 거래로 이어질 수 있고, 지나치게 보수적인 변수는 중요한 기회를 놓칠 수 있다. 해결책은 역사적인 회귀를 통해 안정적인 변수 범위를 찾아내고, 주기적으로 변수의 유효성을 검사하는 것이다.

  4. 시간 프레임 충돌: 어떤 경우에는, 높고 낮은 시간 프레임은 서로 상반된 신호를 줄 수 있고, 의사 결정에 어려움을 초래한다. 해결책은 시간 프레임 사이의 무게 설정을 증가시키거나, 트렌드 필터로 더 높은 수준의 시간 프레임을 추가하는 것이다.

  5. 재정 관리 부족전략: 매 거래마다 계좌의 10%의 자금을 기본으로 사용하며, 연속적인 손실이 발생하면 자금이 급격히 줄어들 수 있습니다. 해결책은 시장의 변동성과 예상되는 위험 동력에 따라 위치 크기를 조정하고 더 나은 자금 관리 장치를 도입하는 것입니다.

전략 최적화 방향

  1. 트렌드 강도 필터링: ADX ((평균 방향 지수) 와 같은 트렌드 강도 지표를 도입할 수 있으며, 트렌드가 명확한 경우에만 거래를 수행하고, 흔들리는 시장에서 자주 거래를 피한다. ADX 계산 논리를 추가하고, 입시 조건의 일부로 사용하는 것이 구현 방법이다.

  2. 출전 메커니즘을 최적화: 현재 전략의 출구 조건은 입구 조건과 대칭으로, 충분히 유연하지 않을 수 있다. 이동적 손실, 이익 목표 또는 변동성 손실과 같은 다양한 출구 장치를 추가하여 위험과 수익을 더 잘 균형을 잡을 수 있다.

  3. 거래량 확인이 증가: 가격 돌파가 더 큰 거래량과 함께 있어야 더 신뢰할 수 있다. 거래량 지표를 추가할 수 있다. 예를 들어, 돌파가 요구되는 거래량은 지난 N주기의 평균 거래량보다 높다.

  4. 변동률 조정: 현재 시장의 변동율에 따라 슈퍼 트렌드의 곱수를 조정할 수 있으며, 낮은 변동 기간 동안 작은 곱수를 사용하여 민감도를 높이고, 높은 변동 기간 동안 큰 곱수를 사용하여 거짓 신호를 줄일 수 있다.

  5. 시장 상태 분류를 추가: 추세 시장과 흔들림 시장을 구분하기 위해 논리를 추가할 수 있으며, 다른 시장 상태에서 다른 거래 전략과 파라미터 설정을 사용할 수 있다. 예를 들어, 흔들림 시장에서 슈퍼 트렌드의 배수를 늘리고 거래 빈도를 줄일 수 있다.

  6. 자금 관리 최적화: 변동성이나 예상 위험 비율에 따라 거래당 자본 비율을 동적으로 조정할 수 있으며 10%의 자본을 고정하지 않습니다. 이것은 ATR을 계산하여 중지 손실 위치를 추정하고 그에 따라 위치 크기를 결정할 수 있습니다.

  7. 시간 필터를 추가: 특정 시기는 (시장 개시와 종전처럼) 큰 변동이 있어 가짜 신호를 발생시킬 수 있습니다. 시간 필터를 추가하여 이러한 시간에 거래하는 것을 피할 수 있습니다.

요약하다

다중 시간 프레임 슈퍼 트렌드 및 칸 하락 브레이크 전략은 여러 가지 기술 분석 도구를 결합한 정량 거래 시스템으로, 다양한 시간 프레임에서 슈퍼 트렌드 및 칸 하락을 분석하여 시장 기회를 포착합니다. 전략의 주요 장점은 여러 확인 메커니즘과 다중 시간 프레임 분석으로, 잡음을 효과적으로 필터링하고 신호 품질을 향상시킬 수 있습니다. 그러나 동시에 파라미터 민감성, 가짜 브레이크 및 시간 프레임 충돌 등의 위험에 직면합니다.

트렌드 강도 필터링을 증가시키고, 출구 메커니즘을 최적화하고, 거래량 확인을 증가시키고, 변동율 조정을 도입함으로써 전략의 안정성과 적응성을 더욱 향상시킬 수 있다. 특히, 재원 관리 메커니즘을 시장 상태 분석과 결합하면 전략의 위험-수익 특성을 크게 향상시킬 수 있다.

기술 분석의 정량화 전략을 찾는 거래자에게는, 이 전략은 직접적으로 적용될 수 있고, 더 복잡한 거래 시스템의 구성 요소로 사용될 수 있는 견고한 기본 프레임워크를 제공한다. 무엇보다도, 거래자는 자신의 위험 선호와 시장에 대한 이해를 바탕으로, 파라미터를 충분히 재검토하고 최적화하여 최적의 효과를 얻어야 한다.

전략 소스 코드
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("MTF Supertrend + Gann HL Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Inputs ===
atrPeriod = input.int(10, "ATR Period")
factor = input.float(3.0, "Supertrend Multiplier")
gannLength = input.int(10, "Gann HL Period")

// === Timeframes ===
higherTF = "15"
lowerTF = "5"

// === Supertrend & Gann HL (15m) ===
[st15, dir15] = request.security(syminfo.tickerid, higherTF, ta.supertrend(factor, atrPeriod))
gannHigh15 = request.security(syminfo.tickerid, higherTF, ta.highest(high, gannLength))
gannLow15  = request.security(syminfo.tickerid, higherTF, ta.lowest(low, gannLength))

// === Supertrend & Gann HL (5m) for exit ===
[st5, dir5] = request.security(syminfo.tickerid, lowerTF, ta.supertrend(factor, atrPeriod))
gannHigh5 = request.security(syminfo.tickerid, lowerTF, ta.highest(high, gannLength))
gannLow5  = request.security(syminfo.tickerid, lowerTF, ta.lowest(low, gannLength))

// === Entry Conditions (15m) ===
longEntry = close > st15 and close > gannHigh15
shortEntry = close < st15 and close < gannLow15

// === Exit Conditions (5m) ===
longExit = close < st5 and close < gannHigh5
shortExit = close > st5 and close > gannLow5

// === Execute Strategy ===
if (longEntry)
    strategy.entry("Long", strategy.long)
if (shortEntry)
    strategy.entry("Short", strategy.short)

if (longExit)
    strategy.close("Long")
if (shortExit)
    strategy.close("Short")

// === Optional Plots ===
plot(st15, color=dir15 ? color.green : color.red, title="Supertrend 15m")