한국투자증권 Open API 기반 WPF 자동매매 프로그램입니다.
# 프로젝트 폴더로 이동
cd KisAutoTraderWpf
# NuGet 패키지 복원
dotnet restore
# 빌드
dotnet build
{
"KisApi": {
"Environment": "vps", // vps: 모의투자, prod: 실전투자
"ProdAppKey": "실전투자 AppKey",
"ProdAppSecret": "실전투자 AppSecret",
"VpsAppKey": "모의투자 AppKey",
"VpsAppSecret": "모의투자 AppSecret",
"AccountNo": "12345678", // 계좌번호 앞 8자리
"AccountProdCode": "01", // 계좌번호 뒤 2자리
"HtsId": "YOUR_HTS_ID" // HTS 아이디
}
}
dotnet run
또는 Visual Studio에서 F5로 실행
| 항목 | 기본값 | 설명 | |——|——–|——| | InitialCapital | 10,000,000 | 초기 자본금 | | MaxPositionRatio | 10% | 1회 매매 최대 비율 | | MaxPositionAmount | 1,000,000 | 1회 최대 매매금액 | | MaxHoldingCount | 5 | 최대 보유 종목 수 | | DailyLossLimitPercent | 3% | 일일 최대 손실률 | | DailyLossLimitAmount | 300,000 | 일일 최대 손실금액 | | TakeProfitPercent | 3% | 익절률 | | StopLossPercent | 2% | 손절률 | | RebuyBlockMinutes | 30 | 재매수 금지 시간 (분) |
| 항목 | 기본값 | 설명 | |——|——–|——| | VolumeMultiplier | 3.0 | 거래량 급등 배율 | | MinTradingValue | 10 | 최소 거래대금 (억원) | | MinPrice | 1,000 | 최소 가격 | | MaxPrice | 100,000 | 최대 가격 | | ShortMaPeriod | 5 | 단기 이평선 기간 | | LongMaPeriod | 20 | 장기 이평선 기간 | | ScanIntervalSeconds | 10 | 스캔 주기 (초) |
KisAutoTraderWpf/
├── KisAutoTraderWpf.sln # 솔루션 파일
├── README.md # 이 문서
└── KisAutoTraderWpf/
├── App.xaml # 애플리케이션 리소스
├── App.xaml.cs
├── MainWindow.xaml # 메인 윈도우 UI
├── MainWindow.xaml.cs
├── appsettings.json # 설정 파일
├── nlog.config # 로그 설정
│
├── Models/
│ ├── AppSettings.cs # 설정 모델
│ ├── MarketSnapshot.cs # 시세 데이터 모델
│ └── OrderRecord.cs # 주문 기록 모델
│
├── Services/
│ ├── ApiClient.cs # REST API 클라이언트
│ ├── WsClient.cs # WebSocket 클라이언트
│ ├── ScannerService.cs # 종목 스캐너
│ ├── ExecutorService.cs # 주문 실행
│ ├── RiskManager.cs # 리스크 관리
│ └── DbService.cs # SQLite DB
│
├── ViewModels/
│ └── MainViewModel.cs # 메인 뷰모델
│
└── Converters/
└── Converters.cs # 값 변환기
./logs/{날짜}.logtrades/{날짜}_trades.log이 프로젝트는 개인 학습 및 연구 목적으로 제공됩니다. 상업적 사용 시 한국투자증권의 API 이용약관을 확인하세요.
⚠️ 투자에 대한 모든 책임은 투자자 본인에게 있습니다.