실시간 전일 저가 돌파 매수 자동화 시스템 구축 및 실전 적용 후기

실시간 전일 저가 돌파 매수 자동화 시스템 구축 및 실전 적용 후기 이 글은 실시간 저가 돌파 매수 자동화 시스템 구축 과정과 실전 테스트 결과를 다루고 있습니다. 조건 검색식 설정부터 백테스트 및 자동화 프로세스까지 구체적인 실행 방법과 개선점을 공유하고 있으며, 실제 거래 사례를 통해 효율성과 문제점을 분석합니다.

본 포스팅은 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 검색 데이터를 바탕으로 작성되었습니다.

Leave a Comment