다차원 차트 패턴 양적 전략: 헤드 앤 숄더 상단 및 하단, 더블 상단 및 하단 패턴을 통합한 기술 분석 거래 시스템

ATR TA
생성 날짜: 2025-02-28 10:19:51 마지막으로 수정됨: 2025-02-28 10:19:51
복사: 0 클릭수: 444
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다차원 차트 패턴 양적 전략: 헤드 앤 숄더 상단 및 하단, 더블 상단 및 하단 패턴을 통합한 기술 분석 거래 시스템 다차원 차트 패턴 양적 전략: 헤드 앤 숄더 상단 및 하단, 더블 상단 및 하단 패턴을 통합한 기술 분석 거래 시스템

개요

다차원 차트 모드 정량화 전략은 기술 분석의 고전적인 차트 형태를 인식하는 거래 시스템으로, 주로 머리 어깨 윗/아래, 그리고 쌍 윗/아래와 같은 반전 형태를 인식하고 거래에 초점을 맞추고 있다. 이 전략은 시장에서 나타나는 이러한 중요한 형태를 프로그래밍 방식으로 정의하고 식별하고, ATR (Average True Range) 지표와 결합하여 중단 및 중지 수준을 설정하여 완전한 거래 프레임워크를 구축한다. 이 전략의 핵심은 시장 추세 변화의 중요한 전환점을 포착하는 데 있습니다. 특히 가격이 특정 구조적 형태를 형성할 때, 이러한 형태는 시장이 곧 상승에서 하향으로 전환하거나 하향에서 상승으로 전환 될 것을 예고합니다.

전략 원칙

이 전략의 핵심은 세 가지 주요 그래프 형태를 식별하는 데 있습니다.

  1. 머리, 어깨의 형태를 인식하는: 가격 고점을 연속적으로 비교하여 식별한다. 전략은 중앙 고점 ((Head) 이 양쪽 고점 (Side) 보다 높는지 확인하고, 만족한다.high[1] > high[2] && high[1] > high[0] && high[1] > high[3] && high[1] > high[4] && high[0] < high[2] && high[0] < high[3]이 형태는 일반적으로 상승 경향의 끝과 가능한 하향 경향의 시작을 예시한다.

  2. 이중 톱 모형 인식: 머리 어깨 꼭대기와 비슷한 논리를 사용하지만 두 개의 인접한 높은 점에 더 집중한다. 두 개의 인접한 가격 높은 점이 형성되고 중간에서 명백한 낮은 점이있을 때, 쌍 꼭대기 형태로 간주되며, 이는 하향 역전 신호이기도 하다.

  3. 이중 하위 형태 인식이중 정상과는 달리, 두 개의 근접한 가격 낮은 점과 중간에 있는 한 개의 높은 점을 식별하여 결정한다.low[1] < low[2] && low[1] < low[0] && low[1] < low[3] && low[1] < low[4] && low[0] > low[2] && low[0] > low[3]이 조건은, 이중 밑형으로 판정될 때, 이것은 보통 선망의 반전 신호이다.

거래 신호는 형태 인식과 가격 행동을 결합하여 생성된다:

  • 구매 신호: 이중 바닥 형태를 인식하고 현재 종료 가격이 개시 가격보다 높을 때doubleBottomPattern && close > open
  • 팔기 신호: 이중 상위 형태가 확인되고 현재 폐쇄 가격이 오픈 가격보다 낮을 때doubleTopPattern && close < open

ATR (Average True Range) 지표를 통해 리스크 관리가 이루어집니다.

  • ATR값의 1.5배로 설정되어 있습니다.stopLoss = atrValue * 1.5
  • 3배의 ATR값으로 설정되어 있습니다.takeProfit = atrValue * 3

이 디자인은 전략이 다른 시장의 변동성에 적응할 수 있도록 하며, 높은 변동성이 있는 시장에서 더 넓은 스톱를 제공하며, 낮은 변동성이 있는 시장에서는 상대적으로 좁은 스톱을 제공한다.

전략적 이점

  1. 고전적 기술 분석에 기초한이 전략은 널리 인정되고 적용되는 차트 형태 분석에 기반을 두고 있으며, 다양한 시장 환경에서 어느 정도 효과를 보이며, 많은 역사적 검증 데이터를 보유하고 있습니다.

  2. 자율적 위험 관리: ATR 지표를 사용하여 중지 및 중지 수준을 설정하여 전략은 시장의 실제 변동성에 따라 위험 관리 매개 변수를 자동으로 조정할 수 있으며 고정 포인트 중지로 인한 과도한 위험이나 과도한 보수성을 피할 수 있습니다.

  3. 명확한 출전 규칙이 전략은 명확한 입출장 (형식 확인 + 가격 확인) 및 출장 (ATR 기반의 중지 / 중지) 조건을 제공하여 거래자가 규율을 유지하고 감정 거래를 줄이는 데 도움이됩니다.

  4. 비주얼 트레이딩 신호통과:plotshape함수는 형태 인식 및 거래 신호를 직관적으로 차트에 표시하여 거래자가 실시간으로 전략 성능을 모니터링하고 분석 할 수 있도록합니다.

  5. 융통성, 적응력: 현재 구현은 몇 가지 특정 그래프 형태에 주로 초점을 맞추고 있지만, 정책 프레임 워크는 삼각형, 깃발, 모양 등과 같은 더 많은 다른 유형의 형태 식별을 포함하도록 쉽게 확장 할 수 있습니다.

전략적 위험

  1. 형태 인식의 간소화 처리: 현재 형태 인식 논리는 상대적으로 단순화되어 있으며, 단지 몇 개의 가격점의 비교에 기반하여 더 복잡한 시장 구조를 포착하지 못할 수 있으며, 이로 인해 일부 잘못된 판단이 발생합니다. 예를 들어, 머리 어깨 꼭대기 및 쌍 꼭대기 판단 논리는 동일하여 잘못된 분류가 발생할 수 있습니다.

  2. 수량 확인 부족: 전통적인 기술 분석에서, 그래프 형태는 종종 거래량과 결합된 확인이 필요하며, 현재 전략은 거래량 요소를 포함하지 않아 형태의 효과에 대한 판단이 충분히 포괄적이지 않을 수 있다.

  3. 고정 ATR 배수의 위험ATR을 사용하면 스톱/스트롭이 변동성에 적응할 수 있지만, 고정된 1.5배와 3배의 파라미터는 모든 시장 환경에 적용되지 않을 수 있습니다. 특히 극단적인 상황이나 갑작스러운 상황에서는 그렇습니다.

  4. 시간 프레임은 고려되지 않습니다.이 전략은 다른 시간 프레임의 형태 인식 차이를 고려하지 않고, 짧은 시간 프레임에서 너무 많은 가짜 신호를 생성하거나 더 긴 시간 프레임에서 중요한 거래 기회를 놓치게 할 수 있습니다.

  5. 트렌드 필터 부족이 전략은 트렌드 필터링을 설정하지 않았으며, 이는 강력한 트렌드 시장에서 종종 역전 거래 신호를 유발하여 일련의 손실 거래로 이어질 수 있습니다.

전략 최적화 방향

  1. 형상 인식 알고리즘 개선

    • 머리 어깨 꼭대기 및 쌍 꼭대기 식별 논리를 구분하고, 식별의 정확성을 높이기 위해 더 많은 매개 변수를 추가합니다.
    • 모양의 비율과 대칭성에 대한 판단을 높이는 것, 예를 들어 머리는 어깨보다 훨씬 높고 두 어깨의 높이는 비슷해야 한다.
    • 형상 완전성 점수를 도입하여 형식의 기준에 따라 거래 신호의 신뢰도를 조정합니다.
  2. 통합 트래픽 분석

    • 형태 인식에 대량 확인 조건을 추가합니다. 예를 들어, 머리 어깨 위 형태에서 머리 대량 확인은 오른쪽 어깨보다 높습니다.
    • 형태의 돌파구에서 거래량은 크게 증가해야하며 거래 신호의 강화 조건으로 사용할 수 있습니다.
  3. 최적화된 위험 관리 전략

    • 동적인 ATR 배수를 도입하여 시장의 변동성, 형태의 크기 또는 시장 환경에 따라 중지/정지 비율을 조정합니다.
    • 계단형 정지, 거래가 유리하게 진행됨에 따라 점진적으로 정지 위치를 조정
    • 이윤의 일부를 늘리고, 이윤을 고정시키고, 전반적인 위험을 줄이기 위한 결제제도를 도입한다.
  4. 트렌드 필터 추가

    • 이동 평균 또는 다른 트렌드 지표를 추가하여 거래 신호를 필터링하여 주 트렌드에 따라만 입문하십시오.
    • 다른 주기에 걸쳐 동향 일관성을 확인하고, 더 큰 동향의 상반기에 자주 거래하는 것을 피하십시오.
  5. 다중 시간 프레임 분석

    • 전략이 다중 시간 프레임 분석으로 확장되어, 더 긴 기간을 사용하여 주 트렌드 방향을 결정하고, 더 짧은 기간을 사용하여 정확한 진입 지점을 찾습니다.
    • 시간 프레임 일치 점수를 도입하여 거래 신호의 품질을 향상시킵니다.
  6. 추가 확정 지표

    • RSI, MACD 등의 지표를 통합하여 거래 신호의 신뢰성을 높이는 보조 확인 도구로
    • 시장의 주기적 변동과 계절적 요소를 고려하여 높은 승률 시점에 거래 빈도 또는 입장을 늘립니다.

요약하다

다차원 차트 모드 계량 전략은 클래식 기술 분석 차트 형태를 기반으로 한 거래 시스템으로, 상위 / 하위 및 쌍방향 / 하위와 같은 시장 구조를 프로그래밍하여 잠재적인 트렌드 전환점을 포착합니다. 이 전략은 ATR 지표와 결합하여 위험 관리를 수행하며, 비교적 완전한 거래 프레임 워크를 제공합니다. 전략의 주요 장점은 널리 검증 된 기술 분석 이론에 기반하고, 명확한 거래 규칙과 자율적 인 위험 관리 메커니즘을 갖추고 있습니다.

전략의 안정성과 성능을 향상시키기 위해, 패턴 인식 알고리즘을 개선하고, 거래량 분석을 통합하고, 위험 관리 전략을 최적화하고, 트렌드 필터를 추가하고, 다중 시간 프레임 분석을 구현하고, 보조 확인 지표를 추가하는 등의 측면에서 최적화를 수행하는 것이 좋습니다. 이러한 개선으로, 전략은 클래식 차트 기반의 형태 분석 우위를 유지하면서 거래 신호의 품질과 전체 수익성을 크게 향상시킬 것으로 예상됩니다.

결국, 모든 거래 전략은 충분한 피드백과 실무 검증을 받아야하며, 실제 응용에서는 시장 환경의 변화, 거래 품종의 특성 및 개인의 위험 감수성을 결합하여 적절한 매개 변수 조정을 통해 최적의 거래 효과를 달성해야합니다.

전략 소스 코드
/*backtest
start: 2024-02-28 00:00:00
end: 2025-02-26 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Chart Pattern Strategy - Head and Shoulders / Double Top/Bottom", overlay=true)

// Function to detect a simple Head and Shoulders pattern
isHeadAndShoulders() =>
    high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]

// Function to detect a Double Top pattern
isDoubleTop() =>
    high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]

// Function to detect a Double Bottom pattern
isDoubleBottom() =>
    low[1] < low[2] and low[1] < low[0] and low[1] < low[3] and low[1] < low[4] and low[0] > low[2] and low[0] > low[3]

// Detecting Head and Shoulders, Double Top, and Double Bottom Patterns
headAndShouldersPattern = isHeadAndShoulders()
doubleTopPattern = isDoubleTop()
doubleBottomPattern = isDoubleBottom()

// Plotting Head and Shoulders, Double Top, and Double Bottom detections
plotshape(headAndShouldersPattern, title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(doubleTopPattern, title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(doubleBottomPattern, title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")

// Entry logic for Buy and Sell signals
longSignal = doubleBottomPattern and close > open
shortSignal = doubleTopPattern and close < open

// Take profit and stop loss based on ATR for simplicity
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 1.5  // Stop loss 1.5 ATR
takeProfit = atrValue * 3  // Take profit 3 ATR

// Plot buy and sell signals
plotshape(longSignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Executing trades based on conditions
if (longSignal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)

if (shortSignal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)