🌐 영웅문4 OpenAPI & VB.NET 자동매매 – 5단계: 데이터 연동 & 확장 자동화 시스템 완성

반응형

5단계: 데이터 연동 & 확장 자동화 시스템 완성

✅ STEP 5-1: 구글 시트에 거래 내역 저장하기

📌 ① Google API 키 준비 (Google Cloud 콘솔)

  1. https://console.cloud.google.com 접속
  2. "Sheets API" 활성화
  3. OAuth 또는 서비스 계정 발급 → credentials.json 다운로드

📌 ② VB.NET에서 Google Sheets 연동 (C# 변환 가능)

VB.NET 직접 연동이 어렵다면 Python이나 Google Apps Script로 백엔드 서버를 둬도 됩니다.

예시 구조 (Python 서버 → VB.NET WebRequest 전송):

vb.net

Dim req = WebRequest.Create("http://localhost:5000/save_trade")
req.Method = "POST"
Dim postData = "code=005930&price=65000&qty=10"
Dim bytes = Encoding.UTF8.GetBytes(postData)
req.ContentType = "application/x-www-form-urlencoded"
req.ContentLength = bytes.Length
Using stream = req.GetRequestStream()
    stream.Write(bytes, 0, bytes.Length)
End Using

✅ STEP 5-2: Slack / Email 실시간 체결 알림

📌 Slack Webhook 구성

  1. https://api.slack.com/apps에서 App 생성
  2. Incoming Webhook → URL 생성

📌 VB.NET에서 Slack 메시지 전송

vb.net

Sub SendSlack(msg As String)
    Dim json = "{""text"":""" & msg & """}"
    Dim client As New WebClient()
    client.Headers(HttpRequestHeader.ContentType) = "application/json"
    client.UploadString("https://hooks.slack.com/services/XXXX", "POST", json)
End Sub

✅ STEP 5-3: 조건 실시간 재등록 자동화

  • HTS/PC 재부팅 시 조건식이 해제됨
  • 자동 실행 시 조건 실시간 등록을 반복 설정해야 안정적
vb.net

Sub RestartConditions()
    For Each item In lstConditions.Items
        Dim parts = item.ToString().Split("["c)
        Dim name = parts(0).Trim()
        Dim index = CInt(parts(1).Replace("]", "").Trim())
        axKH.SendCondition("자동재등록", name, index, 1)
    Next
End Sub

✅ STEP 5-4: 거래 로그 자동 백업 (날짜별 CSV 파일)

vb.net

Dim today = DateTime.Now.ToString("yyyyMMdd")
Dim logFile = $"C:\StockLogs\trading_{today}.csv"
Using sw As New StreamWriter(logFile, True)
    sw.WriteLine($"{Now},{code},{price},{qty},{orderType}")
End Using

📁 파일 예시

trading_20250407.csv
trading_20250408.csv
반응형