크라우니프로그램 — 자동매매 엔진 완전 구현
날짜: 2026-05-19
개요
크라우니트레이딩 플랫폼에 완전 자동매매 프로그램 시스템을 구축. 전략 정의→백테스트→최적화→자동실행→실시간 모니터링 전체 파이프라인 완성.
한선씨 네이티브 전환 완료: 서버코어 10파일 6,517줄, 195K큐브, 5.2MB TOAU — 10/10 컴파일+실행 성공.
전체: 서버코어 6,517줄 + 보안/체인/설치 795줄 + 레거시동반 4,472줄 = 한선씨 11,784줄. 프론트엔드 13,278줄. 총 ~28,000줄.
구현 내역
1. 프로그램 엔진 (lib/program-engine.js, 452줄)
- 인디케이터 7종: EMA, SMA, RSI, MACD, Bollinger Bands, ATR, VWAP
- 내장 전략 5종: EMA크로스, RSI반등, 브레이크아웃, 평균회귀, 3TF동기화
- 프로그램 CRUD + 시작/중지/일시정지 라이프사이클
- SimEngine 연동 자동주문 (시장가 + 자동 SL/TP)
- 리스크 관리: 일일 손실한도, 최대 포지션, 일일 거래 제한, 스케줄
- 이벤트 기반: signal, trade, status 이벤트 emit
- fill 이벤트로 P&L 자동 추적 + 일일 손실한도 자동 중지
2. 백테스트 엔진 (lib/backtest-engine.js, 450줄)
- 히스토리컬 캔들 생성기 (결정적 PRNG, 랜덤워크+평균회귀+변동성 클러스터)
- 5개 심볼 지원: ES, NQ, CL, GC, 6E
- 성과 메트릭: 승률, PF, 샤프비율, 최대DD, 월별 성과, 에퀴티커브
- 파라미터 최적화: 그리드 서치 (전략별 기본 범위, 최대 500 조합)
- 워크포워드 분석: in/out-of-sample 윈도우별 최적화+검증, 견고성 점수
- 몬테카를로 시뮬레이션: 거래 셔플 최대 500회, 백분위수+파산확률
- 성능 최적화: O(n²) → O(n) lookback 윈도우
3. Server API (server.js, 912줄)
- 15개 프로그램 엔드포인트 (CRUD + backtest + optimize + walkforward + montecarlo)
- SSE 실시간 스트림 (/api/program/stream) — 시그널/트레이드/상태 브로드캐스트
- 3초 간격 실행중 프로그램 틱 브로드캐스트
4. 프론트엔드 (11페이지, 10,338줄)
| 페이지 | 줄수 | 주요 기능 |
|---|
| 프로그램 대시보드 | 1,445 | 목록+생성+백테스트, SSE, 상세모달, 벌크액션, 시그널이력, 복제 |
| 백테스트 5탭 | 1,069 | 단일/비교/최적화/워크포워드/몬테카를로, Canvas 차트 |
| 도움말 | 1,876 | 전략가이드, FAQ아코디언, 용어사전25개, 사이드바 네비 |
| 캘린더 | 935 | 경제지표12종, 월탐색, 프로그램연동, 카운트다운 |
| 랜딩 | 932 | 자동매매 섹션, 실시간 성과 카운터, 전략카드 |
| 대시보드 | 991 | 시뮬+챌린지+프로그램 통합 |
| 리그 | 821 | 주간리그, 카운트다운, 상금풀 |
| 리포트 | 800 | P&L차트, 규율게이지, 거래분석 |
| DEX | 793 | 6561인격체 거래소 |
| 리더보드 | 748 | 트레이더/프로그램 순위, 포디움 |
| 차트 | 502 | OHLC캔들, EMA/BB, SSE, 줌 |
| 교육 | 358 | 전략학습 카드 5종 추가 |
5. 한선씨 동반 (34파일, 4,472줄) — 레거시
- 서버: 프로그램엔진, 백테스트엔진, 최적화엔진, 5전략, 12유틸
- 프론트엔드: 차트엔진, 리더보드, 리그엔진, 리포트분석
- DEX: 버스DEX엔진
- 포네: 참가비, 페그, 페이아웃
6. 한선씨 네이티브 서버코어 (10파일, 6,528줄) — 전체 컴파일 완료
크라우니기계어(TOAU) 네이티브 실행 가능한 순수 한선씨 서버.
10/10 컴파일 성공, 195,094 큐브, 5.2MB TOAU.| 파일 | 줄수 | 큐브 | 역할 |
|---|
| 트레이딩서버.한선 | 959 | 18,795 | 메인 HTTP 서버, 19 API, 27슬롯 셀, SSE |
| 프로그램엔진.한선 | 853 | 18,309 | 인디케이터 7종, 전략 5종, CRUD, 리스크, P&L |
| 백테스트엔진.한선 | 1,304 | 24,687 | 캔들생성, 백테스트, 최적화, 워크포워드, 몬테카를로 |
| 시뮬엔진.한선 | 580 | 11,595 | 5심볼 틱생성, 주문매칭, 포지션관리, 캔들집계 |
| 트레이딩셀.한선 | 307 | 49,005 | 방사형 셀코어 8셀, 리스크룰, FSM, 감사추적 |
| 프랍엔진.한선 | 863 | 22,856 | 챌린지 5종, 리스크평가, 페이아웃 80/20, 펀디드 |
| DEX엔진.한선 | 869 | 26,669 | 6561인격체, 1211비즈니스, AMM풀, CRN토큰 |
| 보안통합.한선 | 341 | 6,620 | 크라우니시큐리티 7모듈 |
| 체인어댑터.한선 | 161 | 3,260 | 크라우니블록체인 6종 이벤트 기록 |
| 설치.한선 | 291 | 13,501 | 설치 프로그램 (VM확인→컴파일→배포→보안) |
- VM 감사 결과: 문자열 32MB, 소켓 128개, 메모리 12M큐브(324MB), 논블로킹+poll 지원
- 셀코어: 8개 루트셀(프로그램/시뮬/백테스트/프랍/DEX/리스크/보안/체인), 리스크룰 3개, FSM 4상태 7전이
- 보안: 토큰인증, 해시무결성(SHA256 체인), 침입탐지(SQLi/XSS/PathTraversal), DLP, ABAC, SIEM, 블록체인보안
- 블록체인: 챌린지구매/거래체결/리스크위반/챌린지합격/페이아웃/프로그램생성 6종 체인 기록
- 컴파일 버그 수정:
의 소유격→맵꺼내, 신호/오류/반복 예약어 충돌, 공값→0/없음, 모듈로→%, =→== 비교연산
API 엔드포인트
POST /api/program/create 프로그램 생성
GET /api/program/list 목록 (통계 포함)
POST /api/program/start 시작
POST /api/program/stop 중지
POST /api/program/pause 일시정지
POST /api/program/delete 삭제
GET /api/program/status/:id 상태
GET /api/program/logs/:id 로그+시그널
POST /api/program/backtest 단일 백테스트
POST /api/program/backtest-compare 전략 비교 (동일 캔들)
POST /api/program/optimize 파라미터 최적화 (그리드 서치)
POST /api/program/walkforward 워크포워드 분석
POST /api/program/montecarlo 몬테카를로 시뮬레이션
GET /api/program/stream SSE 실시간 스트림
관련 파일 경로
/Users/ef/crowny-trading/ — 전체 프로젝트
/Users/ef/crowny-trading/lib/program-engine.js — 프로그램 엔진 JS (452줄)
/Users/ef/crowny-trading/lib/backtest-engine.js — 백테스트+최적화 엔진 JS (450줄)
/Users/ef/crowny-trading/server.js — API 서버 JS (912줄)
/Users/ef/crowny-trading/public/ — 프론트엔드 11페이지
/Users/ef/crowny-trading/한선씨/서버코어/ — 네이티브 서버코어 (4,001줄, Phase 1)
/Users/ef/crowny-trading/한선씨/보안/ — 크라우니시큐리티 7모듈 (341줄)
/Users/ef/crowny-trading/한선씨/체인/ — 크라우니블록체인 어댑터 (161줄)
/Users/ef/crowny-trading/한선씨/설치.한선 — 설치 프로그램 (291줄)
/Users/ef/crowny-trading/한선씨/서버/ — 한선씨 동반 34파일 (레거시)
/Users/ef/crowny-trading/CLAUDE.md — 전체 API 문서
완료된 마일스톤
- 10/10 서버코어 컴파일 성공 (2026-05-19~20)
- 컴파일 버그 수정:
의소유격, 신호/오류/반복 예약어, 공값, 모듈로, =→==
- 프랍엔진 JS→한선씨 전환 (356→863줄, 20개 함수)
- DEX엔진 JS→한선씨 전환 (726→856줄, 평탄배열 패턴)
- TOAU 실행 검증: 트레이딩서버 18,797큐브 로드, 프로그램엔진 18,311큐브 로드
- 통합서버 빌드 성공 (2026-05-20): 8모듈
가져오기 통합 → 37,392토큰 → 124,031큐브 (3.3MB TOAU)
- 경고 0건 달성: 11개 함수 충돌 해결 (중복 제거 + 이름 변경)
- 보안/체인 통합: 시큐리티 7모듈 + 블록체인 6이벤트 서버에 내장
- VM 로드+실행 확인: 124,035 cubes 로드, 서버 시작 성공
잔여 이슈
- 백테스트 히스토리 데이터가 랜덤워크 — 실제 시장 데이터 연동 필요
- triple_sync 전략이 SimEngine 캔들 의존 (충분한 데이터 축적 필요)
- 프로그램 상세 모달에서 파라미터 수정 API (/api/program/update-params) 미구현
- 캘린더 프로그램 자동 일시정지 기능은 시각적 토글만 (실제 연동 필요)
- VM: TCP_SELECT (다중 fd 동시 감시) 미구현 — 현재 블로킹 1클라이언트 직렬 처리
- 설치: 설치.한선이 실제
hanseonc_high 프로세스 호출은 미구현 (경로 확인 + plist 생성)
- 통합: 10개 .toau를 단일 서버로 링크하는 런타임 통합 필요