🖥️ 영웅문4 OpenAPI + C# 완전 정복 - 6단계: GUI + 전략 설정 + 수익률 자동 시각화 / 알림 연동

반응형

OpenAPI + C# 완전 정복 - 6단계: GUI + 전략 설정 + 수익률 자동 시각화 / 알림 연동

✅ 왜 GUI + 전략 설정 + 알림 연동이 중요한가요?

  • CLI 기반 자동매매는 불편하고 직관성이 떨어집니다.
  • 전략을 빠르게 바꾸고 결과를 눈으로 보고, 알림을 받을 수 있다면
    실전에서 훨씬 유용합니다.

🧩 STEP 1. GUI 기본 레이아웃 구성 (Windows Forms)

🔸 포함 요소

GUI 기본 레이아웃 구성 (Windows Forms)

구성 설명
ComboBox 전략 선택 (ex. MA, RSI 등)
DatePicker 시작일 설정
Button 전략 실행
ZedGraphControl 수익률 차트 시각화
ListBox 실시간 알림 로그

📷 GUI 레이아웃 예시

[전략 선택] (MA, RSI 등)   [시작일] (2024-01-01)   [실행 버튼]

──────────────────────────────
[📊 수익률 그래프 영역 - ZedGraph]

──────────────────────────────
[📋 로그 / 결과 알림 ListBox]

🧠 STEP 2. 전략 설정 UI 코드 예제

C#

string selectedStrategy = comboBoxStrategy.SelectedItem.ToString();
DateTime startDate = dateTimePickerStart.Value;
  • 선택된 전략에 따라 다른 계산 방식 실행
  • 입력된 날짜부터 데이터 불러와 백테스트

📈 STEP 3. 수익률 자동 시각화 (ZedGraph 연동)

C#

GraphPane pane = zedGraphControl1.GraphPane;
pane.Title.Text = "전략 수익률 추이";
pane.XAxis.Title.Text = "일자";
pane.YAxis.Title.Text = "자산";

PointPairList points = new PointPairList();
for (int i = 0; i < equityCurve.Count; i++)
{
    points.Add(i, equityCurve[i]);
}

LineItem curve = pane.AddCurve("누적 수익률", points, Color.Green, SymbolType.Circle);
zedGraphControl1.AxisChange();
zedGraphControl1.Invalidate();

📷 수익률 차트 자동 출력


📬 STEP 4. 알림 연동 (Discord Webhook 예시)

🔹 Discord Webhook 설정

  1. 디스코드 서버 > 설정 > Webhooks → 새 Webhook 생성
  2. Webhook URL 복사

🔹 C# 코드로 메시지 전송

C#

private void SendDiscordAlert(string message)
{
    using (WebClient wc = new WebClient())
    {
        var data = new System.Collections.Specialized.NameValueCollection();
        data["content"] = message;

        wc.UploadValues("https://discord.com/api/webhooks/XXX", "POST", data);
    }
}

📤 자동 알림 실행 예시

C#

SendDiscordAlert($"✅ 전략 실행 완료!\n전략: {selectedStrategy}\n최종 수익률: {returnRate:F2}%");

🔁 STEP 5. 전략 실행 전체 흐름 요약

[전략 선택 + 날짜 설정]
      ↓
[실행 버튼 클릭]
      ↓
[백테스트 수행 → 수익률 계산]
      ↓
[수익률 차트 시각화 + 알림 전송]

📷 전략 실행 → 수익률 표시 → 알림 전송 전체 다이어그램

전략 실행 → 수익률 표시 → 알림 전송 전체 다이어그램


✅ 고급 기능 확장 아이디어

기능 설명
🟢 실시간 조건검색 UI 연동 실시간 조건 종목을 화면에서 직접 실행 가능
📈 로그 자동 저장 전략별 실행 로그를 CSV로 저장
🕒 실행 시간 기록 전략 실행 시간, 수익률, 종목 등 히스토리 저장
🔔 Telegram 연동 Discord 대신 텔레그램도 쉽게 연동 가능
반응형