전략MA — MA 기반 3규칙 트레이딩 전략 (순수 한선씨)
개요
사장님 지시로
kps-trading-tool 프로젝트에 MA(이동평균) 기반 3규칙 전략 판정기를
순수 한선씨(.한선)로 구현. 봉 구성(폴링 tick→OHLC), 지표(MA/기울기/위치/근접), 규칙1~3,
통합판정을 전부 센트 정수 연산으로 작성. 실주문 호출 없음(순수 판정 로직).
무엇을 했는지
전략MA.한선 신규 작성
봉 구성: MA_구간생성/MA_틱반영 — 5초 tick을 봉주기(기본 60초) 단위로 묶어 OHLC 확정
배열 회전: MA_배열추가(상한 200, 실증실행기.한선 EX_가격배열추가 패턴 재사용)
지표: MA, MA_지점값, MA기울기, 위치판정, MA근접, 봉색
규칙1: 규칙1_진입시그널(위+초록=롱/아래+빨강=숏), 규칙1_청산여부
규칙2: 규칙2_게이트(상향=롱만/하향=숏만/평탄=보류)
규칙3: 규칙3_돌파(위치이력 기반, 확정봉수 파라미터화), 규칙3_반등(근접이력 기반), 규칙3 통합
통합: 전략판정 → 규칙1_규칙3_결합(우선순위: 보유중 청산 우선 → 게이트 통과 신호 결합,
충돌 시 관망)
파라미터 블록: 봉주기초=60, MA기간=20, 기울기뒤로=3, 기울기평탄임계=25(센트),
근접임계기본=500(센트), 돌파확정봉수=1
검증
- 컴파일:
hanseonc_high 경고 0건 (9558 큐브)
- 자체시험: 31/31 PASS (합성 봉 데이터, ①MA계산 ②봉색3종 ③기울기3종 ④규칙1 4케이스
⑤규칙2 게이트 ⑥규칙3 반등/돌파 ⑦통합판정 충돌·단독·청산 ⑧봉회전 상한 ⑨봉구성 틱반영)
- 실주문 미포함 확인 — 소켓/체계()/외부 API 호출 코드 없음. 9847 포트 인스턴스 무접촉.
재사용한 기존 패턴 (crownycode-learn.sh search "트레이딩엔진")
- HIT(학습DB):
fn_트레이딩엔진_SMA, EX_가격배열추가(실증실행기.한선) → MA_배열추가로 이식
- HIT(패턴DB):
fn_트레이딩엔진_골든크로스신호, fn_트레이딩엔진_매매판단 구조(규칙조합·우선순위) 참고
EX_RSI/EX_추세(실증실행기.한선)의 절댓값()/그리고/또는/동안/탈출 관용구 그대로 채용
- 신규 학습 등록:
fn_전략MA_규칙3돌파, fn_전략MA_봉틱반영 (신규 로직, learn.sh add 완료)
관련 파일
/Users/ef/CrownyDoc/projects/kps-trading-tool/전략MA.한선 (신규, 순수 판정 로직)
- 참고:
/Users/ef/CrownyDoc/projects/kps-trading-tool/실증실행기.한선, 서브5-전략엔진-v4.한선
- 컴파일 산출물:
/tmp/전략MA.toau (임시, 커밋 대상 아님)
사장님 확인 필요한 해석 지점
- 봉주기 60초가 맞는지 — 15분봉 등 상위 타임프레임 기준인지, 아니면 지시대로 초단타
60초봉으로 실전 투입할지 확인 필요.
- 근접임계 기준 — 지시대로 "ATR의 절반(없으면 고정 5포인트=500센트)"으로 구현했으나,
현재 파일은 ATR 계산기를 갖고 있지 않음(순수 MA 전략이라 의도적으로 미포함). ATR 연동이
필요하면 실증실행기.한선의 EX_ATR을 인자로 받아
MA근접의 임계값을 대체해야 함.
- 청산을 봉색만으로 할지 — 규칙1은 "보유 중 반대봉색=청산"만 구현. 목표가/손절가 같은
가격 기반 청산과 병행할지, 아니면 봉색 단독 트리거로 실전 투입할지 결정 필요.
- 규칙2 게이트와 규칙3 충돌의 구조적 관계 — 게이트가 "상향→롱만/하향→숏만" 허용이라,
게이트 통과 후에는 규칙1·규칙3 신호가 구조적으로 항상 같은 방향만 살아남는다(반대방향은
게이트에서 이미 차단됨). 즉 "규칙1 롱 vs 규칙3 숏"이 실전 파이프라인에서 동시에 살아남는
경우는 이론상 없음 — 이것이 의도된 설계인지(게이트가 충돌 회피의 실질 역할을 겸함),
아니면 게이트를 규칙1에만 적용하고 규칙3은 게이트 없이 별도 충돌검사를 거쳐야 하는지
확인 필요. 현재는 스펙 원문("게이트 통과 후 규칙1·규칙3 결합")을 그대로 따라 양쪽 다
게이트를 통과시키는 구조로 구현. 결합판정(규칙1_규칙3_결합) 함수 자체는 충돌 시 관망을
정확히 수행함(단위시험 별도 검증).
- 봉 확정 타이밍의 다음 봉 시가 — 봉 확정 시 다음 구간의 시가를 "확정을 유발한 그 tick"으로
재시작(해당 tick이 이번 봉 종가이자 다음 봉 시가 역할)했음. 갭 없는 연속형 봉을 의도한 것이
맞는지 확인.
잔여 이슈
- ATR 연동 미포함(위 확인사항 1 참고) — 필요 시 후속 작업으로 실증실행기.한선의 EX_ATR을
선택적 인자로 받아
MA근접 임계값을 대체하는 옵션 추가 예정.
- 실전 배선(실증실행기.한선 반복스텝 루프와의 결선, rules.psv 발화 로그 포맷 정합)은
아직 미착수 — 이 파일은 판정 로직 단독 산출물.