콘텐츠로 이동

설정 파일

파일위치설명Git
settings.jsonconfig/애플리케이션 전체 설정gitignore
strategies.jsonconfig/전략별 실행 설정gitignore
credentials.jsonconfig/Google Service Account 인증gitignore
settings.example.jsonconfig/설정 파일 템플릿커밋

모든 애플리케이션 설정을 JSON 형식으로 관리합니다.

{
"broker": {
"active": "meritz",
"meritz": {
"hts_path": "C:\\메리츠증권\\iMERITZ XII\\실행파일.exe",
"window_title": "메리츠증권 HTS 창 제목"
}
},
"google_sheets": {
"sheet_id": "스프레드시트_ID",
"credentials_file": "config/credentials.json",
"template_sheet_id": "템플릿_스프레드시트_ID",
"ib_template_worksheet_name": "IBSheetV3"
},
"execution": {
"order_delay": 2,
"max_retries": 2
},
"notification": {
"telegram_enabled": false,
"telegram_token": "",
"telegram_chat_id": "",
"discord_enabled": true,
"discord_webhook_url": "https://discord.com/api/webhooks/..."
},
"logging": {
"level": "INFO",
"retention_days": 30,
"max_file_size": 10
}
}
항목설명기본값
active현재 사용 증권사"meritz"
meritz.hts_pathHTS 실행 파일 경로-
meritz.window_titleHTS 창 제목 (pywinauto 검색용)-
항목설명
sheet_id스프레드시트 ID (URL의 /d/ 뒤 문자열)
credentials_fileService Account 인증 파일 경로
template_sheet_id무한매수법 템플릿 스프레드시트 ID
ib_template_worksheet_name무한매수법 템플릿 워크시트 이름
항목설명기본값
order_delay주문 간 대기 시간 (초)2
max_retries주문 실패 시 재시도 횟수2

워크시트에 알림 설정이 없을 경우 사용됩니다.

항목설명
telegram_enabledTelegram 알림 활성화
telegram_tokenTelegram Bot Token
telegram_chat_idTelegram Chat ID
discord_enabledDiscord 알림 활성화
discord_webhook_urlDiscord Webhook URL
항목설명기본값
level로그 레벨"INFO"
retention_days로그 파일 보관 일수30
max_file_size로그 파일 최대 크기 (MB)10

GUI에서 추가한 전략 설정을 저장합니다.

{
"strategies": [
{
"id": "SOXL_F1",
"strategy_type": "grid_trading",
"worksheet_name": "SOXL_F1",
"start_time": "22:30",
"end_time": "05:00",
"polling_interval": 60,
"enabled": true,
"run_on_holiday": false
},
{
"id": "AAPL_단순매매",
"strategy_type": "simple_order",
"worksheet_name": "AAPL_단순매매",
"start_time": "22:30",
"end_time": "22:30",
"polling_interval": 0,
"enabled": false
}
]
}
항목설명예시
id전략 고유 ID (탭 이름)"SOXL_F1"
strategy_type전략 유형"grid_trading", "simple_order", "infinite_buy"
worksheet_nameGoogle Sheet 워크시트 이름"SOXL_F1"
start_time실행 시작 시각 (24시간)"22:30"
end_time실행 종료 시각 (24시간)"05:00"
polling_interval실행 주기 (초), 0이면 ONE_TIME60
enabled활성화 여부true
run_on_holiday미국 공휴일에도 실행 여부false
조건실행 모드
polling_interval = 0ONE_TIME (1회 실행)
start_time = end_timeONE_TIME (1회 실행)
그 외CONTINUOUS (반복 실행)

HTS 로그인 정보는 settings.json에 저장하지 않고, GUI를 통해 Windows 자격증명관리자(keyring)에 안전하게 저장합니다.

정보 유형저장 위치보안 수준
공동인증서 순서Windows 자격증명관리자OS 수준 암호화 (DPAPI)
공동인증서 비밀번호Windows 자격증명관리자OS 수준 암호화 (DPAPI)
계좌 비밀번호Windows 자격증명관리자OS 수준 암호화 (DPAPI)
Google API 인증credentials.json파일 권한 + .gitignore
Telegram Bot Token전략 워크시트시트 공유 권한
Discord Webhook URL전략 워크시트시트 공유 권한

Google Cloud Console에서 생성한 Service Account 키 파일입니다.

{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "...",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
"client_email": "your-service-account@your-project.iam.gserviceaccount.com",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}