글 목차

근거와 범위

Fidelity는 재테스트 및 거래량 감소를 통한 조정에 대해 논의하고, SMB는 특정 진입 시점을 검토합니다. 이는 교육적인 예시일 뿐, 여기서 제안하는 알고리즘의 백테스트는 아닙니다.

데이터와 시장OHLCV는 명시적인 세션 캘린더를 사용합니다. 주식, 선물 및 암호화폐 거래량은 별도의 피드와 실행 검증이 필요합니다.
연구 대상 시간봉5분봉 차트는 장중 차트의 예시입니다. 일봉 차트를 만들려면 보유 기간, 갭, 자금 조달 등에 대한 별도의 가정이 필요합니다.
가격이 높은 거래량으로 50를 돌파한 후, 거래량이 줄어들면서 50.05로 되돌아왔고, 이후 추세 지속이 확인되었습니다.도표를 원래 크기로 열기
돌파 후 재시험 시퀀스에 대한 가상 이벤트 가격 및 거래량입니다. 백테스트 또는 전체 OHLC 시리즈가 아닙니다.

실전 적용 절차

적용 절차: 돌파 후 거래량 동반 재시험: 확장, 비교적 조용한 되돌림 후 추세 지속
전체 단계는 아래에 설명되어 있습니다. 각 단계에서 데이터가 부족하거나 조건을 충족하지 못하면 제외 사유를 기록해야 합니다.
  1. 알려진 레벨을 깨세요Q, ATR과 돌파 시 RVOL을 고정합니다.
  2. 첫 리테스트 대기여덟 봉 안에 지정한 가격대의 리테스트가 없으면 만료합니다.
  3. 거래량 감소 측정동일 시간대 기준 평균 RVOL을 비교합니다.
  4. 추세 지속 확인후속 종가가 리테스트 고가에 버퍼를 더한 값보다 커야 합니다.
  5. 실행하고 비교하세요실제 체결을 사용하고 되돌림 없이 계속 상승해 놓친 기회도 반영합니다.

리테스트를 기다리면 거래 기회 집합이 달라집니다

Fidelity는 횡보 중 활동이 줄어드는 돌파 후 리테스트를 설명합니다 [1]. SMB 리뷰는 돌파 이후의 진입 위치를 강조합니다 [2]. 연구 질문은 기다리면서 얻는 위험·보상 개선이 되돌림 없이 계속 가는 움직임을 놓치는 비용을 보상하는지입니다.

돌파가 반드시 재테스트를 거치는 것은 아닙니다. 되돌림 후 반등한 차트만 분석하면 진입점이 없는 강력한 추세나 해당 레벨을 돌파했다가 실패한 추세를 제외하게 됩니다. 돌파가 발생했을 때 후보를 생성한 다음, 상태 머신을 사용하여 재테스트, 만료 또는 실패로 분류하십시오.

거래량은 세 가지 역할을 할 수 있습니다. 초기 돌파 시 비정상적인 활동, 조정 기간 동안의 참여, 그리고 추세 지속 시의 활동 재개입니다. 이 세 가지 모두가 필요하다고 단정해서는 안 됩니다. 낮은 거래량은 수요 부족과 쉬운 하락을 동반할 수도 있으므로, 조용한 재시험은 지지선의 증거라기보다는 하나의 가설로 간주해야 합니다.

기준과 첫 유효 리테스트를 고정하기

제안한 상승형5분봉 버전에서 Q는 t를 제외한 이전20개 봉의 최고가입니다. A=ATR14[t−1], b=max(2 ticks,0.10A), eps=max(2 ticks,0.15A)를 정합니다. 돌파 조건은 C[t]>Q+b, C[t−1]≤Q, 종가 위치(C−L)/(H−L)≥0.70, RVOL[t]≥1.5입니다. 범위가 영인 봉에서는 이 비율을 계산할 수 없습니다. Q, A와 두 버퍼를 고정합니다.

t+1부터 t+8 사이에서 저가가[Q−eps,Q+eps] 안에 있고 종가가 Q 이상인 첫 봉 r을 고정합니다. 그전에 종가가 Q−eps 아래면 후보를 취소합니다. t+1부터 r까지 평균 RVOL은 돌파 RVOL의0.7배 이하여야 합니다. 실패하면 필터를 적용한 이 후보를 거부하고 더 예쁜 후속 리테스트로 교체하지 마십시오.

r 다음 세 봉 이내에 처음으로 H[r]+b 위에서 종가가 확정되면 신호가 됩니다. t+1부터 신호 봉까지의 최저가에서 b를 뺀 가격에 스톱을 놓고 다음 체결 가능한 호가에 진입합니다. 길이와 임계값은 모두 연구용 제안입니다. 공매도 버전은 가격 관계를 반대로 하되 거래량 효과를 별도로 검증해야 합니다.

미묘한 경우는 저점이 재검사 구간 아래를 완전히 통과하지만 종가는 Q 위로 되돌아오는 캔들입니다. 명시된 저점 내 구간 규칙은 이를 r로 인정하지 않습니다. 교차점 기반 버전은 가능하지만, 이는 다른 검출기이므로 새로운 버전 식별자를 부여해야 합니다.

H≤L를 사용하여 돌파 캔들을 거부합니다. 정의되지 않은 종가 비율은 필터를 해제하지 않으며, 기준 레벨을 넘어 갭이 발생한 제로 범위 캔들의 경우에도 마찬가지입니다.

after_breakout_close(t):
  if H[t]<=L[t] or not complete_prior_features: reject(); return
  candidate = freeze(Q,A,b,eps,break_rvol,session_id,
                     cutoff=session_end-5_minutes,known_at=received_close_time(t))
  if received_close_time(t)>=candidate.cutoff: expire(); return
  r = None
  for u in t+1..t+8:
    if session_id(u)!=candidate.session_id or received_close_time(u)>=candidate.cutoff:
      expire(); return
    if C[u]<Q-eps: cancel(); return
    if first_valid_retest(u):
      r=u; break
  if r is None: expire_no_retest(); return
  if missing_rvol(t+1,r) or mean_rvol(t+1,r)>0.7*break_rvol:
    reject_volume(); return
  for u in r+1..r+3:
    if session_id(u)!=candidate.session_id or received_close_time(u)>=candidate.cutoff:
      expire(); return
    if C[u]<Q-eps: cancel(); return
    if C[u]>H[r]+b:
      stop=min(L[t+1:u+1])-b
      consume_candidate_then_order_on_next_quote_if_before_cutoff()
      return
  expire_no_confirmation()
# A session-close timer also expires waiting candidates when no new bar arrives.

같은 시간대를 비교해 보세요.

제안된 RVOL_bar는 현재 거래량을 이전 20 세션의 해당 시간대 중앙값 거래량으로 나눕니다. TradingView는 시간별 상대 거래량 지표인 [3]에 평균값을 사용하는데, 여기서 중앙값은 의도적인 연구 변형입니다. 재검증 없이 한 추정치의 결과를 다른 추정치에 적용하지 마십시오.

1봉 돌파와 6봉 되돌림은 단순 총 거래량으로 비교해서는 안 됩니다. 동일 시점의 평균 RVOL는 지속 시간과 일중 활동 패턴 모두를 고려한 값입니다. 단축된 세션, 거래 중단 및 기준선 사용 불가 시에는 편의상 대체된 값 대신 insufficient_data를 사용해야 합니다.

RVOL≥1.2와 같은 시그널 바 확장 임계값을 별도의 실험으로 추가할 수 있습니다. 상대 강도 또는 EMA 추세 필터 또한 점진적으로 측정해야 합니다. 장 마감 거래량과 당일 최종 승자 종목으로는 아침 진입점을 선택할 수 없습니다.

조건을 충족한 합성 리테스트와 실패 경로

Q=50, A=1, tick=0.01이면 b=0.10, eps=0.15입니다. 돌파 봉이 H50.80, L49.90, C50.70이면 종가 위치는0.80/0.90, 약0.889이며 거래량은 RVOL2입니다. 조정 중 RVOL 값1.0,0.8 및 0.6의 평균은0.8로 허용 상한1.4보다 낮습니다. 리테스트 봉의 저가는50.05, 고가는50.35, 종가는50.15입니다.

다음 종가50.50은50.45를 넘습니다.50.55에 매수하고 관측한 조정 최저가50.05를 사용하면 스톱49.95, 위험0.60, 2R 목표51.75입니다. 확인형 버전은 가격이 확인 전에 Q에 닿았다는 이유만으로50.00 진입을 주장할 수 없습니다. 미리 Q에 놓은 지정가는 정보와 체결 경로가 다릅니다.

확인 주문 전에 49.80가 종가에 도달하면, 거래량이 적더라도 49.85 아래에 있기 때문에 해당 후보는 무효화됩니다. 유효한 체결 후, 49.90의 손절매 주문이 실행되면 50.55에서 0.65의 손실이 발생합니다. 만약 가격이 8개 캔들 내에 재테스트 없이 52까지 직접 상승한다면, 재테스트 없음으로 기록합니다. 이 상승은 포지션을 보유하지 않은 전략으로 얻은 수익이 아닙니다.

결과를 보기 전에 보호책을 선택하세요

전체 되돌림 아래에 손절매를 설정하는 것과 r 아래에만 손절매를 설정하는 것은 다릅니다. 이 기준선은 t+1부터 신호까지의 알려진 최저점을 사용합니다. 손실 거래를 유지하기 위해 진입 후 이전 기준선까지 보호 범위를 넓히지 마십시오.

확인 후에만 주문하는 경우 다음 호가가 너무 크게 벌어지면 사전 위험·보상 규칙에 따라 거부할 수 있습니다. 이미 대기 중인 진입 주문은 취소 전 발생한 모든 체결을 남겨야 합니다. 두 방식을 하나의 낙관적인 시뮬레이션으로 섞어서는 안 됩니다.

제안한 장중 기준 모델은2R 목표, 보호 스톱, 진입 후20봉, 세션 종료 전 청산 중 먼저 해당하는 조건으로 나갑니다. 목표는 실제 체결가에서 계산합니다. 스윙 추적 버전에는 미래 정보 없는 스윙 감지기와 별도의 통계가 필요합니다.

같은 시장 뉴스로 상관된 여러 종목이 돌파할 수 있습니다. 각 종목에 독립된 전체 위험 예산을 주지 말고 포트폴리오 위험을 제한하십시오. 스프레드를 스톱 거리로 나눈 값을 기록합니다. 금액상 작은 비용도 리테스트 스톱이 가까우면 R의 큰 부분을 차지할 수 있습니다.

기준선은 단축 세션을 포함하여 예정된 세션 종료 5분 전에 진입 마감 시간을 설정합니다. 각 후보는 session_id를 유지하며, VWAP가 사용되는 경우 anchor_id도 유지합니다. 마감 시간에 도달하거나, 세션이 변경되거나, 기준점이 재설정되면 대기 중인 이벤트가 종료됩니다. 신호 후 호가 또한 마감 시간 전에 도착해야 합니다. 세션 타이머는 추가 바가 도착하지 않더라도 대기 상태를 취소합니다. 해당 바 카운터는 다음 날 아침에 계속 작동하지 않습니다. 이 마감 시간은 기사에서 정의한 연구 선택 사항입니다.

즉시 돌파 진입을 대조군으로 포함하기

동일한 돌파 종목군을 시작으로, 돌파 후 매수, 거래량 필터 없이 재시험 대기, 그리고 거래량 필터를 적용하여 대기하는 전략을 비교합니다. 위험 예산과 거래 일정은 유사하게 유지하십시오. 체결당 기대 수익률과 할당된 일별 수익률을 모두 보고하십시오.

재테스트 확률, 대기 시간, 거래량 거부, 미체결, MAE/MFE 및 순수익률을 측정합니다. 전략이 강력한 상승 종목을 놓치는 경우, 승률이 높더라도 총 수익이 낮을 수 있습니다. 시간, 추세 및 변동성을 기준으로 컨트롤을 일치시켜 거래량이 단순히 유리한 시장 상황을 선택하는 것인지 확인합니다.

시간 순서 검증을 사용하고 겹치는 후보들을 그룹화하십시오. 하나의 명확한 최적값보다는 인접한 재검사 길이와 RVOL 임계값을 검토하십시오. 접두사 재생을 통해 Q가 새로운 돌파 고점을 따르지 않고 첫 번째 재검사의 정체가 이후 데이터에서도 변하지 않는다는 것을 입증해야 합니다.

필터링되지 않은 후보 목록을 모든 거부 사유와 함께 보관하십시오. 이 목록을 통해 후속 연구자는 다른 모집단에서 선택 과정을 다시 실행하지 않고도 각 조건의 기회비용을 재현할 수 있습니다. 또한, 겉보기에 더 나은 결과가 주로 거래 횟수 감소에서 비롯된 것인지, 아니면 실제로 후속 경로가 달라진 데서 비롯된 것인지를 파악할 수 있습니다.

흔한 실수

반등한 차트만 선택합니다

재검사 없음 및 재검사 실패 결과는 분모의 필수적인 구성 요소입니다.

거래량이 적다는 것은 항상 상승세를 의미합니다.

조용한 활동만으로는 구매 지지를 확보할 수 없습니다.

반등을 보고 Q를 매수했습니다.

사전에 대기 중인 지정가가 없다면 이는 과거에 소급한 가상 체결입니다.

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

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

0/7 개 항목

자주 묻는 질문

재검사 결과가 나타나지 않으면 전략을 추격해야 할까요?

이 버전은 그 움직임을 건너뜁니다. 즉시 돌파 진입은 임의로 추가할 예외가 아니라 비교할 별도 분기입니다.

재시험에서 정확히 한 가격을 건드려야 하나요?

아니요. 허용 오차는 이벤트 발생 전 틱 단위와 ATR 값으로 고정됩니다. 해당 너비는 유효성 검사를 위한 매개변수입니다.

연구 출처

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

  1. Entry and Exit Strategy: What you need to considerFidelity / OCC. 원문 기록의 리테스트, 돌파 실패 및 거래량 논의를 검토했습니다. 백테스트는 아닙니다. 확인일: .
  2. How to improve your trading entriesSMB Capital. 2020년 팔월10일의 원래 ADT 리뷰 기록을 검토했습니다. 감사된 전략 P&L은 없습니다. 확인일: .
  3. Relative Volume at TimeTradingView. 동일 시간대 RVOL 정의를 검토했습니다.20세션 중앙값은 이 글의 별도 제안입니다. 확인일: .

관련 기법

위험 안내

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

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

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

App Store에서 Backtest 다운로드