국내주식, 키움증권 신 REST, 매도 전용

키움 REST 수동매수 후 자동매도, 사람이 사고 프로그램이 팝니다

"종목 고르고 사는 건 제가 할게요. 파는 것만 규칙대로 대신 해 주세요." 명세서는 이 말에서 크게 벗어나지 않았습니다. 매수 기능이 없는 매도 전용 프로그램이고, 계좌 두 개가 서로 다른 규칙으로 따로 돕니다. 2026년 8월 말에 납품했습니다.

플랫폼
키움증권 신 OpenAPI
(REST, 64bit)
역할
매도 전용
진입 로직 없음
주문
15:20 동시호가
시장가 전량
제작 기간
약 2주
(자동 테스트 382개)
키움 수동매수 자동매도 프로그램의 계좌 1 탭. 추적 종목별 매수일, 수량, 양봉과 음봉 개수, 매도 예정, 상태 표
계좌 1 탭. 추적 중인 종목마다 매수일 이후 양봉과 음봉 개수, 오늘 매도 예정 여부가 보입니다 (종목과 수량은 예시값)

01두 계좌, 두 규칙

의뢰인은 계좌 두 개에 각각 다른 매도 원칙을 정해 두고 손으로 지키고 있었습니다. 그러려면 매일 15:20 전에 종목마다 봉을 세고 5일선을 확인해야 합니다. 하루라도 빼먹으면 원칙이 무너집니다.

계좌 1
매수 다음 거래일부터
양봉 2개 또는 음봉 2개 누적

연속일 필요는 없고 합친 개수로 셉니다. 양봉 하나에 음봉 하나면 아직 기다리고, 어느 쪽이든 2개가 차는 날 팝니다.

계좌 2
종가 < 5일 이동평균선

조건은 이것 하나입니다. 종가와 5일선이 같으면 이탈로 보지 않습니다. 15:19:30의 현재가를 그날 종가로 보고 판정합니다.

추적하는 것은 프로그램을 켠 뒤 새로 산 종목만입니다. 켤 때 이미 있던 잔고는 기준선으로 잡아 두고 건드리지 않습니다. 원래 들고 있던 종목도 규칙에 넣고 싶으면 [기존 보유 추적] 버튼으로 골라서 올리면 됩니다. 익절이나 손절 개념은 없습니다. 조건이 맞으면 보유 전량을 시장가로 냅니다.

0215:19:30에 판정하고, 15:20:00에 주문한다

규칙은 단순한데 만들 때는 시각 문제에 품이 절반쯤 들었습니다. 하루는 이렇게 흘러갑니다.

종목이 많으면 판정 시각을 자동으로 앞당깁니다. 키움 REST는 요청 사이에 간격을 둬야 해서 종목 수만큼 시간이 걸리는데, 15:20까지 판정을 못 끝내면 그날 매도가 통째로 빠지기 때문입니다. 프로그램이 필요한 만큼 당기고 그 사실을 화면에 띄웁니다. 09:00보다 앞으로는 당기지 않습니다.

개발 PC 시계가 11초 빨랐다

주문 시각은 키움 서버 시각을 기준으로 잡습니다. 서버 응답에 찍힌 시각과 PC 시계의 차이를 구해 모든 시각 계산에 반영합니다. PC 시계가 11초 빠르면 PC의 15:20:00은 실제로 15:19:49입니다. 동시호가가 열리기 전이라 정규장 시장가로 바로 체결돼 버립니다. 휴장인지도 공휴일 표 대신 오늘 일봉이 있는지를 보고 판단합니다. 사람이 관리하는 표가 틀리면 개장일을 휴장일로 잘못 알고 그날 매도를 놓칩니다.

03고치고 나서야 알게 된 것들

납품 전에 점검 방법을 바꿔 가며 10라운드 연속으로 결함이 0건 나올 때까지 자체 점검을 돌렸습니다. 1차 31라운드에서 23건, 2차 10라운드에서 10건이 나왔습니다. 다른 프로젝트에서도 똑같이 생길 만한 것만 골랐습니다.

키움 수동매수 자동매도 프로그램 로그 탭. 토큰 발급, 상태 복원, 종목별 판정 진단, 15:19:30 판정 고정, 15:20:00 매도 주문, 잔고 감소 확인
로그 탭. 종목별 판정 근거가 한 줄씩 남고, 15:19:30의 판정 고정과 15:20:00의 주문이 따로 찍힙니다 (예시 로그)

04납품물

기존 보유 추적 창. 기준선 종목을 선택해 매수일을 입력하고 추적에 올리는 화면
[기존 보유 추적] 창. 프로그램을 켜기 전에 산 종목도 골라서 규칙에 넣을 수 있습니다
키움증권 신 REST API Python 3.10 64bit PyQt5 pytest (382) PyInstaller docx-js (사용설명서)

05자주 묻는 것

텔레그램 알림은 없나요?

이 건에는 없습니다. 의뢰인이 장중에 화면을 보고 계신 분이라 요청하지 않으셨고, 넣지 않으면 값도 쌉니다. 필요하면 하루면 붙습니다.

모의투자로 먼저 돌려볼 수 있나요?

됩니다. 설정에서 모의와 실전을 바꾸면 프로그램을 다시 켜지 않아도 다음 [시작]부터 적용됩니다. 처음에는 재시작이 필요하다는 안내가 붙어 있었는데, 살펴보니 재시작 없이도 되는 일이어서 고쳤습니다. 앱키 발급 절차는 키움 REST 앱키 발급 가이드에 있습니다.

규칙을 바꾸고 싶으면요?

봉 개수, 이동평균 기간, 판정 시각, 계좌별 사용 여부는 설정 화면에서 바꿉니다. 판정 부분은 일봉과 매수일만 받아 계산하도록 따로 떼어 놓았습니다. 3봉 누적이나 20일선 이탈 같은 변형은 코드 몇 줄로 됩니다.

06관련 사례

시장가 매도 요청이 실제로 어떻게 생겼는지는 키움 REST API 주식 주문 글에 있습니다.

※ 본 사례는 고객 요구사항을 익명 처리하여 재구성한 것이며, 화면의 종목, 수량, 계좌는 예시값입니다. 수익률과 수익금은 공개하지 않습니다. 알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.

파는 것만 맡기고 싶으시다면

매도만, 알림만 하는 부분 자동화도 만듭니다. 규칙이 한 줄이어도 괜찮습니다.
지금 손으로 지키고 계신 원칙을 상담에서 적어 주세요.

무료 상담 시작하기 고객 후기 보기
← 제작 사례 전체 보기