← 목록
기타 2026-05-19 8KB 읽기 8분

크라우니프로그램 — 자동매매 엔진 완전 구현

날짜: 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주간리그, 카운트다운, 상금풀
리포트800P&L차트, 규율게이지, 거래분석
DEX7936561인격체 거래소
리더보드748트레이더/프로그램 순위, 포디움
차트502OHLC캔들, 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.

파일줄수큐브역할
트레이딩서버.한선95918,795메인 HTTP 서버, 19 API, 27슬롯 셀, SSE
프로그램엔진.한선85318,309인디케이터 7종, 전략 5종, CRUD, 리스크, P&L
백테스트엔진.한선1,30424,687캔들생성, 백테스트, 최적화, 워크포워드, 몬테카를로
시뮬엔진.한선58011,5955심볼 틱생성, 주문매칭, 포지션관리, 캔들집계
트레이딩셀.한선30749,005방사형 셀코어 8셀, 리스크룰, FSM, 감사추적
프랍엔진.한선86322,856챌린지 5종, 리스크평가, 페이아웃 80/20, 펀디드
DEX엔진.한선86926,6696561인격체, 1211비즈니스, AMM풀, CRN토큰
보안통합.한선3416,620크라우니시큐리티 7모듈
체인어댑터.한선1613,260크라우니블록체인 6종 이벤트 기록
설치.한선29113,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를 단일 서버로 링크하는 런타임 통합 필요