단순매매
단순매매(simple_order)는 Google Sheets에 작성된 주문을 그대로 HTS에서 실행하는 가장 기본적인 전략입니다.
- 일회성 실행: 대기 상태인 주문을 모두 처리하면 종료
- 단순 매핑: 시트의 데이터를 그대로 주문으로 변환
- 상태 추적: 주문 실행 결과를 시트에 자동 업데이트
사용 사례
섹션 제목: “사용 사례”- 긴급 매도 주문
- 수동으로 계획한 주문 일괄 실행
- 테스트 및 검증 목적
워크시트 구조
섹션 제목: “워크시트 구조”1행: 메타데이터
섹션 제목: “1행: 메타데이터”| 셀 | 필드명 | 필수 | 설명 |
|---|---|---|---|
| A1 | 전략ID | O | simple_order (고정값) |
| B1 | 전략표시명 | O | 사용자가 지정한 이름 (GUI에 표시) |
| C1 | 최종실행시간 | - | 시스템이 자동 기록 |
| D1 | 설명 | - | 메모 (선택) |
2행: 헤더 (고정)
섹션 제목: “2행: 헤더 (고정)”번호 | 종목코드 | 종목명 | 매수/매도 | 수량 | 가격 | 주문유형 | 상태 | 실행시간 | 메시지3행 이후: 주문 데이터
섹션 제목: “3행 이후: 주문 데이터”| 컬럼 | 필드명 | 타입 | 필수 | 설명 |
|---|---|---|---|---|
| A | 번호 | int | O | 주문 순번 (1, 2, 3…) |
| B | 종목코드 | str | O | 티커 심볼 (예: AAPL, TSLA) |
| C | 종목명 | str | - | 참고용 (프로그램 미사용) |
| D | 매수/매도 | str | O | ”매수” 또는 “매도” |
| E | 수량 | int | O | 주문 수량 (양의 정수) |
| F | 가격 | float | △ | 지정가일 때 필수, 시장가면 빈칸 |
| G | 주문유형 | str | O | ”시장가” 또는 “지정가” |
| H | 상태 | str | O | ”대기”, “진행중”, “완료”, “실패” |
| I | 실행시간 | str | - | 시스템 자동 기록 (HH:MM:SS) |
| J | 메시지 | str | - | 실행 결과 메시지 |
예시 데이터
섹션 제목: “예시 데이터”| 번호 | 종목코드 | 종목명 | 매수/매도 | 수량 | 가격 | 주문유형 | 상태 | 실행시간 | 메시지 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | AAPL | 애플 | 매도 | 5 | 시장가 | 대기 | |||
| 2 | TSLA | 테슬라 | 매수 | 3 | 245.00 | 지정가 | 대기 | ||
| 3 | NVDA | 엔비디아 | 매수 | 2 | 시장가 | 완료 | 10:30:15 | 정상 체결 | |
| 4 | GOOGL | 구글 | 매수 | 1 | 150.00 | 지정가 | 실패 | 10:31:22 | 잔고 부족 |
상태 값 정의
섹션 제목: “상태 값 정의”| 상태 | 설명 |
|---|---|
| 대기 | 실행 대기 중 (프로그램이 처리할 대상) |
| 진행중 | 현재 처리 중 |
| 완료 | 정상적으로 체결됨 |
| 실패 | 주문 실행 실패 |
실행 흐름
섹션 제목: “실행 흐름”1. 시트에서 A3:J100 범위 읽기2. '대기' 상태인 행만 필터링3. 각 행을 주문 요청으로 변환4. 번호(A열) 순서대로 주문 실행5. 실행 결과를 시트에 업데이트: - H열: 상태 → "완료" 또는 "실패" - I열: 실행시간 → "HH:MM:SS" - J열: 메시지 → 결과 메시지6. 모든 대기 주문 처리 완료 후 종료7. C1에 최종실행시간 기록에러 처리
섹션 제목: “에러 처리”| 에러 상황 | 처리 방식 |
|---|---|
| 빈 행 | 스킵 |
| 필수 필드 누락 | 해당 행 스킵 + 로그 기록 |
| 잘못된 데이터 형식 | 해당 행 스킵 + 로그 기록 |
| 시트 연결 실패 | 전략 실행 중단 + 에러 표시 |
| 주문 실행 실패 | 상태를 “실패”로 업데이트 + 다음 주문 계속 |