실시간 전일 저가 돌파 매수 자동화 시스템 구축 및 실전 적용 후기 이 글은 실시간 저가 돌파 매수 자동화 시스템 구축 과정과 실전 테스트 결과를 다루고 있습니다. 조건 검색식 설정부터 백테스트 및 자동화 프로세스까지 구체적인 실행 방법과 개선점을 공유하고 있으며, 실제 거래 사례를 통해 효율성과 문제점을 분석합니다.
본 포스팅은 DDE 기반으로 미래에셋 카이로스 HTS와 엑셀 VBA를 활용하여 자동으로 공매도 + 전일저가 돌파 매수 신호 시스템을 구축하고, 이를 실전에서 테스트한 과정을 정리한 가이드입니다.
프로젝트 개요
- 카이로스 HTS 실시간 시세를 DDE로 엑셀로 연동
- 1분 전 현재가, 전일저가, 당일 저가를 활용한 자동 매수 신호 시스템 구축
- 목표 수익률 3% 도달 시 자동 매도 및 보유기간 기록 시스템 완성
구축 과정 요약
1단계: 카이로스 HTS + DDE 연동
실시간 전일 저가 돌파 매수 자동화 시스템 구축을 위하여 카이로스 HTS에서 DDE 명령어를 활용하여 실시간 종목별 현재가, 전일저가, 당일 저가를 엑셀로 연동합니다.
2단계: VBA로 자동 매수 신호 로직 구현
VBA를 활용하여 다음 조건에 맞는 자동 매수 신호 로직을 설계했습니다.
- 조건 1: 당일 저가 < 전일저가
- 조건 2: 1분 전 현재가 < 전일저가 & 현재가 ≥ 전일저가 돌파 시
- 신호 발생 시 매수, 수량, 매수가격, 매수시간 자동 기록
3단계: 수익률 계산 및 자동 매도 신호
- 실시간 수익률(%) 계산
- 수익률이 3% 이상이면 자동으로 매도 기록 및 보유기간 기록
- 수익률이 +일 경우 자동으로 빨간색 텍스트로 표시
최종 완성된 자동화 시스템
아래는 최종 구축된 시스템의 주요 기능입니다.
- 1분 주기로 자동으로 현재가 및 전일저가 비교 후 매수 신호 발생
- 매수 발생 시 자동으로 매수 시간(P열) 기록
- 목표 수익률 3% 도달 시 자동 매도, 매도 시간 기록 및 보유기간 계산
' 전역 변수
Public 감시중 As Boolean
Public 다음실행 As Date
' 09:01부터 자동 감시 시작
Sub 감시_시작()
감시중 = True
Dim 시작시간 As Date
시작시간 = Date + TimeValue("09:01:00")
' 현재 시간이 이미 09:01 이후라면 즉시 실행
If Now >= 시작시간 Then
Call 매수신호_자동감시
Else
Application.OnTime 시작시간, "매수신호_자동감시"
MsgBox "09:01에 자동감시가 시작됩니다."
End If
End Sub
' 매수신호 자동 감시 (1분 주기)
Sub 매수신호_자동감시()
Dim i As Integer
Dim 전일저가 As Double, 현재가 As Double, 전_1분_현재가 As Double, 당일저가 As Double
Dim 수익률 As Double
' 컬럼 헤더 삽입 (한번만 삽입되도록 해도 됨)
Range("J1").Value = "신호"
Range("K1").Value = "수량"
Range("L1").Value = "매수가격"
Range("M1").Value = "수익률"
Range("O1").Value = "전_1분_현재가"
Range("P1").Value = "매수시간"
Range("Q1").Value = "매도시간"
Range("R1").Value = "보유기간(분)"
For i = 2 To 101
전일저가 = Cells(i, 4).Value
현재가 = Cells(i, 5).Value
당일저가 = Cells(i, 9).Value
전_1분_현재가 = Cells(i, 15).Value
If 당일저가 < 전일저가 Then
If 전_1분_현재가 < 전일저가 And 현재가 >= 전일저가 Then
If Cells(i, 10).Value <> "매수" Then
Cells(i, 10).Value = "매수"
Cells(i, 11).Value = 1
Cells(i, 12).Value = 현재가
Cells(i, 16).Value = Now
End If
End If
End If
If Cells(i, 10).Value = "매수" And Cells(i, 12).Value > 0 Then
수익률 = ((현재가 - Cells(i, 12).Value) / Cells(i, 12).Value) * 100
Cells(i, 13).Value = Format(수익률, "0.00") & "%"
If 수익률 >= 0 Then
Cells(i, 13).Font.Color = vbRed
Else
Cells(i, 13).Font.Color = vbBlack
End If
If 수익률 >= 3 And Cells(i, 17).Value = "" Then
Cells(i, 17).Value = Now
Cells(i, 18).Value = DateDiff("n", Cells(i, 16).Value, Cells(i, 17).Value)
Cells(i, 10).Value = "매도완료"
End If
End If
Cells(i, 15).Value = 현재가
Next i
' 1분 후 재호출 (중복 등록 방지)
If 감시중 Then
다음실행 = Now + TimeValue("00:01:00")
Application.OnTime 다음실행, "매수신호_자동감시"
End If
End Sub
' 감시 중단
Sub 감시_중단()
On Error Resume Next
감시중 = False
Application.OnTime 다음실행, "매수신호_자동감시", , False
MsgBox "자동감시 중단됨"
End Sub
실전 테스트 후기
이번주 실전 테스트를 통해 해당 시스템이 정상적으로 동작하는 것을 확인하였으며, 실제 매수와 매도 신호가 정확하게 기록되었습니다. 향후 테스트 결과를 바탕으로 추가적인 로직 고도화 및 실전 전략 최적화를 계획하고 있습니다.
활용 팁
- 카이로스 HTS와 DDE를 활용한 자동화는 코딩이 어려운 사용자도 쉽게 접근 가능
- 실시간 자동화와 엑셀 로그 기록까지 구축 가능하여 업무 효율성 대폭 향상
- 추가로 목표가, 손절가 등 복합적인 전략도 VBA로 확장 가능
맺음말
실시간 전일 저가 돌파 매수 자동화 시스템 구축 및 실전 적용 후기 이 시스템은 저가 매수 타이밍을 자동으로 포착하여 실시간 대응하는 시스템으로, 수동 매매의 번거로움을 줄이고 규칙적인 매매 습관을 만들어줍니다. 앞으로도 다양한 조건을 추가하여 자동화 시스템을 고도화할 예정입니다.
본 포스팅은 ChatGPT AI 검색 데이터를 바탕으로 작성되었습니다.