M MediaMak
로그인

PROJECT WIKI

MediaMak 전략 신호 서비스 구조

이 문서는 저장소를 처음 읽는 사람을 위해 실행 흐름, 디렉터리 책임, 웹/API 계층, 전략 러너, 운영 파일의 관계를 한 페이지에서 설명합니다.

CONTENTS

목차

  1. 프로젝트 개요
  2. 전체 실행 흐름
  3. 디렉터리 구조
  4. 웹 화면과 API
  5. 전략과 데이터 흐름
  6. 운영 파일과 배포 보조 도구
  7. 추천 읽기 순서

01 OVERVIEW

프로젝트 개요

MediaMak은 시장 데이터 수집, 전략 신호 생성, 시뮬레이션/내부 테스트 결과 집계, 웹 콘솔 표시를 하나의 저장소에서 제공하는 전략 신호 서비스입니다. 핵심 서버는 Flask 기반의 `p03_job/web_https_server.py`이며, 화면 자산은 `p04_web`에서 관리합니다.

핵심 관점 스케줄러는 실행을 시작하고, runner는 환경과 로그를 준비하며, Python job은 수집/전략/API를 수행합니다.

02 RUNTIME FLOW

전체 실행 흐름

1Windows Scheduler`p01_register`의 등록 BAT로 주기 작업을 구성합니다.
2Runner BAT`p02_runner`가 Python 경로, 대상 job, 로그, lock 파일을 준비합니다.
3Python Jobs`p03_job`의 수집기, 전략 러너, Flask 서버가 실제 업무를 수행합니다.
4MySQL/Web/API수집·전략 결과는 DB에 저장되고 웹 화면과 API로 조회됩니다.

03 DIRECTORY MAP

디렉터리 구조

p01_registerWindows 작업 스케줄러 등록용 BAT 파일.
p02_runner실행 래퍼. 로그, lock, 환경 변수를 준비한 뒤 Python job 호출.
p03_jobFlask 서버, 데이터 수집기, 전략 러너, 검증/시뮬레이션 스크립트.
p04_webJinja 템플릿과 정적 JS/CSS. 홈, 전략 상세, 콘솔, 관리자 화면 담당.
p05_android기존 웹 서비스를 WebView로 감싸는 Android 프로젝트.
sql전략 소유권, 공개 범위, runtime settings 관련 migration/rollback.
runtime_state라이브 승인, 주문 허용, 비상정지, lock 등 런타임 안전장치 파일.
logs / outputs운영 로그, 검증 결과, 분석 리포트, CSV/JSON/MD 산출물.
docsObsidian 스타일 프로젝트 문서. 구조, 전략, API, 운영, QA 문서 보관.

04 WEB & API

웹 화면과 API

웹 진입점은 `/` 홈, `/wiki` 프로젝트 위키, `/strategies/<strategy_code>` 전략 상세, `/console` 슈퍼관리자 콘솔, `/kospi/strategy1/simulation` 코스피 전략 시뮬레이션입니다. 공용 상단 메뉴는 `p04_web/templates/_exchange_nav.html`에서 관리합니다.

05 STRATEGY & DATA

전략과 데이터 흐름

가격과 체결 데이터는 수집기를 통해 MySQL에 저장되고, 전략 러너가 신호·포지션·이벤트·손익 데이터를 갱신합니다. 웹 서버는 이 데이터를 읽어 홈 순위, 전략 상세, 콘솔 화면으로 제공합니다.

수집`btc_price_to_mysql.py`, `upbit_ws_trade_to_mysql.py`, KIS 관련 수집 job.
전략 실행`rule_based_strategy1_trade_runner.py`와 전략별 wrapper runner.
결과 저장신호 snapshot, 포지션, 이벤트, 모의 손익 series 테이블.
표시Flask API와 `p04_web/static` 스크립트가 화면 데이터를 구성.

06 OPERATIONS

운영 파일과 배포 보조 도구

라이브 주문은 코드만으로 열리지 않고 `runtime_state`의 승인/허용 파일, 환경 변수, runner 설정을 함께 확인합니다. 검증 결과와 운영 리포트는 `outputs`, 장애 분석 로그는 `logs`에서 확인합니다.

07 READING ORDER

추천 읽기 순서

  1. `docs/00_Project/README.md`에서 프로젝트 목적을 확인합니다.
  2. `docs/00_Project/Directory.md`와 이 위키 페이지로 폴더 역할을 잡습니다.
  3. `docs/01_Architecture/System_Flow.md`와 `Runtime_Sequence.md`로 실행 흐름을 봅니다.
  4. `docs/02_Strategies`에서 전략별 진입·청산·검증 기준을 읽습니다.
  5. `docs/03_API`, `docs/04_DB`, `docs/06_Operations`로 API, DB, 운영 절차를 확장합니다.