크라우니트레이딩 — 체제감지 + 체제필터 검증
개요
마이클V2 전략에 시장 체제감지(Regime Detection) 기반 진입 필터를 추가하고 백테스트로 효과를 검증. 거래 품질을 대폭 향상.
체제감지 정확도 (Confusion Matrix)
합성 NQ 데이터 16000틱(5 파일)에 정답 레이블 삽입 후 검증:
정확도 81%, 가중 F1 81%
──────────────────────────
레인지 F1 84% (정밀 91 / 재현 77)
상승 F1 83% (정밀 79 / 재현 87)
하강 F1 84% (정밀 79 / 재현 90)
급등 F1 49% (정밀 47 / 재현 52)
급락 F1 43% (정밀 50 / 재현 40)
알고리즘: 40틱 롤링 윈도우의 방향합(drift) + 최대단일이동(max move)
방향합 ≥ 80 && 최대이동 ≥ 6→ 급등방향합 ≤ -80 && 최대이동 ≥ 6→ 급락방향합 ≥ 15→ 상승방향합 ≤ -15→ 하강- 그 외 → 레인지
체제필터 백테스트 결과
원본 vs 체제필터 (같은 16000틱 데이터)
| 지표 | 원본 확장 | 체제필터 | 변화 |
|---|---|---|---|
| 거래수 | 54 | 16 | -70% |
| 승률 | 70% | 75% | +5% |
| PF | 4.68 | 5.88 | +25% |
| MDD | 51pt | 27pt | -47% |
| 샤프×100 | — | 4240 | — |
| 비용차감 PnL | 685pt | 233pt | -66% |
| 켈리 추천 계약 | 5 | 5 | 유지 |
필터링 통계
- 신호 발생: 23건
- 레인지 차단: 7건 (30%)
- 역체제 차단: 0건
- 실제 진입: 16건
체제별 성과
- 상승 트렌드: 7거래, +98pt
- 하강 트렌드: 6거래, +76pt
- 급등: 1거래, +25pt
- 급락: 2거래, +50pt
- 레인지: 0거래 (설계상)
핵심 가치
프랍펌 관점에서 MDD 감소가 결정적:
- 51pt → 27pt (47% 감소)
- 프랍 규칙(최대낙폭 제한) 위반 리스크 대폭 감소
- 거래 횟수는 줄지만 각 거래의 질이 상승
실전 트레이더 통합
마이클V2_실전.한선에 체제필터 인라인 구현 + 다음 기능 모두 활성:
- 3단계 킬스위치 (일 -$200 / 주 -$500 / 월 -$1000)
- 세션 상태 크래시 복구
- 체제필터 (레인지+역체제 차단)
- KPS 강등급 SL/TP 조정
- 급등/급락 체제 강등급 SL/TP 조정
발견된 hanseonc_high 버그 3건
- 중복 변수 인자:
부분(s, t, t+1)— 같은 변수t를 두 인자에 쓰면 스택 꼬임.
변수 끝 = t + 1; 부분(s, t, 끝)- 함수 내 전역변수 재대입 미반영: 함수 내에서 전역 배열/변수에 재대입해도 호출자에게 반영 안 됨.
- 다중 라이브러리 충돌: 체제감지 모듈 + 기관메트릭 + 실행비용 + 포지션사이징 동시 import 시 배열 인덱스 26385 같은 비정상 값 발생.
crownyc VM 알려진 이슈 (미해결)
설정() 스택 리크무작위() — 2026-04-16 수정 완료hanseonc_high.c:1035 에서 무작위 argc=0으로 등록, opcode 613도 pop 없이 push만 함무작위(0, 남은수) 호출 시마다 2개 스택 leak (8000+ 누적 → MDD 18360 오류)관련 파일
/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/체제감지.한선— 맵 기반 모듈 (75% 단일 파일 정확도)/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/체제감지_검증.한선— 혼동행렬 스크립트/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/마이클V2_체제필터.한선— 필터링 백테스트/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/마이클V2_실전.한선— 단일계좌 킬스위치+세션상태+체제필터 통합/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/마이클V2_실전_멀티.한선— 최대 3계좌 parallel array 동시운영/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/tradovate_multi.conf.예시— 멀티 설정 템플릿/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/틱녹음기.한선— Tradovate 실시간 시세 → 5자리 고정폭 파일 (데이터로더 호환)/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/프랍룰.한선— Apex/Lucid/LifeUp/Crowny 프랍펌 규칙 프로파일러/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/평균회귀.한선— 볼린저밴드 SMA(20) 역추세 전략 (1815큐브)/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/메타전략.한선— 체제→전략 매핑 컨트롤러 (2034큐브)/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/리스크매니저.한선— 켈리+한도+쿨다운+DD감쇠 (5537큐브)/Users/ef/Downloads/CrownyTVM/packages/crowny-trading/han/메타전략_백테스트.한선— V2 vs V2+MR 듀얼 백테스트/tmp/gen_nq_labeled.js— 레이블 포함 데이터 생성기
멀티 계좌 확장 (2026-04-16 추가)
parallel array 설계 — 배열 중첩 버그 우회:
- 계정별 스칼라 상태: 포지션들[a], 진입가들[a], kf_x들[a] 등 26개 array
- 봉 히스토리: prev/curr 2개만 유지 (전체 배열 불필요)
- 체제 델타버퍼: 계정 × 40틱 중첩 배열 (설정()로 갱신)
- 상태파일
/tmp/crowny_session_N.state, 킬파일_killswitch_N.state계정별 독립
account1.username=email
account1.password=pass
account1.env=demo
account1.symbol=MNQM6
account1.quantity=1
account2.username=...
account3.username=...
컴파일 검증: 24496 cubes, 685KB TOAU, 스택 깔끔. 각 계정 인증 독립 — 실패 시 해당 계정만 비활성화, 다른 계정은 정상 운영. 계정별 킬스위치 발동 시 해당 계정만 차단, 전체 시스템은 유지.
한선씨 컴파일러 탈출 버그 (발견)
최상위(루프 밖) 탈출 실행 시 프로그램 시작점으로 JMP 하는 버그 발견.
- 증상:
만약 (조건) { 탈출 }이 무한 반복 - 우회:
변수 진행가능 = 1플래그로 이후 로직을만약 (진행가능 == 1) { ... }로 감싸기 - hanseonc_high.c의 OP_BRK 처리 수정 필요 — HALT로 전환해야 함
잔여 이슈
급등/급락 F1 50% 미만→ v2 듀얼윈도우(20+40)+가속도: 급등 49→67%, 급락 43→70% (2026-04-17)→설정()스택 리크무작위()opcode 레벨 수정 완료 (2026-04-16)다중 계좌 확장→ parallel array 기반 3계좌 동시운영 완료 (2026-04-16)- 실제 NQ/MNQ 틱 데이터로 재검증 — 녹음기 구축 완료. 실계정 인증 후 수집 대기
hanseonc_high 최상위→ OP_HALT 전환으로 수정 완료 (2026-04-17)탈출버그메타전략→ 완료 (2026-04-17). 평균회귀+메타전략 라이브러리. 16000틱 백테스트: V2+MR PnL +33%
프랍룰 ↔ 멀티 트레이더 통합→ 완료 (2026-04-16). 32364큐브, 4라이브러리 통합
firm=apex/lucid/lifeup/crowny, capital=50000
리스크매니저→ 완료 (2026-04-17). 켈리사이징+일/주/월한도+연패쿨다운+DD감쇠 (5537큐브)hanseonc_high 바이너리 비동기→ 리빌드로 해결 (2026-04-17). 다른 세션이 소스 수정 후 미빌드