다중 캔들스틱 패턴 인식 및 자동화된 거래 전략

DOJI MA RSI TP SL Reversal Price Action CANDLESTICK
생성 날짜: 2025-04-03 11:10:20 마지막으로 수정됨: 2025-04-03 11:10:20
복사: 5 클릭수: 329
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다중 캔들스틱 패턴 인식 및 자동화된 거래 전략 다중 캔들스틱 패턴 인식 및 자동화된 거래 전략

개요

다중 형태 인식 및 자동 거래 전략은 가격 행동 분석을 기반으로 한 양적 거래 시스템으로, 기술 분석에서 강력한 반전 신호로 널리 알려진 시장의 “아침별” 및 “밤별” 형태를 전문적으로 식별합니다. 이 전략은 정밀한 수학적 모델을 통해 이러한 패턴을 식별하고 형태에 따라 자동으로 다중 또는 빈자리 거래를 수행합니다. 이 시스템은 1%의 수익 목표와 0.5%의 중지 손실을 사용하여 위험과 수익의 2: 1 비율을 달성합니다.

전략 원칙

이 전략의 핵심은 정확한 수학적 방법을 통해 “아침의 별”과 “밤의 별” 모형을 식별하는 것이다. 이러한 형태는 일반적으로 세 개의 연속 으로 구성되어 있으며, 특정 구조적 특성을 가지고 있다:

  1. 새벽의 별 모양

    • 첫 번째 뿌리: 하락 추세에 있는 큰 실물
    • 두 번째 뿌리: 작은 주체나 십자성, 시장의 불확실성을 나타냅니다.
    • 세 번째 줄기: 큰 실물 양선, 1 번째 줄기의 중간 지점을 최소 초과한 종전 가격
  2. 밤의 별 모양

    • 첫 번째 뿌리: 상승 추세에 있는 대량 양선
    • 두 번째 뿌리: 작은 주체나 십자성, 시장의 불확실성을 나타냅니다.
    • 세 번째 줄기: 대체 음선, 1 번째 줄기의 중점보다 적어도 낮은 매출

정책은 여러 보조 함수를 사용하여 핵심 특성을 계산합니다.

  • bullish/bearish함수는 의 방향을 결정합니다.
  • bodySize/candleRange 개체 및 총 범위의 크기를 계산한다
  • smallBody/strongBody의 상대적인 크기를 평가하는 방법
  • isMiddleReversalCandle중간 반전 의 특징을 알아내는 것

시스템이 형태를 확인한 후, 자동으로 상응하는 다단계 또는 공단 거래를 실행하고, 1%의 수익 목표와 0.5%의 중지 손실 수준을 설정하여 2:1의 리스크 수익률을 형성한다. 이 비율은 전문 거래에서 지속 가능한 위험 관리 방법으로 널리 알려져 있다.

전략적 이점

  1. 객관적인 진입 신호명확한 수학적인 정의를 통해, 이 전략은 주관적인 판단을 없애고, 객관적인 일관된 입시 신호를 제공하며, 인위적인 편견과 감정적인 결정을 피한다.

  2. 좋은 위험 관리2: 1 리스크 수익률을 내장하고 (% 1의 수익률, 0.5%의 손실을 막기) 엄격한 자금 관리를 보장하고, 장기적으로 40%의 승률을 달성 할 수 있습니다.

  3. 다중 시장 및 시간 프레임에 적응이 전략은 일반적인 가격 행동 패턴을 기반으로 다양한 금융 시장과 시간 프레임에 적용할 수 있으며, 이를 통해 유연성과 실용성을 강화합니다.

  4. 정교한 패턴 인식코드는 다음과 같습니다.strongBodysmallBody그리고isMiddleReversalCandle함수는 특성을 상세히 분석하여 패턴 인식의 정확도를 높이고, 잘못된 보고를 줄인다.

  5. 자동화 실행전략: 자동으로 모형을 인식하고 거래를 실행하여 수동 거래의 주저와 지연을 제거하고 계획대로 거래를 실행하도록합니다.

  6. 시각화 확인: 차트에 표시된 형태를 통해 거래자는 전략의 효과를 쉽게 추적하고 검증하여 지속적인 개선을 할 수 있습니다.

전략적 위험

  1. 가짜 침입 위험형태는 특정 시장 조건에서, 특히 낮은 변동성 환경이나 수평 시장에서 잘못된 신호를 일으킬 수 있습니다. 추가 확인 지표 (예: 거래량 또는 동력 지표와 같은) 를 추가하여이 위험을 줄일 수 있습니다.

  2. 고정 비율의 상쇄 손실 제한: 전략은 고정된 비율을 중지 및 장점으로 사용하며, 이는 모든 시장의 변동적 특성에 적합하지 않을 수 있습니다. ATR (Average True Range) 에 기반한 동적 중지를 사용하는 것이 더 적합 할 수 있습니다.

  3. 트렌드 필터 부족: 현재 전략은 더 큰 시장 추세를 고려하지 않고, 강한 추세 상반기 거래에서 빈번한 손실을 초래할 수 있습니다. 추세 지표 (예: 이동 평균) 필터 신호를 추가하면 성공률을 높일 수 있습니다.

  4. 과대 최적화 위험: 현재 변수 (예: 0.3과 0.6의 신체 비율 지점) 는 역사적인 데이터에 지나치게 적합할 수 있으며, 미래 시장에서 좋지 않은 성능을 나타냅니다. 안정적인 재검토와 전향 테스트를 수행하는 것이 중요합니다.

  5. 수량 확인 부족이 전략은 가격 행동에만 기반하고 거래량을 고려하지 않습니다. 거래량은 역전 효과를 확인하는 중요한 요소입니다. 거래량 분석을 전략에 통합하면 신호 품질을 향상시킬 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터 추가: 이동 평균 또는 트렌드 강도 지표를 적용하여 트렌드 방향에서만 반전 형태를 거래하십시오. 예를 들어, 상승 추세에서만 아침 별 형태를 거래하고 하향 추세에서만 밤 별 형태를 거래하면 승률을 크게 높일 수 있습니다.

  2. 통합 트래픽 확인트랜지션 모드를 추가하여 추가 확인 요소로 추가합니다. 이상적으로, 아침 별 모양의 세 번째 은 트랜지션 증가와 함께, 밤 별 모양의 세 번째 은 또한 높은 트랜지션 지원을해야합니다.

  3. 동적 상쇄: 시장의 변동성에 기반한 동적 스톱로드를 고정 비율 스톱로드로 대체하여, 예를 들어 ATR 배수를 사용하여 스톱 지점을 설정하여 현재의 시장 환경에 더 적합하게 만듭니다.

  4. 다중 시간 프레임 분석을 추가합니다.시장 구조 분석을 더 높은 시간 프레임과 결합하여 거래 방향이 더 큰 추세와 일치하는지 확인하고 주요 추세에서 역거래를 피하십시오.

  5. 최적화 변수 설정특히, 이 경우, 이 경우, 이 경우, 이 경우, 이 경우, 이 경우smallBody그리고strongBody값은 형상 인식의 정확도를 높이기 위해 조정할 수 있다.

  6. 시간 필터를 추가합니다.: 시장은 거래 시간에 따라 다르게 행동하며, 시간 필터를 추가하면 시장 개시 및 종료와 같은 비효율적인 거래 시간을 피할 수 있습니다.

요약하다

다중 형태 인식과 자동 거래 전략은 전통적인 기술 분석과 현대적인 양적 방법을 결합한 포괄적 인 솔루션을 나타냅니다. 아침 별과 밤 별 형태를 정확하게 식별함으로써 전략은 거래자에게 객관적인 시장 반전 입구를 제공하며 자동 거래와 엄격한 위험 관리로 실행 규율을 강화합니다.

기본 전략은 이미 완벽하지만, 트렌드 필터링, 거래량 확인 및 동적 위험 관리와 같은 최적화를 추가하여 전략 성능을 더욱 향상시킬 수 있습니다. 중요한 것은, 거래자는 모든 전략이 특정 시장 환경에서 전체적으로 테스트되고 검증되어야 안정성과 신뢰성을 보장한다는 것을 인식해야합니다.

마지막으로, 이러한 전략은 거래 신호뿐만 아니라 시장 구조와 가격 행동을 이해하는 데 교육적 가치를 제공합니다. 이러한 고전적 형태가 형성되는 것을 관찰함으로써 거래자는 시장 심리 및 잠재적인 수요 불균형을 더 깊이 이해할 수 있으며 이를 통해 더 성숙한 시장 통찰력을 키울 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-04-03 00:00:00
end: 2024-12-07 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/

//@version=6
strategy("Morning & Evening Star Strategy (1% TP, 0.5% SL)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Inputs ===
slPercent = 0.5
tpPercent = 1.0

// === Helper Functions ===
bullish(open, close) => close > open
bearish(open, close) => close < open
bodySize(open, close) => math.abs(close - open)
candleRange(high, low) => high - low

smallBody(open, close, high, low) =>
    bodySize(open, close) < (candleRange(high, low) * 0.3)

strongBody(open, close, high, low) =>
    bodySize(open, close) > (candleRange(high, low) * 0.6)

isMiddleReversalCandle(open, close, high, low) =>
    bSize = bodySize(open, close)
    cRange = candleRange(high, low)
    upperWick = high - math.max(open, close)
    lowerWick = math.min(open, close) - low
    smallBody(open, close, high, low) or (bSize < cRange * 0.4 and (upperWick > cRange * 0.3 or lowerWick > cRange * 0.3))

// === Candle Values for Last 3 Bars ===
o3 = open[2]
c3 = close[2]
h3 = high[2]
l3 = low[2]

o2 = open[1]
c2 = close[1]
h2 = high[1]
l2 = low[1]

o1 = open
c1 = close
h1 = high
l1 = low

// === Pattern Conditions ===
isMorningStar = bearish(o3, c3) and strongBody(o3, c3, h3, l3) and
                 isMiddleReversalCandle(o2, c2, h2, l2) and
                 bullish(o1, c1) and strongBody(o1, c1, h1, l1) and
                 c1 > (o3 + c3) / 2

isEveningStar = bullish(o3, c3) and strongBody(o3, c3, h3, l3) and
                 isMiddleReversalCandle(o2, c2, h2, l2) and
                 bearish(o1, c1) and strongBody(o1, c1, h1, l1) and
                 c1 < (o3 + c3) / 2

// === Entry & Exit ===
if isMorningStar
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL Long", from_entry="Long", loss=slPercent * close / 100, profit=tpPercent * close / 100)

if isEveningStar
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL Short", from_entry="Short", loss=slPercent * close / 100, profit=tpPercent * close / 100)

// === Visual Labels ===
plotshape(isMorningStar, title="Morning Star", location=location.belowbar, color=color.green, style=shape.labelup, text="MS")
plotshape(isEveningStar, title="Evening Star", location=location.abovebar, color=color.red, style=shape.labeldown, text="ES")