본문 바로가기
Hobby/Hobby_4 - Coding

[코딩실전] 주식봇 도전 - 3. 크레온 및 코드 자동실행

by 와우멍 2021. 1. 31.

안녕하세요 와우멍입니다

오늘은 지난 포스팅에서 구현한 환경을 기반으로, 예제 전략 하나를 직접 돌리는 예제를 하나 마무리해보겠습니다.

2021/01/02 - [Hobby/Hobby_4 - Coding] - [코딩 실전] 주식봇 도전 - 1.파이썬 및 기타 환경 구축

2021/01/25 - [Hobby/Hobby_4 - Coding] - [코딩실전] 주식봇 도전 - 2. 변동성돌파 전략 예제 구현


 이번 프로젝트는 유튜브 조코딩 님의 채널(www.youtube.com/channel/UCQNE2JmbasNYbjGAcuBiRRg)에 있는 영상을 보면서 수행한 과정과 겪은 시행착오를 함께 정리한 것입니다. 또, 조코딩님은 '파이썬 증권 데이터 분석' 책을 레퍼런스로 사용했다고 하셨습니다.


 첫 글에서 대신증권 크레온을 기반으로 한 계좌 세팅과 파이썬 환경 설정, 슬랙으로 봇메세지 받기위한 준비를 마치고, 

 두번째 글에서는 실제 변동성돌파전략 코드를 풀어서 이해해보며 돌려보는 것까지 해봤습니다.

 이로써 매매는 코드에 따라 자동으로 진행되긴 하지만, 아직 손으로 해야하는 부분들이 남아 있었지요..!!

  - 아침에 일어나서 Creon Plus를 로그인하기 위해 비밀번호와 공인인증서 비밀번호를 입력해야 하고,

  - 변동성돌파 자동매매 코드를 실행시켜야 하는 이 두단계가..!!

오늘은 이 두단계를 모두 자동화시키는 방안에 대해 포스팅하겠습니다.


크레온플러스 자동 로그인 코드

 지금은 크레온 플러스를 손으로 클릭해서 실행시킨 다음에 비밀번호와 공인인증서 비밀번호를 하나하나 입력해줘야 하지요... 그리고 심지어 이건 원격으로는 보안프로그램때문에 불가한 작업이네요 ㅠㅠㅠ

 그래서 이를 위해 크레온에 로그인을 해주는 코드를 간단하게 가져와봤습니다..!! 

 이건 간단하니 설명없이 붙여넣기만 하겠습니다.

 아래 코드에서 아이디와 비밀번호, 공인인증서비밀번호 칸만 본인 것으로 채워주시면 됩니다!

1
2
3
4
5
6
7
8
9
10
11
12
13
from pywinauto import application
import time
import os
 
os.system('taskkill /IM coStarter* /F /T')
os.system('taskkill /IM CpStart* /F /T')
os.system('wmic process where "name like \'%coStarter%\'" call terminate')
os.system('wmic process where "name like \'%CpStart%\'" call terminate')
time.sleep(5)
 
app = application.Application()
app.start('C:\CREON\STARTER\coStarter.exe /prj:cp /id:아이디입력 /pwd:비밀번호입력 /pwdcert:공인인증서비밀번호 /autostart')
time.sleep(60)
cs

작업스케줄러로 프로그램 자동화

  작업스케줄러: 특정시간에 특정프로그램을 실행시킬 수 있음

 이걸 이용해서 매일 아침 크레온플러스가 자동으로 로그인되고, AutoTrade 코드가 실행될 수 있도록 세팅해봅시다.!!

 

 

 1. 시작메뉴에서

 '작업 스케줄러' 검색 후 실행

 

 

 

 

 

 

 

2. '새작업 만들기'를 통해 크레온 플러스가 자동 실행되도록, 스케줄러를 만들자

 

 

 

 

 

3. '일반'탭에서 이름과 설명은 대충 입력한 다음, 관리자 권한 실행 체크!

**관리자 권한을 체크하지 않으면 프로그램이 정상적으로 실행되지 않는다..!!!

 

 

 

 

 

4. '트리거'탭에서 실행될 시간과 주기를 결정

(크레온플러스는 대략 8시 30분에, 트레이딩코드는 8시 40분 정도에 실행되도록 하겠습니다. 장전거래는 하지 않으니까요!)

 

 

 

 

 

5.  '동작' 탭에서 AutoStock.py를 위해

32bit 파이썬의 실행파일을 '프로그램/스크립트'에 입력하고,

인수크레온을 자동으로 켜주는 파이썬 파일명을,

시작위치이 파일의 위치를 입력

 

 이렇게 Creon Plus를 실행하는 스케줄과, AutoTrade.py를 실행하는 스케줄을 아래와 같이 추가했습니다.

 이렇게 하는 것의 단점컴퓨터를 항상 켜놔야 한다는 것... 이걸 보완하려면 AWS에서 서버 빌려서하는게 낫습니다!


자 이러면 이제 아침이 되면 자동으로

 8시 30분에 크레온플러스가 실행되고

 8시 40분에 코드가 실행되어 타깃 종목을 리스트한 다음

 9시 15분부터 조건 만족하는 종목 매수 및 감시

 15시 15분에 일괄 매도 후

 15시 20분에 종료

순으로 진행이 됩니다.

 

다음 글에는 이걸로 실제 돌렸을 때 결과돌리면서 겪은 우여곡절과 문제 해결에 대해 포스팅하면서 마무리하겠습니다. 감사합니다!

댓글