한 종목을 15분봉 지표로 단타 매매하는데, 장이 끝난 뒤 NXT 애프터마켓 시간외에도 팔 수 있게 해 달라는 요청이었습니다.
키움 신 REST API(64bit)로 만들었습니다. 예전 방식인 OCX와 달리 따로 설치할 것이 없고, 여러 계정을 동시에 돌릴 수 있고, 시간외 매도가 됩니다.
플랫폼
키움 신 REST API (64bit)
특징
PSAR, MACD 진입 NXT 애프터마켓 시간외 매도
유형
국내주식 단타
제작 기간
약 2주
납품한 프로그램의 대시보드. 신호 이력에 MACD 히스토그램과 PSAR 값이 남고, 로그 끝에 19:38 NXT 애프터마켓 강제 청산 주문이 찍혀 있습니다 (수량과 가격은 예시)
01배경과 고객 요구사항
고객은 한 종목을 15분봉으로 단타 매매하고 있었습니다. MACD 히스토그램과 파라볼릭 SAR 같은 지표를 어떻게 조합해 들어가고 나올지는 이미 정해져 있었습니다.
다만 봉이 닫힐 때마다 직접 화면을 보고 주문을 넣어야 했습니다.
원하신 것은 15분봉이 마감될 때마다 지표를 판정해 진입하고, 여러 매도 규칙을 우선순위대로 적용해 나눠서 청산하고,
정규장이 끝난 뒤에도 NXT 애프터마켓 시간외로 저녁 19:40까지 매도하는 것이었습니다.
가장 어려운 것은 장 마감 후 매도였습니다. KRX 정규장은 15:30에, 시간외단일가는 18:00에 끝나서 KRX만으로는 저녁 시간대에 팔 방법이 없습니다.
단타이다 보니 신호가 뜬 봉이 마감되면 곧바로 주문이 나가야 한다는 조건도 있었습니다.
02구현 방식
국내 주식 자동매매는 보통 키움 OCX(32bit)로 만들지만, 이번에는 키움 신 REST API를 썼습니다.
설치가 필요 없고 NXT 시간외 매도가 되기 때문입니다.
15분봉이 완전히 닫힌 뒤의 값으로만 지표를 계산합니다. 아직 진행 중인 봉을 보고 잘못 들어가는 일을 막으려는 것입니다.
MACD 히스토그램이 늘고 있는지와 PSAR 상향돌파를 함께 확인해 매수합니다. 매도 규칙은 우선순위 순서로 따집니다.
정규장에는 KRX 시장가로, 마감 후에는 NXT 애프터마켓 지정가로 주문이 자동으로 바뀌어 나갑니다.
지표 계산은 외부 라이브러리를 쓰지 않고 직접 짰습니다. 실행 파일이 가벼워지고, 계산 결과를 고객이 정한 규칙과 하나씩 맞춰 볼 수 있습니다.
종목, 지표 파라미터, 손절, 매매 시간은 화면에서 직접 바꾸고 저장합니다.
03해결한 기술 난제
NXT 애프터마켓 시간외 매도
고객이 원한 19:40 매도는 KRX만으로는 할 수 없었습니다.
그래서 시간대에 따라 주문이 나가는 곳을 바꿨습니다. 정규장에는 KRX 시장가로, 15:30~20:00에는 NXT 애프터마켓에 현재가 지정가로 보냅니다.
NXT에서 주문이 거부되면 KRX 쪽으로 다시 시도합니다.
실제 계좌에서 1주를 사고팔아 NXT 매도가 실거래에서 되는 것까지 확인했습니다.
KRX와 NXT 중 한쪽이 막혀 다른 쪽으로 넘어가면 텔레그램으로 상황을 알립니다.
체결되지 않은 주문을 다시 낼 때는 취소를 요청한 것만으로는 재주문하지 않습니다. 취소가 확인됐다는 통보가 온 뒤에만 다시 주문합니다. 중복 매수나 보유 수량보다 많이 파는 사고를 막기 위해서입니다.
실시간 체결 통보는 가끔 빠질 때가 있습니다. 일정 시간 응답이 없으면 주문을 정리하고, 주기적으로 잔고를 조회해 보유 수량을 바로잡습니다.
주문할 수 없는 시간에 뜬 매도 신호는 저장해 뒀다가 장이 열리면 우선순위대로 다시 시도합니다. 프로그램을 껐다 켜도 이 예약은 남아 있습니다.
※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률과 수익금은 공개하지 않습니다.
알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.
과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. 주식 투자는 원금 손실 위험이 있습니다.
지표로 단타 하시는 분이라면
어떤 지표를 보고 언제 사고파는지 적어서 상담에 남겨 주세요.
규칙이 덜 정해졌으면 같이 정리해 드립니다.