자동매매 프로그램 사용방법

사야 할 종목키움 HTS 조건검색식으로 고르고,

사고 팔 타이밍자동매매 프로그램으로 결정한다.


이 프로그램은 키움HTS에서 검색된 종목을

VWAP 가격(참여자들이 가장 많이 산 가격)을 확인하고,

매도와 매수 우위를 비교하며

뉴스에서 언급되는 종목을 체크하여서 매매를 할 수 있게 도와주는 프로그램입니다.


스크린샷 2026-01-02 211749.png

우선 사용전 준비사항입니다.

1.공인인증서로 로그인 준비를 하셔야 합니다.

당장 실전투자가 아니더라도

다양한 신청을 할 때 필수여서 공인인증서 로그인을 준비하셔야 합니다.


2. 키움증권의 모의투자 신청을 하셔야 해요.

테스트 접근을 위해서는 모의투자 신청이 되어 있어야 합니다.

https://www.kiwoom.com/h/mock/ordinary/VMockTotalMHOMEView

상시모의투자 참가신청을 하셔야 합니다.


3. 키움증권 open API 모듈을 설치해 주세요.

https://www.kiwoom.com/h/customer/download/VOpenApiInfoView

페이지의 2단계 open API+ 모듈만 설치하시면 됩니다.

우리 프로그램이 키움증권의 내용을 사용하기 위한 접근방식입니다.


4.텔레그램 봇을 만들어서 토큰과 체팅방 ID가 2개가 필요합니다.

하나는 매매를 외부에서 관리하는 봇이고,

다른 하나는 뉴스를 관리하는 봇입니다.

해당 부분을 필수로 해 놔서, 입력을 안하시면 로그인이 안 될거에요.


5.네이버 API를 3개 이상 만드셔야 합니다.

크롤링의 사용제한이 있어서 API가 다다익선입니다.

저는 6개를 사용하고 있어요.

https://blog.naver.com/occidere/220988092267




1. 시스템(기본 준비)

이 탭은 프로그램이 작동하기 위해 가장 먼저 준비해야 합니다.

봇 설정 및 연결
텔레그램 봇: 2개의 봇(매매 알림용, 뉴스 알림용) 설정이 필요합니다. 각 봇의 토큰(Token)과 채팅방 ID(Chat ID)를 입력합니다.
네이버 API: 뉴스 데이터를 수신하기 위해 네이버 개발자 센터에서 발급받은 API 키(Client ID:Secret)를 5개 이상 입력합니다.
텔레그램 알림 선택: 매수, 매도 체결 시 알림을 받을지, 필터링에서 패스된 로그도 받을지 선택합니다.

키움 접속 및 제어
로그인: 버튼을 누르면 키움증권 로그인 창이 뜹니다. (자동) 체크 시 프로그램 실행 5초 후 자동으로 로그인을 시도합니다.
재시작 & API 재접속: 재시작은 프로그램을 강제로 다시 켜는 기능이며, API재접속을 체크해두면 서버 연결이 끊겼을 때 자동으로 복구를 시도합니다.
계좌 선택: 자동매매를 진행할 실계좌(또는 모의투자 계좌)를 선택합니다.
자동매매 시작: 이 체크박스를 켜야만 실제로 주문이 전송됩니다 (메인 스위치 역할).

스크린샷 2026-01-02 233700.png
스크린샷 2026-01-02 233710.png
스크린샷 2026-01-02 233721.png
open API 의 자동접속을 위해서 Auto체크 및 비밀번호 입력을 합니다. (모의투자의 비밀번호는 0000 입니다.)

검색식 등록
HTS(영웅문)에서 미리 만들어둔 조건검색식을 불러와서 등록하거나 삭제하는 관리 패널입니다.


2. 매수 전략 탭 (자금 및 진입 관리)

스크린샷 2026-01-02 211800.png


이 탭은 '얼마나 살 것인가'와 '언제 살 것인가'를 결정합니다.

기본 제어
매수정지: 자동매매 중 매수만 즉시 중단합니다. (이미 보유한 종목의 매도는 정상 작동).
자금 관리: 한 종목당 매수 금액을 결정합니다. 예수금 대비 비율(%)과 최대 한도(만원) 중 더 작은 값으로 진입합니다.


안전 장치 (수량/쿨타임)
계좌당 보유 종목수: 한 계좌에 백화점처럼 너무 많은 종목이 담기지 않도록 최대 개수를 제한합니다.
당일 재진입 금지: 오늘 수익을 냈거나 손절한 종목은 당일에 다시 매수하지 않도록 막습니다.
매수 후 쿨타임: 매도 후 특정 시간(예: 30분) 동안은 같은 종목을 매수하지 않아 중복 진입을 방지합니다.


진입신호 필터 (Entry Signal Filter) 설정 및 의미

사용자가 요청한 추가 설명 부분입니다. 이 필터는 검색식에 종목이 포착되더라도, 아래 조건들을 만족하지 않으면 매수를 포기(Pass)하게 만드는 안전장치입니다. (AND 조건으로 작동)

① 차트 필터 (가격과 거래량 패턴)

주가의 현재 위치와 거래량 강도를 분석합니다.

추세 (Trend): 주가가 3~7% 상승 중이고, 거래량이 평소 대비 100% 이상 터진 상태. 가장 안전하고 정석적인 구간입니다.

매집 (Prep): 주가가 **0~3% (보합권)**이며 거래량이 급증(80% 이상)한 상태. 세력이 물량을 모으는 단계로 보고 선취매할 때 사용합니다.

급등 (Spike): 주가가 7% 이상 급등하고 거래량이 폭발(200% 이상)한 상태. 변동성이 크므로 공격적인 단타 시에만 체크합니다.

② 수급 필터 (메이저 주체)

외국인과 기관의 실시간(잠정) 매매 동향을 봅니다.

쌍끌 (Strong): 외국인과 기관이 모두 매수 중인 가장 강력한 상승 신호입니다.

주도 (Main): 외국인과 기관의 합계가 매수 우위인 상태입니다. (한쪽이 팔더라도 총량이 매수면 진입)

이탈 (Exit): 메이저 세력이 매도 중인 상태입니다. 보통 체크를 해제하여 수급 이탈 종목을 피하는 용도로 씁니다.

③ 호가 필터 (매도우위)

호가창(Order Book)의 건전성을 판단합니다.

체크 박스: 체크 시, 총 매도 잔량이 총 매수 잔량보다 많을 때만 진입합니다. (주가가 오르려면 매도벽이 있어야 매수세가 체결시키며 올라갑니다.)

비율 설정: 기본값 1.5배. (매도잔량이 매수잔량의 1.5배 이상일 때만 매수). 수치가 높을수록 확실한 상승 패턴만 잡습니다.

⑤ 재료 필터 (속보 매매)

뉴스를 통한 매매 시 적용되는 기준입니다.

매매 점수: 뉴스 분석 알고리즘(키워드 등급 + 타이밍 점수)을 통해 산출된 점수가 설정값(기본 20점) 이상일 때만 매수합니다.
점수 예시: S급 키워드(30점) + 1보 뉴스(1점) = 31점 → 매수 진입


⑤ 재료 필터 (속보 매매)란?

네이버 뉴스 API를 통해 실시간으로 쏟아지는 뉴스 기사를 1초 단위로 수집하고, 그 중에서 강력한 호재성 키워드가 포함된 뉴스가 뜨면 즉시 해당 종목을 찾아 자동으로 매수하는 기능입니다.


속보매매를 위한 설정 (다음장에서 상세 설명)

이 기능이 정상 작동하기 위해서는 1번 탭(시스템/접속)에서 설정이 필요합니다.

① 1번 탭: 네이버 API 키 등록 (필수)

속보매매의 핵심은 '속도'입니다. 네이버 API는 무료 계정당 하루 호출 횟수 제한과 초당 호출 속도 제한이 있습니다.

설정 방법: Client ID와 Client Secret을 5개 이상(권장) 등록해야 합니다.

이유: 코드는 이 키들을 0.1초~0.2초마다 번갈아가며 사용(Rotation)합니다. 키가 많을수록 더 자주, 더 빠르게 뉴스를 긁어올 수 있어 남들보다 빨리 뉴스를 포착할 수 있습니다.

② 2번 탭: 재료 필터 설정

뉴스 매매 (체크박스): 이 박스를 체크해야 속보매매 기능이 켜집니다.

매매 점수 (기본값 20): 뉴스에 포함된 키워드의 등급에 따라 점수가 매겨지는데, 총점이 이 설정값 이상일 때만 매수합니다.
설정 팁: 너무 낮으면(10점 등) 별것 아닌 뉴스에도 매수하여 손실을 볼 수 있고, 너무 높으면(40점 등) 정말 확실한 뉴스만 잡지만 기회를 놓칠 수 있습니다.


속보매매 작동 메커니즘 (코드 내부 로직)

코드는 다음과 같은 순서(Flow)로 24시간 내내 작동합니다.

STEP 1: 뉴스 수집 (크롤링 & API)

봇은 등록된 네이버 API 키들을 순환하며 '주식', '특징주', '공시' 등의 키워드로 최신 뉴스를 계속 검색합니다.

중복된 뉴스나 이미 처리한 뉴스는 내부 데이터베이스(메모리)에서 걸러냅니다.

STEP 2: 키워드 점수 산정 (Scoring) 프로그램에서 수정 가능

수집된 뉴스의 제목(Title)을 분석하여 점수를 매깁니다. 코드는 키워드를 등급별로 분류하여 관리합니다.

S급 키워드 (+30점): 주가에 즉각적인 급등을 주는 단어들
예시: 무상증자, 공급계약, MOU, 인수합병, 임상 성공, 세계 최초 등

A급 키워드 (+10~15점): 호재이긴 하나 강도가 조금 약한 단어들
예시: 특허, 개발, 실적 호조, 수주 등

감점 키워드 (-100점): 악재나 광고성 뉴스
예시: 유상증자(주주배정), 횡령, 배임, 관리종목 지정, (광고) 등

[계산 예시] 뉴스 제목: "OOO전자, 미국 대기업과 대규모 공급계약 체결"

공급계약(S급, 30점) + 대기업(A급, 10점) = 총점 40점

사용자가 설정한 '매매 점수(20점)'보다 높으므로 매수 대상으로 선정.

STEP 3: 종목 매칭 (Targeting)

뉴스가 좋다고 판단되면, 그 뉴스가 어떤 종목에 관한 것인지 찾아냅니다.

뉴스 제목이나 본문 앞부분에서 상장된 종목명(Alias 포함)이 있는지 검색합니다.

주의: 종목명이 뉴스에 명확히 없으면 호재여도 매수하지 못합니다.

STEP 4: 매수 주문 실행 (Execution)

점수가 통과되고 종목이 확인되면, 봇은 시장가(혹은 지정가)로 즉시 매수 주문을 넣습니다.

이때 2번 탭의 '자금관리' 설정(예수금의 n%)에 따라 매수 물량을 계산하여 진입합니다.

요약

네이버 API 키를 여러 개 넣어 봇이 광속으로 뉴스를 감시하게 합니다.

봇은 뉴스 제목에서 '계약', '인수', '개발' 같은 단어를 찾아 점수를 매깁니다.

그 점수가 사용자가 설정한 기준(예: 20점)을 넘으면 해당 종목을 찾아 바로 매수합니다.