국내주식, 키움증권 OpenAPI+ (OCX)

키움 6계좌 릴레이 매수

첫 계좌가 산 종목이 정한 폭만큼 내리면 두 번째 계좌가 자기 돈으로 같은 종목을 삽니다. 거기서 또 내리면 세 번째 계좌가 삽니다. 여섯 번째 계좌까지 이렇게 이어집니다. 2026년 7월 말에 첫 버전을 납품했고, 10월 초까지 패치를 스물일곱 번 냈습니다. 앞서 만든 3슬롯 프로그램은 슬롯끼리 서로 모른 채 따로 돌았습니다. 이번에는 뒤 슬롯이 앞 슬롯의 평균 단가를 보고 움직입니다. 그 차이에서 새로운 문제가 여럿 나왔습니다.

플랫폼
키움증권 OpenAPI+
(OCX, 32bit)
구조
6슬롯 사슬
로그인 1회, 계좌 6개
전략
조건검색 또는 수동 매수로 시작
하락 시 다음 계좌가 이어받기
납품과 패치
첫 납품 2026년 7월 말
이후 약 두 달간 패치 27회
6계좌 릴레이 매수 프로그램 메인 화면. 위에 슬롯 탭 여섯 개, 왼쪽에 슬롯 1의 계좌와 조건식, 매매 시간, 연동 매수 설정, 오른쪽에 조건 매칭 종목과 수동 매수 칸, 보유 포지션, 체결 내역, 아래에 릴레이 매수 전송과 시세 보류가 찍힌 실시간 로그
슬롯 1 탭. 사슬이 시작되는 계좌입니다. 아래 로그에 슬롯 2와 슬롯 3이 이어받아 주문을 낸 기록이 보입니다 (계좌, 종목, 가격, 설정값은 모두 예시)

01사슬이 움직이는 규칙

단계내용
시작슬롯 1이 HTS 조건검색식에 편입된 종목을 삽니다. 종목코드를 직접 넣어 수동으로 시작할 수도 있습니다
이어받기슬롯 2부터 6까지는 조건식 없이 앞 슬롯의 보유 종목만 봅니다. 앞 슬롯 평균 단가 대비 정한 폭만큼 내리면 자기 계좌로 삽니다. 폭과 금액은 슬롯마다 따로 정합니다
매수 주문현재가 지정가. 일정 시간 체결되지 않으면 취소하고 다시 내되 횟수 상한이 있습니다
익절슬롯 1은 3단계 분할익절과 트레일링 스탑, 슬롯 2부터 6까지는 단순 익절
손절슬롯별 손절 기준. 정규장은 시장가, 애프터마켓은 최유리지정가
안전장치한 종목은 슬롯마다 한 번만 매수, 같은 계좌를 두 슬롯에 지정하면 시작 거부, 당일 재매수 금지가 기본값, 예수금이 모자라면 건너뜀
복원보유 종목과 익절 진행 단계를 SQLite에 저장. 다시 켜면 잔고와 맞춘 뒤에 매수를 재개합니다

여섯 계좌가 모두 같은 OCX 로그인을 씁니다. 체결 통보는 계좌번호로 나눠 해당 슬롯에 돌려주고, 시세는 종목 단위로 한 번만 받아 여섯 슬롯이 함께 씁니다. 다중 PC가 같은 종목 목록을 받아 가는 종목풀 동기화 사례와도 다릅니다. 그쪽은 목록만 공유하고 매매는 각자 하지만, 여기는 앞 계좌의 매수 결과가 다음 계좌의 매수 조건이 됩니다.

슬롯 3 탭. 왼쪽 연동 매수 설정에 감시할 슬롯이 슬롯 2로 지정돼 있고 트리거와 연동 매수 금액, 재매수 정책 칸이 보인다. 오른쪽 보유 포지션에는 슬롯 2에서 이어받은 종목 하나가 있다
슬롯 3 탭. 조건식은 비워 두고 감시할 슬롯만 슬롯 2로 지정합니다. 재매수 정책은 네 가지 중에서 고릅니다 (값은 예시)

02납품 뒤 두 달, 패치 27회

실계좌에서 의뢰인이 보내 준 로그로 원인을 찾은 것들입니다. 종목과 금액은 빼고 적습니다.

사고 로그를 받아도 어느 버전에서 난 일인지 알 수 없던 적이 있어서, 시작할 때 로그 첫 줄에 버전을 남기게 했습니다. 의뢰인이 어떤 종목이 왜 팔렸는지 직접 확인할 수 있도록 로그 보는 법 문서도 따로 드렸습니다. 체결 기록에서 시각을 찾고, 그 바로 앞 줄에서 익절인지 손절인지 트레일링인지 읽는 순서입니다.

03애프터마켓 대응과 점검 도구

8월에는 정규장 이후 시간대에도 이 프로그램을 돌릴 수 있는지가 과제였습니다. 코드를 고치기 전에 확인부터 했습니다. 주문 기능이 아예 들어 있지 않은 작은 점검 프로그램을 따로 만들어 보냈고, 의뢰인이 그 시간대에 실행해 결과 파일을 보내 주는 방식이었습니다. 1차로 넥스트레이드 시세가 실시간으로 들어오는지 봤고, 2차로 조건검색이 그 시간대에도 종목을 돌려주는지 봤습니다. 조건검색이 돌지 않으면 슬롯 1이 새 종목을 찾지 못해 사슬이 시작되지 않으므로, 이 결과에 따라 작업 범위가 달라지기 때문입니다.

9월 중순에 애프터마켓(16:00~20:00) 대응을 넣으면서 고친 것들입니다.

04이 구조의 위험

내리는 종목을 여러 계좌가 이어서 사는 물타기 구조입니다. 한 종목에 최대 여섯 계좌 몫의 금액이 들어갈 수 있고, 하락이 멈추지 않으면 손실이 계좌 수만큼 쌓입니다. 프로그램은 정한 규칙을 그대로 실행할 뿐이고 종목이 반등할지는 알지 못합니다. 그래서 슬롯마다 손절 기준을 두게 했고, 납품 때 작은 금액으로 며칠 먼저 돌려 보시도록 안내했습니다. 위에 적은 사고 가운데 몇 건은 실제 주문이 의도와 다르게 나간 경우였습니다. 여러 계좌가 엮인 프로그램은 납품 뒤 한동안 로그를 같이 보면서 고쳐 나가는 기간이 필요합니다.

05납품물과 기술

키움증권 OpenAPI+ (OCX) Python 3.10 32bit PyQt5 APScheduler SQLite3 PyInstaller 32bit

06관련 사례

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

계좌 여러 개를 엮어 매매하고 싶으시면

계좌가 몇 개인지, 어떤 순서로 사고 싶은지 상담에서 알려 주세요.
위험한 부분이 있으면 그것도 같이 말씀드립니다.

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