반응형
✅ 조건검색식이란?
- 영웅문 HTS에서 조건 검색식을 만들어 두면,
- OpenAPI를 통해 자동으로 종목을 검색, 감지, 추적할 수 있습니다.
🧠 예시:
- 20일선 상향 돌파
- 5일간 외국인 순매수
- 전고점 돌파 & 거래량 급증
🛠️ STEP 1. 조건검색식 만들기 (HTS에서)
📌 HTS 조건검색식 생성 방법
- 영웅문4 실행
- 단축키 조건검색식: 0150 입력
- 조건식 생성 후 저장
📷 조건검색식 설정 화면 예시
📡 STEP 2. 조건식 리스트 가져오기
🔹 조건식 전체 불러오기
C#
axKHOpenAPI1.GetConditionLoad();
🔹 조건식 리스트 수신 이벤트
C#
private void axKHOpenAPI1_OnReceiveConditionVer(object sender, _DKHOpenAPIEvents_OnReceiveConditionVerEvent e)
{
string conditionList = axKHOpenAPI1.GetConditionNameList(); // 형식: "0^상승장추천;1^하락장주의;"
string[] conditions = conditionList.Split(';');
foreach (string condition in conditions)
{
if (string.IsNullOrEmpty(condition)) continue;
string[] split = condition.Split('^');
listBox1.Items.Add($"[{split[0]}] {split[1]}");
}
}
🔍 STEP 3. 조건식 실행 → 종목 리스트 받아오기
🔹 특정 조건식 실행
C#
axKHOpenAPI1.SendCondition("화면번호", "상승장추천", 0, 0);
// 화면번호, 조건이름, 조건번호, 실시간 여부 (0: 비실시간, 1: 실시간 등록)
🔹 결과 수신 이벤트
C#
private void axKHOpenAPI1_OnReceiveTrCondition(object sender, _DKHOpenAPIEvents_OnReceiveTrConditionEvent e)
{
string[] codes = e.strCodeList.Split(';');
foreach (string code in codes)
{
if (!string.IsNullOrEmpty(code))
{
listBox1.Items.Add($"[조건 검색] 종목코드: {code}");
}
}
}
📷 조건식 실행 후 종목 출력 예시
[조건 검색] 종목코드: 005930
[조건 검색] 종목코드: 000660
[조건 검색] 종목코드: 035420
🔔 STEP 4. 실시간 조건식 감지 등록
C#
axKHOpenAPI1.SendCondition("2000", "외인순매수", 1, 1);
- 실시간 조건 감지를 활성화하면,
- 종목이 조건에 새롭게 진입하거나 이탈할 때 이벤트가 발생합니다.
🔹 진입/이탈 이벤트 처리
C#
private void axKHOpenAPI1_OnReceiveRealCondition(object sender, _DKHOpenAPIEvents_OnReceiveRealConditionEvent e)
{
if (e.strType == "I")
listBox1.Items.Add($"[조건 진입] {e.sTrCode} / 조건명: {e.strConditionName}");
else if (e.strType == "D")
listBox1.Items.Add($"[조건 이탈] {e.sTrCode} / 조건명: {e.strConditionName}");
}
📷 실시간 진입/이탈 예시
[조건 진입] 035720 / 조건명: 거래량급증
[조건 이탈] 005930 / 조건명: 외인순매수
🔁 고급 기능: 조건식 + 실시간 매수 연동 구조
C#
if (e.strConditionName.Contains("외인순매수"))
{
SendBuyOrder(e.sTrCode); // 자동 매수 함수 호출
}
✅ 전체 흐름 요약
📷 조건검색 연동 흐름도
조건검색식 불러오기 → 선택 → 종목 리스트 수신 → 실시간 감지 설정 → 조건 진입 시 매수 처리
반응형