글 목차

근거와 범위

해당 자료들은 채널 공식, 데이터 이동 및 시뮬레이션된 주문 타이밍을 뒷받침합니다. 과거의 추세 추종 주장은 여기서 제안하는 특정 진입, 거래량 임계값 및 청산 전략이 수익성이 있다는 증거로 간주되지 않습니다.

데이터와 시장정의된 상품과 거래 세션을 사용하십시오. 선물 거래에는 명시적인 계약 및 롤오버 규칙이 필요하며, 주식 거래에는 고가, 저가 및 실행 가격 전반에 걸쳐 일관된 분할 조정이 필요합니다.
연구 대상 시간봉N=20를 H=1에 사용하거나 일일 데이터를 사용하는 것은 실험적인 구성이며, 보편적인 권장 사항이 아닙니다. 세션 길이와 실행 비용에 따라 그 의미가 달라질 수 있습니다.
가격은 99와 105 사이에서 변동하다가 거래량 증가와 함께 105 위에서 마감되고, 가상 예시에서는 계속해서 상승합니다.도표를 원래 크기로 열기
원래의 합성 가격 및 거래량입니다. 두 레벨은 모든 표시 지점에서 재계산되는 롤링 채널이 아니라 트리거 발생 이전의 스냅샷입니다.

실전 적용 절차

적용 절차: 롤링 돈치안 극단값: 돌파 및 회복을 위한 인과적 참조 수준
전체 단계는 아래에 설명되어 있습니다. 각 단계에서 데이터가 부족하거나 조건을 충족하지 못하면 제외 사유를 기록해야 합니다.
  1. N개의 막대를 모으세요현재 막대 앞에 있는 완료된 관측값을 사용하십시오.
  2. U와 D를 동결하세요극값의 가격과 발생 후 경과 시간을 기록합니다.
  3. 이벤트를 분류하세요종가 돌파는 이탈 및 회복과는 다릅니다.
  4. 거래량 조건 적용주문 제출 시점에 이용 가능한 특징값만 사용합니다.
  5. 실행 시뮬레이션사전 등록한 진입, 손절, 만료 규칙을 적용합니다.

롤링 바운더리는 확정된 스윙이 아닙니다.

돈치안은 N개의 관측값 중 극단적인 값을 취합니다. 트레이딩뷰는 상단 및 하단 밴드와 그 중간점인 [1]를 설명합니다. 양방향 피벗과는 달리, 후속 반전이 필요하지 않습니다. 다음 캔들이 시작될 때 이미 완료된 이전 기간이 알려져 있습니다. 추세가 진행되는 동안 상단 경계는 저항선 역할을 하지 않고 계속 상승할 수 있습니다.

제안된 인과적 정의는 U[t]=max(H[t−N:t]), D[t]=min(L[t−N:t]), M[t]=(U[t]+D[t])/2이며, 슬라이스의 상단 끝점은 제외됩니다. 따라서 윈도우는 t−1에서 끝납니다. 만약 H[t]가 U[t]에 포함된다면, 구성상 H[t]>U[t]라는 조건은 성립할 수 없게 됩니다.

이 간단한 차이가 실험 전체에 영향을 미칩니다. 차트 지표는 시각적인 목적으로 활성 캔들을 포함하는 밴드를 표시할 수 있지만, 전략은 어떤 과거 스냅샷을 사용할지 명확히 지정해야 합니다. 기초 극점의 타임스탬프와 가격을 저장하여 나중에 진단할 때 새로운 경계와 만료 예정인 이전 극점을 구분할 수 있도록 해야 합니다.

이벤트를 분류하기 전에 참조를 생성하세요.

pandas에서 값을 이동시키면 참조 윈도우와 평가 대상 행([2])이 분리됩니다. 한 가지 구현 예는 high.shift(1).rolling(N).max()입니다. freq를 사용하여 인덱스를 이동시키는 것은 관측값을 결정 행에 대해 상대적으로 이동시키는 것을 대체할 수 없습니다. 관측값 개수의 변화를 묵묵히 허용하는 대신, 전체 유효 윈도우를 요구해야 합니다.

기준 모형은 버퍼 b=max(2 ticks,0.1×ATR[t−1])를 더한 밴드 경계를 넘는 확정 종가를 분류합니다. N=20 및 0.1은 연구용 제안값입니다. 단일 봉을 즉시 분류할 때는 봉마다 직전 구간의 기준을 새로 계산합니다. 여러 봉에 걸친 스윕·복귀 후보에서는 후보 생성 시 원래 레벨을 고정합니다.

그렇지 않으면 경계를 벗어난 봉이 다음 롤링 구간에 포함되어 복귀 기준 경계 자체가 이동합니다. 갱신된 경계 아래로 돌아오는 것은 실제로 돌파한 원래 레벨 아래로 돌아오는 것과 다른 사건일 수 있습니다. 설정 전체에서 같은 가설을 평가하도록 candidate_id, frozen_level, 기준 시각과 만료 시각을 유지합니다.

U = max(H[t-N:t]); D = min(L[t-N:t])
b = max(2*tick, 0.1*ATR[t-1])
if no_active_setup and C[t] > U+b:
    emit('up_breakout', signal_at=t, frozen_level=U)
if no_active_setup and H[t] > U+b and C[t] < U:
    emit('upper_reclaim', signal_at=t, frozen_level=U)
# These labels represent different hypotheses.
# A close-confirmed order can be processed only after close t.

하나의 경계가 서로 다른 타당한 결과를 낳을 수 있습니다.

가상 예시: 이전 20 캔들에는 U=105, D=99, ATR=1가 있습니다. 현재 캔들에는 tick=0.01, b=0.10가 있습니다. 현재 캔들에는 H=106와 C=105.4가 있으며, 이는 상승 마감 돌파를 나타냅니다. 다음 시가 105.5, 손절매 103.9, 목표가 108.7를 설정했을 때, 초기 가격 변동 위험은 1.6 포인트이고, 비용 발생 전 목표가는 2R입니다.

실패 경로: 105.5에 시가가 형성된 뒤 가격이 103.8로 하락합니다. 신호 종가가 모든 탐지 조건을 만족했어도 손절가에 도달할 수 있습니다. 반대로 원래 신호 봉이 H=106, C=104.7이었다면 종가 돌파가 아닙니다. 이는 별도로 정의한 공매도 전략의 상단 경계 복귀가 될 수 있습니다. 손실을 본 뒤 실패한 돌파를 스윕으로 다시 분류하지 마십시오.

좀 더 미묘한 경우는 105의 이전 고점이 N-바 윈도우를 벗어나고 U가 104까지 하락할 때 발생합니다. 이때 104.5의 가격은 최근 거래된 최고가를 경신하지 않고도 채널을 돌파할 수 있습니다. 이는 유효한 이동 윈도우 이벤트입니다. 이러한 이벤트를 제외하려면 기준 레벨의 발생 또는 움직임에 대한 추가적인 등록 조건이 필요합니다.

동일성 검정은 의도적으로 수행해야 합니다. 이 기준선에서는 엄격한 '보다 큼' 조건에 따라 U+b에서 정확히 마감되는 경우 거부됩니다. 주문 제출 전에 고정된 규칙에 따라 틱 반올림을 수행해야 합니다. 그렇지 않으면 부동 소수점 노이즈로 인해 관측값이 경계 바로 위에 있는지 또는 정확히 경계에 있는지 여부가 결정될 수 있습니다.

주문 시점, 무효화 및 만료

TradingView는 에뮬레이터에서 종가 이후 주문 생성과 다음 이용 가능한 틱에서의 체결을 구분합니다 [3]. 따라서 종가 확인 모형에는 이후 실제 체결 가능한 가격, 스프레드와 슬리피지가 필요합니다. U 위에 미리 대기시킨 매수 스톱 주문은 다른 모형입니다. 봉 도중 체결된 뒤 종가 전에 반전할 수 있으며, 불리한 종가가 그 체결을 소급해 지울 수는 없습니다.

청산 방식에는 고정된 구조적 손절가, 더 짧은 산정 구간의 하단 채널을 따라가는 추적 손절, 시간 청산이 있습니다. 평가 전에 단순한 설정을 선택합니다. 재시험 진입은 허용할 되돌림 깊이, 적격 반응, 주문 유효 봉 수를 정의합니다. 재시험이 없는 돌파는 놓친 기회로 기록하며, 자동으로 가격 추격 진입으로 전환하지 않습니다.

같은 봉이 손절가와 목표가를 모두 건드리면 더 세밀한 데이터나 사전에 선언한 보수적 발생 순서 규칙이 필요합니다. 갭 테스트는 실제 체결 가격과 위험을 바꿀 수 있지만 원래 신호 시각이나 고정 기준을 바꾸면 안 됩니다. 제출 전 실행 조건 불충족으로 주문을 거부한 경우와, 체결된 주문이 손실을 낸 경우는 별개의 결과입니다.

롤링 트레일링 스톱에도 타이밍 규칙이 필요합니다. 만약 어제의 하단 밴드가 오늘 종가 이후에 업데이트된다면, 새로운 스톱은 이전의 캔들 내 움직임을 보호할 수 없습니다. 캔들을 가로질러 최종 트레일링을 적용하는 대신, 모든 스톱 수정 내역과 활성화 시간을 저장해 두는 것이 좋습니다.

거래량 필터는 강한 움직임과 비용이 더 큰 체결을 함께 선택할 수 있다

제안한 돌파 필터는 비교 가능한 세션 시간대의 과거 자료를 기준으로 RVOL≥1.5를 요구합니다. 종가 확정 후 판단할 때는 신호 봉 전체 거래량을 알 수 있습니다. 더 일찍 대기 스톱 주문을 제출했다면 주문을 낼지는 제출 시점까지 관측한 거래량만으로 정해야 합니다. 체결 후 확인한 봉 전체 거래량을 과거 진입 허가로 사용할 수 없습니다.

가격만 사용하는 분기, 최소 유동성 조건 분기, 비정상 거래량 조건 분기를 분리합니다. 기본적인 거래 가능성과 추가 정보의 가치는 서로 다른 질문입니다. RVOL이 높은 부분집합은 더 멀리 움직이면서 갭과 스프레드도 커질 수 있으므로 비용 차감 전 가격 반응만으로는 충분하지 않습니다.

순기대값, 시장 노출과 제외된 기회 수를 비교합니다. 분기별 위험 예산을 일치시키고, 과거 자료로 정한 그룹 정의에 따라 유동성·시간대별 결과를 보고합니다. 작은 부분집합의 승률이 높다고 포트폴리오 수익률이나 낙폭이 자동 개선되지는 않습니다.

여러 봉에 걸친 복귀에서는 경계 이탈 구간의 거래량과 복귀 구간의 거래량을 별도로 저장합니다. 두 거래량의 비율을 연구할 수 있지만 구간 길이가 다르면 정규화해야 합니다. 집계 OHLCV만으로는 거래가 정확한 Donchian 레벨에서 발생했는지, 넓은 봉 안의 다른 가격에서 발생했는지 알 수 없습니다.

전략 실행 전에 참조 계산을 테스트하세요.

N=10,20,40와 같은 소규모 개발 그리드를 등록합니다. 모든 신호에 대해 로그 밴드 가격, 극값 타임스탬프 및 레벨 경과 시간을 기록하고, 이전 극값이 만료되어 레벨이 변동했는지 여부도 기록합니다. 이를 통해 경제적 행태와 기계적 윈도우 효과를 구분하고 민감도를 더 쉽게 해석할 수 있습니다.

인과성 직접 검증에서는 이전 데이터 구간을 고정한 채 H[t]만 바꿉니다. U[t]는 그대로여야 합니다. H[t−1]을 바꾸면 U[t]가 바뀔 수 있습니다. 누락 봉, 휴일, 시가 갭, 오래된 데이터의 시험 사례를 추가합니다. 배치 계산과 스트리밍 구현을 비교하여 인덱스가 한 칸 어긋나는 오류가 그럴듯한 차트에 숨지 않게 합니다.

그다음 설정을 고정한 표본 외 기간을 매매 회전율, 수수료, 노출, 낙폭, 체결 조건 민감도와 함께 평가합니다. 특정 뉴스나 개장·마감 구간을 선택했다면 각각 연구 시도로 셉니다. 유리한 경계에서 완료된 거래뿐 아니라 실패한 후보와 발생하지 않은 재시험도 보고합니다.

흔한 실수

기준 레벨이 경계 이탈을 따라 움직이는 오류

새롭게 업데이트된 경계선에 대한 재탈환은 최초에 침해된 경계선을 재탈환하는 것과는 다를 수 있습니다.

터치와 크로스를 혼동함

U와 같아졌다고 자동으로 돌파는 아닙니다. 틱 반올림과 비교 규칙을 사전에 고정합니다.

짧은 산정 구간의 매매 회전 비용을 놓침

N 값이 작을수록 실행 비용이 총 이점보다 훨씬 큰 빈번한 신호가 생성될 수 있습니다.

이 기법을 사용하기 전 체크리스트

자신의 데이터로 확인한 뒤 각 항목에 체크하세요. 진행 상태는 이 브라우저에 저장되며, 전략의 수익성을 인증하지는 않습니다.

0/8 개 항목

자주 묻는 질문

상단 밴드에 닿으면 매도해야 하나요?

일반적인 결론은 없습니다. 경계에서 반전을 기대하는 역추세 매매와 돌파 매수는 상반된 가설이므로 별도 정의와 검증이 필요합니다.

돈치안이 피벗을 대신할 수 있나요?

이는 돌파 기준을 제공할 수 있지만, 피벗 검출기처럼 우측 반전 확인이나 스윙 순서 지정 기능을 제공하지는 않습니다.

연구 출처

각 출처는 옆에 설명된 정의나 근거를 뒷받침합니다. 의사코드, 가상 예시와 제안된 매개변수는 별도로 검증해야 합니다.

  1. Donchian ChannelsTradingView. 채널 공식과 설명된 활용법을 읽은 범위. 확인일: .
  2. pandas.Series.shiftpandas. 값의 시프트 동작을 확인하기 위해 API를 읽은 범위. 확인일: .
  3. Pine Script: StrategiesTradingView. 주문 생성, 다음 이용 가능한 틱에서의 체결, 스톱 주문 동작을 읽은 범위. 확인일: .

관련 기법

위험 안내

이 내용은 학습과 연구 설계를 위한 것이며 금융 조언이 아닙니다. Backtest는 과거 데이터 시뮬레이션으로, 미래 성과를 보장하지 않으며 실제 거래를 주문하지 않습니다. 이 라이브러리의 기법이 모두 앱에 구현된 기능은 아닙니다. 관련 정보: 검증 방법 및 학습 센터.

실제 자금을 투입하기 전에 규칙을 검증하세요

앱 지원 범위, 데이터와 개별 모의 거래를 확인하세요. 고급 탐지 기법은 별도 구현이 필요할 수 있습니다.

App Store에서 Backtest 다운로드