반응형
✅ 7단계 개요: 진짜 자동매매로 가는 마지막 걸음
지금까지 만들었던 모든 기능:
- 전략 설정
- 실시간 시세 감지
- 조건검색 연동
- 자동 주문 실행
- 수익률 분석
- 로그 저장 및 알림 전송
이제 이걸 버튼 클릭 하나로 실행하거나,
매일 자동 실행되도록 스케줄링할 수 있어야 완성입니다.
🛠️ STEP 1. 실행 전용 Python 메인 파일 만들기 (run_manual.py)
python
# run_manual.py
from strategies import run_strategy
from utils.discord import send_discord_alert
if __name__ == "__main__":
code = "005930"
strategy = "MA 골든크로스"
start_date = "2024-01-01"
df = run_strategy(code, strategy, start_date)
df.to_csv(f"logs/{code}_{strategy}.csv")
cum_return = round(df['cumulative'].iloc[-1]*100 - 100, 2)
send_discord_alert(f"✅ 자동매매 완료 | 전략: {strategy} | 수익률: {cum_return}%")
✅ 이 파일만 실행하면 전체 자동매매가 한 번에 수행됩니다.
🧪 STEP 2. .exe 파일로 배포하기 (PyInstaller 사용)
bash
pip install pyinstaller
pyinstaller --onefile run_manual.py
- 실행 파일이 dist/run_manual.exe로 생성됩니다.
- 실행 시 Python 없이도 작동!
📂 생성된 폴더 구조 예시:
📁 dist/
└── 📄 run_manual.exe
📁 logs/
📄 run_manual.py
📄 strategies.py
📄 utils/
📷 실행 예시 (cmd):
bash
dist\run_manual.exe
⏰ STEP 3. 매일 자동 실행 (Windows 작업 스케줄러)
🔹 자동 실행 예약
- Windows → 작업 스케줄러 실행
- 기본 작업 만들기 클릭
- 트리거: 매일 오전 9시
- 동작: 프로그램 시작 → run_manual.exe 선택
- 저장
📷 작업 스케줄러 설정 화면
🔄 STEP 4. 전략 자동 변경 + 반복 실행 (선택)
🔹 여러 전략 자동 반복 실행 예시
python
strategies = ["MA 골든크로스", "RSI 30 이하", "볼린저밴드"]
for s in strategies:
df = run_strategy("005930", s, "2024-01-01")
df.to_csv(f"logs/005930_{s}.csv")
send_discord_alert(f"[{s}] 수익률: {df['cumulative'].iloc[-1]}")
🔔 STEP 5. 에러 감지 및 알림 기능 추가 (옵션)
python
try:
# 전략 실행
...
except Exception as e:
send_discord_alert(f"❌ 자동매매 실패: {str(e)}")
✅ 전체 자동화 흐름 요약
📷 자동매매 전체 흐름도 (.exe + 스케줄링 포함)
키워드: 파이썬 자동매매 배포, .exe 만들기, 자동매매 자동 실행, Python 스케줄러, 키움증권 자동매매 완성
반응형