auto: 일일 백업 2026-08-04 02:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -68,5 +68,8 @@
|
|||||||
- **이미지 답신**: 자동분개 X. 골디 텔레그램 알림만 — 관리자님이 직접 처리하거나 가희님께 텍스트로 다시 요청.
|
- **이미지 답신**: 자동분개 X. 골디 텔레그램 알림만 — 관리자님이 직접 처리하거나 가희님께 텍스트로 다시 요청.
|
||||||
- **포맷 오류** (페어 0건): 분개 중단 + 골디 텔레그램 보고. 가희님께 다시 요청 또는 직접 입력.
|
- **포맷 오류** (페어 0건): 분개 중단 + 골디 텔레그램 보고. 가희님께 다시 요청 또는 직접 입력.
|
||||||
- **완료**: 골디 텔레그램으로 합계·차액·분개 방향 보고.
|
- **완료**: 골디 텔레그램으로 합계·차액·분개 방향 보고.
|
||||||
- 상태 파일: `state/gahee_reminder.json` (last_sent_month, last_processed_message_at), 수신자: `credentials/gahee_imessage.json`.
|
- 상태 파일: `state/gahee_reminder.json` (last_sent_month, last_processed_message_at, last_sent_at, reply_alert_for), 수신자: `credentials/gahee_imessage.json`.
|
||||||
- 발신 문구 수정은 state 파일 `message_template` 직접 편집 (코드 재배포 불필요).
|
- 발신 문구 수정은 state 파일 `message_template` 직접 편집 (코드 재배포 불필요).
|
||||||
|
- **발신 경로는 `--service imessage`** (2026-08-03 전환). 이전 `sms` 강제는 이 수신자에게 3전 3패였고(전부 `error=4` 미발송), 살아남은 건은 Messages 가 RCS 로 바꿔준 운이었다. 7/25 미발송이 성공으로 기록돼 7월 잔액이 통째로 누락된 사고의 원인.
|
||||||
|
- **답신 미도착 감시**: 발신 후 2일간 답신 없으면 골디 텔레그램 1회 경고. `imsg send` 는 발송 실패를 알려주지 않아(rc=0) 이게 유일한 안전망이다. 재발신은 자동 X — `python3 gahee_reminder.py --send-now` 로 수동.
|
||||||
|
- ⚠️ `--send-now` 는 **내 세션에서 못 돌린다** (자동화 → 메시지 권한이 Claude Code 에 거부). launchd 임시 oneshot plist 경유로 실행. 상세는 SKILL.md.
|
||||||
|
|||||||
@@ -21,7 +21,8 @@
|
|||||||
|
|
||||||
## Scripts (python3)
|
## Scripts (python3)
|
||||||
|
|
||||||
- `skills/whooing-sync/scripts/whooing_sync.py` — iMessage 결제문자 → 후잉 웹훅 POST. launchd `ai.openclaw.budget.whooing-sync` 가 매시 0/15/30/45분 실행 (OpenClaw cron 아님). FDA 필수(`/opt/homebrew/bin/imsg`). 페어 매칭 로직 내장 — 자세한 건 `skills/whooing-sync/SKILL.md`.
|
- `skills/whooing-sync/scripts/whooing_sync.py` — iMessage 결제문자 → 후잉 웹훅 POST. launchd `ai.openclaw.budget.whooing-sync` 가 매시 0/15/30/45분 실행 (OpenClaw cron 아님). ⚠️ **on-demand 실행은 스크립트 직접 호출이 아니라 `launchctl kickstart -p gui/$(id -u)/ai.openclaw.budget.whooing-sync` + 로그 확인** — 내 세션은 게이트웨이 node 를 TCC responsible process 로 물고 있어 `imsg` 가 Messages DB 를 못 읽는다. FDA 필수(`/opt/homebrew/bin/imsg`). 페어 매칭 로직 내장 — 자세한 건 `skills/whooing-sync/SKILL.md`.
|
||||||
|
- `skills/whooing-sync/scripts/imsg_cli.py` — `imsg` CLI 공용 래퍼(`run_json`/`chats`). stderr·returncode 를 판정해 FDA 누락을 파싱 에러로 둔갑시키지 않는다. `whooing_sync.py`·`gahee_reminder.py` 가 공유.
|
||||||
- `skills/whooing-sync/scripts/whooing_manual.py` — iMessage 없이 한 건 직접 등록. structured(`--item/--money/--left/--right [--date] [--memo]`) 또는 raw(`--message`). structured는 `whooing_accounts.json` 차트 검증 후 POST.
|
- `skills/whooing-sync/scripts/whooing_manual.py` — iMessage 없이 한 건 직접 등록. structured(`--item/--money/--left/--right [--date] [--memo]`) 또는 raw(`--message`). structured는 `whooing_accounts.json` 차트 검증 후 POST.
|
||||||
- `skills/whooing-sync/scripts/whooing_balance.py` — 후잉 OpenAPI로 자산/부채/자본 잔액 조회. 옵션: `--section-id`, `--as-of YYYY-MM-DD`, `--json`. 크리덴셜은 `credentials/whooing.json`의 `api` 블록(app_id/token/signature).
|
- `skills/whooing-sync/scripts/whooing_balance.py` — 후잉 OpenAPI로 자산/부채/자본 잔액 조회. 옵션: `--section-id`, `--as-of YYYY-MM-DD`, `--json`. 크리덴셜은 `credentials/whooing.json`의 `api` 블록(app_id/token/signature).
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,18 @@ iMessage에 들어오는 카드/은행 결제 알림을 후잉(whooing.com) 웹
|
|||||||
|
|
||||||
## How
|
## How
|
||||||
|
|
||||||
|
**on-demand 실행은 launchd 잡을 앞당겨 돌린다.** 스크립트를 직접 실행하지 말 것 —
|
||||||
|
에이전트 세션(코덱스)은 게이트웨이 node 를 TCC responsible process 로 물고 있어서
|
||||||
|
`imsg` 가 Messages DB 를 못 읽는다 (아래 "Full Disk Access" 참고). launchd 잡은 그 제약이 없다.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
launchctl kickstart -p gui/$(id -u)/ai.openclaw.budget.whooing-sync
|
||||||
|
# 비동기 — 몇 초 뒤 결과 확인
|
||||||
|
tail -20 /Users/snowoyh/.openclaw/logs/whooing-sync.log
|
||||||
|
```
|
||||||
|
|
||||||
|
스크립트 직접 실행은 **FDA 를 가진 터미널 앱**(iTerm2 등)에서만 동작한다:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 /Users/snowoyh/.openclaw/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py
|
python3 /Users/snowoyh/.openclaw/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py
|
||||||
```
|
```
|
||||||
@@ -72,18 +84,42 @@ launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.budget.whooi
|
|||||||
|
|
||||||
## 전제조건: Full Disk Access (FDA)
|
## 전제조건: Full Disk Access (FDA)
|
||||||
|
|
||||||
launchd 컨텍스트에서 `imsg` 가 `~/Library/Messages/chat.db` 를 읽으려면 FDA 허용이 필요. 터미널에서 직접 돌릴 땐 터미널 앱의 FDA 를 자식 프로세스가 상속받지만, launchd 는 상속 안 됨.
|
`imsg` 가 `~/Library/Messages/chat.db` 를 읽으려면 FDA 허용이 필요. **판정 주체는 TCC responsible process** — 자기 자신이 아니라 프로세스 체인의 책임 프로세스다.
|
||||||
|
|
||||||
- 등록 대상: `/opt/homebrew/bin/imsg`
|
- launchd → `/usr/bin/python3`(플랫폼 바이너리) → `imsg`: 책임이 `imsg` 자신이라 **`/opt/homebrew/bin/imsg` 승인으로 통과**
|
||||||
- 경로: 시스템 설정 → 개인정보 보호 및 보안 → 전체 디스크 접근 권한 → `+` 로 추가 → 토글 ON
|
- 터미널 앱 → … → `imsg`: 터미널 앱(iTerm2 등)의 FDA 로 통과
|
||||||
|
- 게이트웨이 node → codex → bash → `imsg`: **게이트웨이 node 바이너리**의 FDA 로 판정됨
|
||||||
|
|
||||||
**FDA 누락 증상**: stderr 로그에
|
등록 경로: 시스템 설정 → 개인정보 보호 및 보안 → 전체 디스크 접근 권한 → `+` 로 추가 → 토글 ON
|
||||||
|
|
||||||
|
**FDA 누락 증상**: `imsg` 가 stderr 로 다음을 낸다.
|
||||||
|
|
||||||
```
|
```
|
||||||
❌ imsg chats 실행 실패: Expecting value: line 1 column 1 (char 0)
|
Permission Error: Cannot access Messages database
|
||||||
|
... requires Full Disk Access permission.
|
||||||
```
|
```
|
||||||
|
|
||||||
가 뜨고, stdout 은 `🟢 새 결제 메시지 없음` 으로 조용히 끝남. 오류처럼 보이지 않아 놓치기 쉬움. 맥 이전 / imsg 재설치 시 FDA 재등록 필요.
|
`imsg_cli.run_json()` 이 이걸 잡아 로그에 그대로 옮긴다:
|
||||||
|
|
||||||
|
```
|
||||||
|
⚠️ chat-id 7 history 실패: Messages DB 접근 거부 — 전체 디스크 접근 권한(FDA) 누락. ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2026-08-03 사고: homebrew node 업그레이드로 FDA 무효화
|
||||||
|
|
||||||
|
node@22 가 2026-07-20 에 `22.22.2` → `22.23.1` 로 올라가며 **바이너리 경로가 바뀌어** 기존 FDA 승인이 무효화됐다 (시스템 TCC.db 에 22.22.2=허용 / 22.23.1=거부로 남아 있음). 게이트웨이가 7/21 새 바이너리로 재기동되면서 골디의 에이전트 세션에서 `imsg` 가 죽었다. **launchd 잡은 영향 없었다** — 그래서 자동 동기화는 정상인데 골디만 실패하는 그림이 됐고, 골디는 이걸 "문자 수집 실패"로 오진했다.
|
||||||
|
|
||||||
|
- 재발 시 확인: `lsof -p $(pgrep -f 'openclaw/dist/index.js gateway') -a -d txt | head -1` 로 실제 node 경로를 뽑아, 그 경로를 FDA 목록에 추가
|
||||||
|
- 그 다음 게이트웨이 재기동: `launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway`
|
||||||
|
- **on-demand 실행을 kickstart 로 바꾼 이유가 이것** — node 업그레이드마다 깨지는 의존을 실행 경로에서 뺐다
|
||||||
|
|
||||||
|
당시 오진을 만든 코드 결함 3개는 함께 고쳤다 (2026-08-03):
|
||||||
|
|
||||||
|
1. 호출부가 stderr·returncode 를 버려 권한 오류가 `Expecting value: line 1 column 1 (char 0)` 파싱 에러로 둔갑 → `imsg_cli.py` 공용 래퍼로 사유 노출
|
||||||
|
2. `resolve_chat_ids()` 가 권한 거부 시 **빈 chat id 매핑을 캐시에 저장** → 이후 launchd 포함 전 실행이 캐시 적중으로 조용히 0건 수집을 영구 반복. 이제 전 carrier 가 비면 저장 거부 + exit 3
|
||||||
|
3. `imsg chats` 기본값이 최근 20건이라 조용한 발신번호(현대카드 SMS·신한은행)가 목록에서 빠짐 → 캐시 재생성 시 그 carrier 수집이 조용히 끊김. `CHATS_LIMIT=200` 으로 전량 조회
|
||||||
|
|
||||||
|
맥 이전 / imsg 재설치 시에도 FDA 재등록 필요.
|
||||||
|
|
||||||
## 페어 매칭 (자기 계좌 간 이체)
|
## 페어 매칭 (자기 계좌 간 이체)
|
||||||
|
|
||||||
@@ -118,7 +154,9 @@ launchd 컨텍스트에서 `imsg` 가 `~/Library/Messages/chat.db` 를 읽으려
|
|||||||
|
|
||||||
- 사람 이름 송금(예: "박영춘", "이지윤")은 exact 룰로 등록하지 말고 default fallback 에 맡긴다. merchant_map 비대화 방지.
|
- 사람 이름 송금(예: "박영춘", "이지윤")은 exact 룰로 등록하지 말고 default fallback 에 맡긴다. merchant_map 비대화 방지.
|
||||||
- `deposit` 은 default fallback 없음 — rule 없으면 raw 폴백 (수익/이체/환급 구분 위험 때문).
|
- `deposit` 은 default fallback 없음 — rule 없으면 raw 폴백 (수익/이체/환급 구분 위험 때문).
|
||||||
|
- `card_cancel` 은 **승인의 역분개**로 좌우를 뒤집어 POST 한다 (2026-08-03). 승인이 `{비용 ← 카드}` 이므로 취소는 `{카드 ← 비용}`. 부분취소도 취소 문자 금액 그대로 상쇄되어 맞는다. 이전엔 raw 폴백으로 후잉 자체 파서에 맡겼는데, 결과는 맞았지만 파싱을 외부에 의존하고 raw 폴백 알림이 매번 울렸다. 현대카드·신한카드(`매입취소`/`승인취소`) 공통.
|
||||||
- 기존 contains(예: "스타벅스 → 식비") / exact(예: "방효원 → 기초잔액(효원)") 는 계속 유효. fallback 은 둘 다 miss 일 때만 탄다.
|
- 기존 contains(예: "스타벅스 → 식비") / exact(예: "방효원 → 기초잔액(효원)") 는 계속 유효. fallback 은 둘 다 miss 일 때만 탄다.
|
||||||
|
- ⚠️ **주유소는 두 곳을 함께 손대야 한다** — `whooing_sync.py` 의 `FUEL_KEYWORDS`(150,000원 선승인/취소 스킵)와 `whooing_merchant_map.json` contains 룰(실제 결제 → `차량유지비/주유비`)이 한 쌍이다. 한쪽만 넣으면 선승인이 후잉에 남거나 실제 주유가 기타비용으로 샌다. 상호에 주유/석유가 없는 충전소(현대가스·한경에너)는 상호 자체를 등록. 한경에너는 선승인이 149,900원이라 `FUEL_PREAUTH_AMOUNT`(150,000 정확일치) 스킵엔 안 걸리고 분류만 적용된다.
|
||||||
- 결과적으로 자잘한 인명 송금·가맹점 미등록 건은 전부 기타비용으로 자동 분류되고, 분류가 필요한 것만 후잉 UI 에서 사후 조정하거나 merchant_map 에 규칙 추가한다.
|
- 결과적으로 자잘한 인명 송금·가맹점 미등록 건은 전부 기타비용으로 자동 분류되고, 분류가 필요한 것만 후잉 UI 에서 사후 조정하거나 merchant_map 에 규칙 추가한다.
|
||||||
|
|
||||||
### 우선 룰 (whooing_overrides.json)
|
### 우선 룰 (whooing_overrides.json)
|
||||||
@@ -296,6 +334,9 @@ python3 .../whooing_balance.py --json \
|
|||||||
### 흐름
|
### 흐름
|
||||||
|
|
||||||
1. **발신 게이트** — KST 기준 `day >= send_day_of_month` (catch-up 정책) 이고 시각이 `send_hour_kst` 이상이며 `last_sent_month` ≠ 이번 달이면 1회 발신. 25일에 Mac이 꺼져 있었어도 26~월말 사이 켜면 그 시점에 발신. 다음 달로 넘어가면 포기.
|
1. **발신 게이트** — KST 기준 `day >= send_day_of_month` (catch-up 정책) 이고 시각이 `send_hour_kst` 이상이며 `last_sent_month` ≠ 이번 달이면 1회 발신. 25일에 Mac이 꺼져 있었어도 26~월말 사이 켜면 그 시점에 발신. 다음 달로 넘어가면 포기.
|
||||||
|
- 발신은 **`--service imessage`** (2026-08-03 전환, 아래 사고 참고). 가희님은 iMessage 사용자다.
|
||||||
|
- 성공 시 `last_sent_month` 와 함께 **`last_sent_at`** 을 찍는다 — 답신 미도착 감시의 시작점.
|
||||||
|
1-b. **답신 미도착 감시** (`_check_reply_overdue`) — 발신 후 `REPLY_GRACE_DAYS`(2일)가 지나도 가희님 답신이 없으면 관리자님께 텔레그램 1회. 유예 전이면 API 콜 0으로 즉시 반환하고, 답신이 확인되면 `last_sent_at` 을 지워 감시를 끝낸다. 같은 발신 건에 대한 재알림은 `reply_alert_for` 로 막는다. ⚠️ **재발신은 자동으로 하지 않는다** — 가희님이 늦게 답하는 경우 중복 독촉이 되고, 자동 발송 트리거를 늘리지 않는다는 방침에도 어긋난다.
|
||||||
2. **응답 폴링** — `imsg chats --json` → 가희 chat 찾기 → `imsg history --chat-id X --start <last_processed_message_at> --attachments --json`. 가희 발신(is_from_me≠true) 메시지만 처리.
|
2. **응답 폴링** — `imsg chats --json` → 가희 chat 찾기 → `imsg history --chat-id X --start <last_processed_message_at> --attachments --json`. 가희 발신(is_from_me≠true) 메시지만 처리.
|
||||||
3. **1차 스캔** (즉시 워터마크 갱신):
|
3. **1차 스캔** (즉시 워터마크 갱신):
|
||||||
- **이미지 첨부 있음** → 자동분개 X, 골디 텔레그램 알림만 ("이미지 답신 — 직접 처리 부탁")
|
- **이미지 첨부 있음** → 자동분개 X, 골디 텔레그램 알림만 ("이미지 답신 — 직접 처리 부탁")
|
||||||
@@ -322,6 +363,8 @@ python3 .../whooing_balance.py --json \
|
|||||||
"message_template": "가계부 업데이트 날이에요. 계좌잔액 보내주시면 자동으로 반영됩니다.",
|
"message_template": "가계부 업데이트 날이에요. 계좌잔액 보내주시면 자동으로 반영됩니다.",
|
||||||
"last_sent_month": null,
|
"last_sent_month": null,
|
||||||
"last_processed_message_at": null,
|
"last_processed_message_at": null,
|
||||||
|
"last_sent_at": null,
|
||||||
|
"reply_alert_for": null,
|
||||||
"whooing_account_name": "가희주머니",
|
"whooing_account_name": "가희주머니",
|
||||||
"income_account": "가희비밀주머니_수익",
|
"income_account": "가희비밀주머니_수익",
|
||||||
"expense_account": "기타비용"
|
"expense_account": "기타비용"
|
||||||
@@ -330,8 +373,29 @@ python3 .../whooing_balance.py --json \
|
|||||||
|
|
||||||
- `last_sent_month` = "YYYY-MM" 발신 직후 기록. 같은 달에 재발신 안 함.
|
- `last_sent_month` = "YYYY-MM" 발신 직후 기록. 같은 달에 재발신 안 함.
|
||||||
- `last_processed_message_at` = imsg history `--start` 의 ISO 워터마크. 처리한 메시지의 created_at 최댓값.
|
- `last_processed_message_at` = imsg history `--start` 의 ISO 워터마크. 처리한 메시지의 created_at 최댓값.
|
||||||
|
- `last_sent_at` = 발신 시각(UTC Z). 답신 미도착 감시의 기준점. 답신 확인되면 지워진다.
|
||||||
|
- `reply_alert_for` = 이미 "답신 없음" 알림을 보낸 `last_sent_at` 값. 같은 발신 건 재알림 방지.
|
||||||
- 발신 문구·트리거 일자·계정명 변경은 모두 이 JSON 직접 편집. 코드 재배포 불필요. whooing-sync 가 매 사이클 다시 읽음.
|
- 발신 문구·트리거 일자·계정명 변경은 모두 이 JSON 직접 편집. 코드 재배포 불필요. whooing-sync 가 매 사이클 다시 읽음.
|
||||||
|
|
||||||
|
### 수동 발신 (`--send-now`)
|
||||||
|
|
||||||
|
발송이 실패해 그 달을 놓쳤을 때의 복구 수단. 날짜 게이트를 무시하고 1회 발신하며 `last_sent_month` 는 건드리지 않아 정규 25일 발신이 살아있다.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 gahee_reminder.py --send-now [--dry-run]
|
||||||
|
```
|
||||||
|
|
||||||
|
⚠️ **에이전트 세션·코디 셸에서 실행하면 20초 타임아웃으로 실패한다.** `imsg send` 는 AppleEvents 로 Messages 를 구동하는데, **자동화 → 메시지** 권한이 `imsg` 와 iTerm2 에만 허용돼 있고 Claude Code 에는 거부로 박혀 있다. launchd 경유로 돌려야 한다 — 임시 oneshot plist 를 만들어 `kickstart` 하고 로그를 읽은 뒤 `bootout` + 삭제한다(2026-08-03 실행 방식).
|
||||||
|
|
||||||
|
### 2026-07-25 사고: 미발송이 성공으로 기록됨
|
||||||
|
|
||||||
|
7/25 리마인더가 실제로 발송되지 않았는데(`chat.db`: `service=SMS, is_sent=0, error=4`) 시스템은 성공으로 기록했다. 가희주머니 7월 잔액이 안 들어와 8/1 월간 결산에서 빠졌다.
|
||||||
|
|
||||||
|
- **왜 실패했나** — `--service sms` 강제가 이 수신자에게 **3전 3패**였다(5/25 ×2, 7/25 ×1 전부 `error=4`). 살아남은 2건(5/25·6/25)은 Messages 가 임의로 **RCS 로 바꿔** 보낸 운이었고, 7월엔 그 폴백이 안 일어났다. 전체 통계로도 iMessage 137/139 성공 vs SMS 실패 3건(전부 이 리마인더).
|
||||||
|
- **왜 몰랐나** — `imsg send` 는 Messages 에 넘기기만 성공하면 rc=0 이고, 실제 실패는 그 뒤 비동기로 `chat.db` 의 `error` 에 찍힌다. 코드가 rc 만 봐서 성공 처리 → 오탐 텔레그램 → `last_sent_month` 갱신 → 그 달 재시도 차단 → 8월엔 catch-up 이 당월만 보므로 7월분 영구 유실.
|
||||||
|
- **왜 발송 검증을 자동 경로에 안 넣었나** — `is_sent`/`error` 는 `chat.db` 에만 있고 `imsg history` JSON 은 노출하지 않는다(실패한 메시지도 정상 조회됨). 직접 sqlite 조회가 유일한 길인데 **launchd 의 `/usr/bin/python3` 는 FDA 가 없어 `authorization denied` 로 막힌다**(2026-08-03 실측). 그래서 자동 경로는 권한과 무관한 답신 기반 감시를 쓰고, 정밀 확인(`_verify_sent`)은 FDA 가 있는 컨텍스트에서 도는 `--send-now` 에만 붙였다.
|
||||||
|
- `error=4` 의 정확한 의미는 확증 못 함 — 사고 시점 imagent 로그가 이미 롤오프됐다.
|
||||||
|
|
||||||
### 수신자 설정
|
### 수신자 설정
|
||||||
|
|
||||||
`/Users/snowoyh/.openclaw/credentials/gahee_imessage.json`:
|
`/Users/snowoyh/.openclaw/credentials/gahee_imessage.json`:
|
||||||
|
|||||||
@@ -12,13 +12,18 @@
|
|||||||
"""
|
"""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import argparse
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
|
import sqlite3
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from zoneinfo import ZoneInfo
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
|
import imsg_cli
|
||||||
import notify
|
import notify
|
||||||
import whooing_balance
|
import whooing_balance
|
||||||
|
|
||||||
@@ -27,6 +32,13 @@ GAHEE_CRED = Path("/Users/snowoyh/.openclaw/credentials/gahee_imessage.json")
|
|||||||
STATE_FILE = Path("/Users/snowoyh/.openclaw/agents/budget/workspace/state/gahee_reminder.json")
|
STATE_FILE = Path("/Users/snowoyh/.openclaw/agents/budget/workspace/state/gahee_reminder.json")
|
||||||
IMSG_TIMEOUT = 20
|
IMSG_TIMEOUT = 20
|
||||||
HISTORY_LIMIT = 50
|
HISTORY_LIMIT = 50
|
||||||
|
# 발신 후 이 기간 안에 가희님 답신이 없으면 발송 실패를 의심하고 관리자님께 1회 알린다.
|
||||||
|
# imsg send 는 Messages 에 넘기기만 성공하면 rc=0 이라 발송 실패를 동기적으로 못 잡는다
|
||||||
|
# (2026-07-25 사고: SMS error=4 로 미발송인데 성공 처리돼 그 달 재시도가 막혔다).
|
||||||
|
# 실측 답신 지연은 3시간·38시간 — 2일이면 오탐이 적다.
|
||||||
|
REPLY_GRACE_DAYS = 2
|
||||||
|
CHAT_DB = Path.home() / "Library" / "Messages" / "chat.db"
|
||||||
|
APPLE_EPOCH = 978307200 # chat.db date 는 2001-01-01 기준 ns
|
||||||
# 라벨 + 금액 패턴. 라벨은 한글/영문/괄호/공백/숫자 1~20자.
|
# 라벨 + 금액 패턴. 라벨은 한글/영문/괄호/공백/숫자 1~20자.
|
||||||
# 콜론 구분 입력은 정수 전체를 허용하고, 공백 구분 입력은 천 단위 콤마가 있을 때만 허용한다.
|
# 콜론 구분 입력은 정수 전체를 허용하고, 공백 구분 입력은 천 단위 콤마가 있을 때만 허용한다.
|
||||||
# 일반 안내 문자의 "오전 09" 같은 표현을 잔액으로 오인하지 않기 위함.
|
# 일반 안내 문자의 "오전 09" 같은 표현을 잔액으로 오인하지 않기 위함.
|
||||||
@@ -77,15 +89,11 @@ def _normalize(handle: str) -> str:
|
|||||||
|
|
||||||
|
|
||||||
def _imsg_chats() -> list[dict]:
|
def _imsg_chats() -> list[dict]:
|
||||||
try:
|
rows, err = imsg_cli.chats(IMSG_TIMEOUT)
|
||||||
raw = subprocess.run(
|
if err:
|
||||||
["imsg", "chats", "--json"],
|
print(f"⚠️ 가희 imsg chats 실패: {err}")
|
||||||
capture_output=True, text=True, timeout=IMSG_TIMEOUT,
|
|
||||||
)
|
|
||||||
return [json.loads(l) for l in raw.stdout.splitlines() if l.strip()]
|
|
||||||
except Exception as e:
|
|
||||||
print(f"⚠️ 가희 imsg chats 실패: {e}")
|
|
||||||
return []
|
return []
|
||||||
|
return rows
|
||||||
|
|
||||||
|
|
||||||
def _find_gahee_chat_id(handle_norm: str) -> int | None:
|
def _find_gahee_chat_id(handle_norm: str) -> int | None:
|
||||||
@@ -97,26 +105,35 @@ def _find_gahee_chat_id(handle_norm: str) -> int | None:
|
|||||||
|
|
||||||
|
|
||||||
def _imsg_history(chat_id: int, start_iso: str | None) -> list[dict]:
|
def _imsg_history(chat_id: int, start_iso: str | None) -> list[dict]:
|
||||||
cmd = ["imsg", "history", "--chat-id", str(chat_id),
|
args = ["history", "--chat-id", str(chat_id),
|
||||||
"--limit", str(HISTORY_LIMIT), "--attachments", "--json"]
|
"--limit", str(HISTORY_LIMIT), "--attachments", "--json"]
|
||||||
if start_iso:
|
if start_iso:
|
||||||
cmd += ["--start", start_iso]
|
args += ["--start", start_iso]
|
||||||
try:
|
rows, err = imsg_cli.run_json(args, IMSG_TIMEOUT)
|
||||||
raw = subprocess.run(cmd, capture_output=True, text=True, timeout=IMSG_TIMEOUT)
|
if err:
|
||||||
return [json.loads(l) for l in raw.stdout.splitlines() if l.strip()]
|
print(f"⚠️ 가희 imsg history 실패: {err}")
|
||||||
except Exception as e:
|
|
||||||
print(f"⚠️ 가희 imsg history 실패: {e}")
|
|
||||||
return []
|
return []
|
||||||
|
return rows
|
||||||
|
|
||||||
|
|
||||||
def _send_imessage(handle: str, text: str, dry_run: bool) -> bool:
|
def _send_imessage(handle: str, text: str, dry_run: bool) -> bool:
|
||||||
|
"""가희님께 리마인더 발신.
|
||||||
|
|
||||||
|
⚠️ rc=0 은 "Messages 에 넘겼다"는 뜻일 뿐 발송 성공이 아니다. 실제 실패는 그 뒤
|
||||||
|
비동기로 chat.db 의 error 칼럼에 찍힌다 — 여기서는 알 수 없다. 발송 여부 확인은
|
||||||
|
_verify_sent()(FDA 필요, CLI 전용) 또는 _check_reply_overdue()(답신 기반)가 맡는다.
|
||||||
|
|
||||||
|
⚠️ service 는 imessage 다. sms 강제는 이 수신자에게 3전 3패였고(5/25 ×2, 7/25 ×1
|
||||||
|
전부 error=4), 살아남은 2건은 Messages 가 임의로 RCS 로 바꿔준 운이었다. 가희님은
|
||||||
|
iMessage 사용자다(답신 2건 모두 iMessage). 2026-08-03 전환.
|
||||||
|
"""
|
||||||
if dry_run:
|
if dry_run:
|
||||||
print(f"[dry-run] imsg send --to {handle} --text {text!r} --service sms")
|
print(f"[dry-run] imsg send --to {handle} --text {text!r} --service imessage")
|
||||||
return True
|
return True
|
||||||
try:
|
try:
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
["imsg", "send", "--to", handle, "--text", text,
|
["imsg", "send", "--to", handle, "--text", text,
|
||||||
"--service", "sms"],
|
"--service", "imessage"],
|
||||||
capture_output=True, text=True, timeout=IMSG_TIMEOUT,
|
capture_output=True, text=True, timeout=IMSG_TIMEOUT,
|
||||||
)
|
)
|
||||||
if result.returncode != 0:
|
if result.returncode != 0:
|
||||||
@@ -128,6 +145,46 @@ def _send_imessage(handle: str, text: str, dry_run: bool) -> bool:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def _utc_z(dt: datetime) -> str:
|
||||||
|
"""imsg --start / state 워터마크와 같은 UTC Z 포맷."""
|
||||||
|
return dt.astimezone(ZoneInfo("UTC")).isoformat().replace("+00:00", "Z")
|
||||||
|
|
||||||
|
|
||||||
|
def _verify_sent(handle: str, after_unix: float, timeout: int = 20):
|
||||||
|
"""chat.db 직접 조회로 실제 발송 여부 확인. 반환 (verdict, detail).
|
||||||
|
|
||||||
|
verdict True=발송됨 / False=실패 / None=확인 불가.
|
||||||
|
chat.db 는 FDA 를 가진 컨텍스트에서만 읽힌다 — launchd(/usr/bin/python3)에선 못 읽으므로
|
||||||
|
확인 불가(None)로 떨어진다. 이 함수는 CLI 전용이고, 자동 경로는 답신 기반 감시를 쓴다.
|
||||||
|
"""
|
||||||
|
digits = re.sub(r"\D", "", handle)[-8:]
|
||||||
|
after_ns = int((after_unix - APPLE_EPOCH) * 1_000_000_000)
|
||||||
|
deadline = time.time() + timeout
|
||||||
|
detail = None
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
con = sqlite3.connect(f"file:{CHAT_DB}?mode=ro", uri=True)
|
||||||
|
row = con.execute(
|
||||||
|
"select m.service, m.is_sent, m.error from message m "
|
||||||
|
"join handle h on m.handle_id = h.rowid "
|
||||||
|
"where h.id like ? and m.is_from_me = 1 and m.date >= ? "
|
||||||
|
"order by m.date desc limit 1",
|
||||||
|
(f"%{digits}", after_ns),
|
||||||
|
).fetchone()
|
||||||
|
con.close()
|
||||||
|
except Exception as e:
|
||||||
|
return None, f"chat.db 조회 불가 ({type(e).__name__}: {e})"
|
||||||
|
if row:
|
||||||
|
detail = f"service={row[0]} is_sent={row[1]} error={row[2]}"
|
||||||
|
if row[2]:
|
||||||
|
return False, detail
|
||||||
|
if row[1]:
|
||||||
|
return True, detail
|
||||||
|
if time.time() >= deadline:
|
||||||
|
return None, detail or "발신 기록이 아직 안 보임"
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
|
||||||
def _parse_balance_text(text: str) -> dict[str, int]:
|
def _parse_balance_text(text: str) -> dict[str, int]:
|
||||||
"""가희 답신 텍스트에서 '라벨 : 금액' 페어 추출. 빈 dict면 포맷 오류.
|
"""가희 답신 텍스트에서 '라벨 : 금액' 페어 추출. 빈 dict면 포맷 오류.
|
||||||
|
|
||||||
@@ -234,6 +291,9 @@ def _maybe_send_reminder(state: dict, dry_run: bool) -> bool:
|
|||||||
|
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
state["last_sent_month"] = month_tag
|
state["last_sent_month"] = month_tag
|
||||||
|
# 답신 감시 시작점. 발송 성공 여부는 여기서 알 수 없으므로 답신으로 확인한다.
|
||||||
|
state["last_sent_at"] = _utc_z(now)
|
||||||
|
state.pop("reply_alert_for", None)
|
||||||
_save_json(STATE_FILE, state)
|
_save_json(STATE_FILE, state)
|
||||||
notify.send(
|
notify.send(
|
||||||
f"📨 <b>가희 잔액 리마인더 발신</b>\n"
|
f"📨 <b>가희 잔액 리마인더 발신</b>\n"
|
||||||
@@ -243,6 +303,51 @@ def _maybe_send_reminder(state: dict, dry_run: bool) -> bool:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def _check_reply_overdue(state: dict, dry_run: bool):
|
||||||
|
"""발신 후 REPLY_GRACE_DAYS 가 지나도 답신이 없으면 관리자님께 1회 알린다.
|
||||||
|
|
||||||
|
발송 실패를 직접 감지할 수 없어서(위 _send_imessage 주석) 결과로 대신 본다.
|
||||||
|
2026-07-25 처럼 미발송이 조용히 넘어가는 걸 막는 유일한 안전망이다.
|
||||||
|
|
||||||
|
⚠️ 재발신은 자동으로 하지 않는다 — 가희님이 늦게 답하는 경우 중복 독촉이 되고,
|
||||||
|
자동 발송 트리거를 늘리지 않는다는 방침에도 어긋난다. 알림 받고 --send-now 로 수동.
|
||||||
|
"""
|
||||||
|
sent_at = state.get("last_sent_at")
|
||||||
|
if not sent_at:
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
sent_dt = datetime.fromisoformat(sent_at.replace("Z", "+00:00"))
|
||||||
|
except ValueError:
|
||||||
|
return
|
||||||
|
if _now_kst() - sent_dt < timedelta(days=REPLY_GRACE_DAYS):
|
||||||
|
return
|
||||||
|
if state.get("reply_alert_for") == sent_at:
|
||||||
|
return # 이번 발신 건은 이미 알림
|
||||||
|
|
||||||
|
handle_norm = _normalize(_gahee_handle())
|
||||||
|
chat_id = _find_gahee_chat_id(handle_norm)
|
||||||
|
if chat_id is None:
|
||||||
|
return
|
||||||
|
if any(_msg_from_gahee(m) for m in _imsg_history(chat_id, sent_at)):
|
||||||
|
# 답신 도착 — 감시 종료
|
||||||
|
if not dry_run:
|
||||||
|
state.pop("last_sent_at", None)
|
||||||
|
state.pop("reply_alert_for", None)
|
||||||
|
_save_json(STATE_FILE, state)
|
||||||
|
return
|
||||||
|
|
||||||
|
days = (_now_kst() - sent_dt).days
|
||||||
|
notify.send(
|
||||||
|
f"⚠️ <b>가희 잔액 리마인더 — {days}일째 답신 없음</b>\n"
|
||||||
|
f"발신: {notify.escape_html(sent_at)}\n"
|
||||||
|
f"발송 자체가 실패했을 수 있어요 (imsg 는 발송 실패를 알려주지 않아요).\n"
|
||||||
|
f"재발신: <code>python3 gahee_reminder.py --send-now</code>"
|
||||||
|
)
|
||||||
|
if not dry_run:
|
||||||
|
state["reply_alert_for"] = sent_at
|
||||||
|
_save_json(STATE_FILE, state)
|
||||||
|
|
||||||
|
|
||||||
def _msg_text(msg: dict) -> str:
|
def _msg_text(msg: dict) -> str:
|
||||||
"""imsg history 메시지 객체에서 본문 텍스트 추출. 키 변형(text/body) 모두 시도."""
|
"""imsg history 메시지 객체에서 본문 텍스트 추출. 키 변형(text/body) 모두 시도."""
|
||||||
for k in ("text", "body", "message", "content"):
|
for k in ("text", "body", "message", "content"):
|
||||||
@@ -402,9 +507,61 @@ def run(webhook_url: str, post_fn, dry_run: bool = False):
|
|||||||
_maybe_send_reminder(state, dry_run=dry_run)
|
_maybe_send_reminder(state, dry_run=dry_run)
|
||||||
# 발신 직후 같은 사이클에서 폴링은 무의미하지만, 다음 사이클부터 자연스럽게 시작됨.
|
# 발신 직후 같은 사이클에서 폴링은 무의미하지만, 다음 사이클부터 자연스럽게 시작됨.
|
||||||
_poll_replies(state, webhook_url, post_fn, dry_run=dry_run)
|
_poll_replies(state, webhook_url, post_fn, dry_run=dry_run)
|
||||||
|
# 발송 실패가 조용히 넘어가지 않게 하는 안전망. 유예 전이면 API 콜 없이 즉시 반환.
|
||||||
|
_check_reply_overdue(state, dry_run=dry_run)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"❌ gahee_reminder.run 예외 (격리됨): {e}")
|
print(f"❌ gahee_reminder.run 예외 (격리됨): {e}")
|
||||||
try:
|
try:
|
||||||
notify.send(f"❌ <b>가희 모듈 예외</b>\n{notify.escape_html(str(e))[:500]}")
|
notify.send(f"❌ <b>가희 모듈 예외</b>\n{notify.escape_html(str(e))[:500]}")
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def send_now(dry_run: bool = False) -> int:
|
||||||
|
"""날짜 게이트를 무시하고 리마인더 1회 발신 (수동용).
|
||||||
|
|
||||||
|
발송 실패로 그 달을 통째로 놓쳤을 때 복구 수단. last_sent_month 는 건드리지 않아
|
||||||
|
정규 발신(매월 25일)이 그대로 살아있다.
|
||||||
|
"""
|
||||||
|
state = _load_json(STATE_FILE, None)
|
||||||
|
if not state:
|
||||||
|
print("❌ 가희 state 파일 없음", file=sys.stderr)
|
||||||
|
return 1
|
||||||
|
|
||||||
|
handle = _gahee_handle()
|
||||||
|
template = state.get("message_template") or "가계부 업데이트 날이에요. 계좌잔액 보내주시면 자동으로 반영됩니다."
|
||||||
|
before = time.time()
|
||||||
|
if not _send_imessage(handle, template, dry_run=dry_run):
|
||||||
|
return 1
|
||||||
|
if dry_run:
|
||||||
|
print(f"[dry-run] 수신자={handle} · last_sent_month 는 그대로 유지")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
state["last_sent_at"] = _utc_z(_now_kst())
|
||||||
|
state.pop("reply_alert_for", None)
|
||||||
|
_save_json(STATE_FILE, state)
|
||||||
|
|
||||||
|
verdict, detail = _verify_sent(handle, before)
|
||||||
|
if verdict is True:
|
||||||
|
print(f"✅ 발송 확인 — {detail}")
|
||||||
|
return 0
|
||||||
|
if verdict is False:
|
||||||
|
print(f"❌ 발송 실패 — {detail}", file=sys.stderr)
|
||||||
|
state.pop("last_sent_at", None)
|
||||||
|
_save_json(STATE_FILE, state)
|
||||||
|
return 1
|
||||||
|
# chat.db 를 못 읽는 컨텍스트이거나 아직 판정 전. 실패로 단정하지 않는다.
|
||||||
|
print(f"⚠️ 발송 확인 불가 — {detail}")
|
||||||
|
print(f" 답신이 {REPLY_GRACE_DAYS}일간 없으면 골디가 텔레그램으로 알립니다.")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
ap = argparse.ArgumentParser(description="가희 잔액 리마인더 (수동 발신용)")
|
||||||
|
ap.add_argument("--send-now", action="store_true",
|
||||||
|
help="날짜 게이트 무시하고 1회 발신. 정규 25일 발신은 유지")
|
||||||
|
ap.add_argument("--dry-run", action="store_true", help="실제 발송 없이 계획만 출력")
|
||||||
|
args = ap.parse_args()
|
||||||
|
if args.send_now:
|
||||||
|
sys.exit(send_now(dry_run=args.dry_run))
|
||||||
|
ap.print_help()
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
"""imsg CLI 호출 공용 래퍼.
|
||||||
|
|
||||||
|
호출부가 stdout 만 JSON 파싱하고 stderr·returncode 를 버리면, FDA(전체 디스크 접근 권한)
|
||||||
|
누락 같은 권한 오류가 `Expecting value: line 1 column 1 (char 0)` 파싱 에러로 둔갑한다.
|
||||||
|
2026-08-03 골디 오진 사고의 원인 — 실제 원인은 homebrew node 업그레이드로 게이트웨이
|
||||||
|
바이너리 경로가 바뀌어 FDA 승인이 무효화된 것이었다. 판정을 한곳에 모아 사유를 그대로 노출한다.
|
||||||
|
"""
|
||||||
|
import json
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
# imsg 가 권한 거부 시 내는 문구 (imsg 0.5.0 기준).
|
||||||
|
FDA_MARKERS = ("Full Disk Access", "Cannot access Messages database")
|
||||||
|
FDA_HINT = (
|
||||||
|
"Messages DB 접근 거부 — 전체 디스크 접근 권한(FDA) 누락. "
|
||||||
|
"skills/whooing-sync/SKILL.md 의 'Full Disk Access' 섹션 참고"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# `imsg chats` 기본값은 최근 20건이라, 오래 조용한 발신번호(현대카드 SMS·신한은행 등)가
|
||||||
|
# 목록에서 빠진다. 그 상태로 chat id 캐시를 다시 만들면 해당 carrier 수집이 조용히 끊긴다.
|
||||||
|
# chat.db 전체 대화가 130개 수준이라 넉넉히 잡는다. (2026-08-03 실측으로 발견)
|
||||||
|
CHATS_LIMIT = 200
|
||||||
|
|
||||||
|
|
||||||
|
def _reason(stderr: str, stdout: str, fallback: str) -> str:
|
||||||
|
"""실패 사유 한 줄. FDA 마커는 stdout/stderr 어느 쪽에 있어도 잡는다."""
|
||||||
|
err = (stderr or "").strip()
|
||||||
|
out = (stdout or "").strip()
|
||||||
|
if any(m in err or m in out for m in FDA_MARKERS):
|
||||||
|
return FDA_HINT
|
||||||
|
detail = err or out
|
||||||
|
if detail:
|
||||||
|
return " ".join(detail.split())[:200]
|
||||||
|
return fallback
|
||||||
|
|
||||||
|
|
||||||
|
def run_json(args: list, timeout: int) -> "tuple[list, str | None]":
|
||||||
|
"""imsg 실행 → (rows, error). 성공 시 (list[dict], None), 실패 시 ([], 사유).
|
||||||
|
|
||||||
|
결과 0건과 실패를 구분한다 — 둘 다 빈 리스트지만 실패에만 error 가 붙는다.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
p = subprocess.run(
|
||||||
|
["imsg"] + list(args),
|
||||||
|
capture_output=True, text=True, timeout=timeout,
|
||||||
|
)
|
||||||
|
except FileNotFoundError:
|
||||||
|
return [], "imsg CLI가 설치되어 있지 않습니다"
|
||||||
|
except subprocess.TimeoutExpired:
|
||||||
|
return [], f"타임아웃 ({timeout}s)"
|
||||||
|
except Exception as e:
|
||||||
|
return [], f"{type(e).__name__}: {e}"
|
||||||
|
|
||||||
|
out = p.stdout or ""
|
||||||
|
if p.returncode != 0:
|
||||||
|
return [], _reason(p.stderr, out, f"rc={p.returncode}")
|
||||||
|
|
||||||
|
if not out.strip():
|
||||||
|
# stderr 만 있고 stdout 이 비면 실패. 둘 다 비면 정상적으로 결과 0건.
|
||||||
|
if (p.stderr or "").strip():
|
||||||
|
return [], _reason(p.stderr, "", "빈 출력")
|
||||||
|
return [], None
|
||||||
|
|
||||||
|
rows = []
|
||||||
|
for line in out.splitlines():
|
||||||
|
line = line.strip()
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
rows.append(json.loads(line))
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
return [], _reason(p.stderr, line, "JSON 파싱 실패")
|
||||||
|
return rows, None
|
||||||
|
|
||||||
|
|
||||||
|
def chats(timeout: int) -> "tuple[list, str | None]":
|
||||||
|
"""대화 목록 조회 → (rows, error). CHATS_LIMIT 만큼 넓게 훑는다."""
|
||||||
|
return run_json(["chats", "--limit", str(CHATS_LIMIT), "--json"], timeout)
|
||||||
@@ -179,15 +179,16 @@ def parse_kakao_bank(raw: str, created_at: str) -> "dict | None":
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
# 현대카드 승인 형식 (취소는 별도 샘플 확보 후 추가):
|
# 현대카드 승인/취소 형식 (취소도 헤더 단어만 다르고 본문 구조는 같다):
|
||||||
# 현대카드 블루멤버스 승인
|
# 현대카드 블루멤버스 승인 현대카드 블루멤버스 취소
|
||||||
# 방*원
|
# 방*원 방*원
|
||||||
# 5,170원 일시불
|
# 5,170원 일시불 150,000원 일시불
|
||||||
# 04/25 11:34
|
# 04/25 11:34 08/02 13:06
|
||||||
# 쿠팡
|
# 쿠팡 현대가스
|
||||||
# 누적1,466,011원
|
# 누적1,466,011원 누적4,696,608원
|
||||||
HYUNDAI_CARD_APPROVE_RE = re.compile(
|
# 앞의 `현대카드[^\n]*` 가 greedy 라 "승인취소" 형태도 kind=취소 로 잡힌다.
|
||||||
r"^\s*현대카드[^\n]*승인\s*\n"
|
HYUNDAI_CARD_RE = re.compile(
|
||||||
|
r"^\s*현대카드[^\n]*(?P<kind>승인|취소)\s*\n"
|
||||||
r"(?P<who>[^\n]+)\s*\n"
|
r"(?P<who>[^\n]+)\s*\n"
|
||||||
r"(?P<amount>[\d,]+)\s*원[^\n]*\n"
|
r"(?P<amount>[\d,]+)\s*원[^\n]*\n"
|
||||||
r"\d{2}/\d{2}\s+\d{2}:\d{2}\s*\n"
|
r"\d{2}/\d{2}\s+\d{2}:\d{2}\s*\n"
|
||||||
@@ -198,8 +199,8 @@ HYUNDAI_CARD_APPROVE_RE = re.compile(
|
|||||||
|
|
||||||
# RCS/MAAP 형식은 한 줄로 들어온다:
|
# RCS/MAAP 형식은 한 줄로 들어온다:
|
||||||
# [Web발신] 현대카드 블루멤버스 승인 방*원 84,000원 일시불 05/16 11:57 네이버페이 누적820,000원
|
# [Web발신] 현대카드 블루멤버스 승인 방*원 84,000원 일시불 05/16 11:57 네이버페이 누적820,000원
|
||||||
HYUNDAI_CARD_APPROVE_INLINE_RE = re.compile(
|
HYUNDAI_CARD_INLINE_RE = re.compile(
|
||||||
r"현대카드[^\n]*승인\s+"
|
r"현대카드[^\n]*(?P<kind>승인|취소)\s+"
|
||||||
r"(?P<who>\S+)\s+"
|
r"(?P<who>\S+)\s+"
|
||||||
r"(?P<amount>[\d,]+)\s*원[^\n]*?"
|
r"(?P<amount>[\d,]+)\s*원[^\n]*?"
|
||||||
r"\d{2}/\d{2}\s+\d{2}:\d{2}\s+"
|
r"\d{2}/\d{2}\s+\d{2}:\d{2}\s+"
|
||||||
@@ -211,13 +212,13 @@ HYUNDAI_CARD_APPROVE_INLINE_RE = re.compile(
|
|||||||
|
|
||||||
def parse_hyundai_card(raw: str, created_at: str) -> "dict | None":
|
def parse_hyundai_card(raw: str, created_at: str) -> "dict | None":
|
||||||
text = _normalize(raw).replace("[Web발신]", "").strip()
|
text = _normalize(raw).replace("[Web발신]", "").strip()
|
||||||
m = HYUNDAI_CARD_APPROVE_RE.search(text) or HYUNDAI_CARD_APPROVE_INLINE_RE.search(text)
|
m = HYUNDAI_CARD_RE.search(text) or HYUNDAI_CARD_INLINE_RE.search(text)
|
||||||
if not m:
|
if not m:
|
||||||
return None
|
return None
|
||||||
amount = int(m.group("amount").replace(",", ""))
|
amount = int(m.group("amount").replace(",", ""))
|
||||||
merchant = re.sub(r"\s+", " ", m.group("merchant").strip()) or "(가맹점없음)"
|
merchant = re.sub(r"\s+", " ", m.group("merchant").strip()) or "(가맹점없음)"
|
||||||
result = {
|
result = {
|
||||||
"kind": "card_approval",
|
"kind": "card_cancel" if m.group("kind") == "취소" else "card_approval",
|
||||||
"entry_date": _iso_to_kst_date(created_at),
|
"entry_date": _iso_to_kst_date(created_at),
|
||||||
"amount": amount,
|
"amount": amount,
|
||||||
"merchant": merchant,
|
"merchant": merchant,
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ from __future__ import annotations
|
|||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
import subprocess
|
|
||||||
import sys
|
import sys
|
||||||
import urllib.error
|
import urllib.error
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
@@ -22,6 +21,7 @@ from pathlib import Path
|
|||||||
from zoneinfo import ZoneInfo
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
import parsers as sms_parsers
|
import parsers as sms_parsers
|
||||||
|
import imsg_cli
|
||||||
import notify
|
import notify
|
||||||
import whooing_balance
|
import whooing_balance
|
||||||
import gahee_reminder
|
import gahee_reminder
|
||||||
@@ -209,7 +209,11 @@ MONEY_AMOUNT_RE = re.compile(r"(?:\d[\d,]*\s*원|(?:입금|출금)\s+\d[\d,]*)")
|
|||||||
|
|
||||||
# 주유소 카드 결제는 보통 150,000원 선승인 → 실제 주유금액 승인 → 150,000원 승인취소 순서로 온다.
|
# 주유소 카드 결제는 보통 150,000원 선승인 → 실제 주유금액 승인 → 150,000원 승인취소 순서로 온다.
|
||||||
# 선승인/취소는 후잉에 기록하지 않고, 실제 결제만 차량유지비/주유비로 남긴다.
|
# 선승인/취소는 후잉에 기록하지 않고, 실제 결제만 차량유지비/주유비로 남긴다.
|
||||||
FUEL_KEYWORDS = ("석유", "주유소", "주유")
|
# "현대가스"·"한경에너"는 상호에 주유/석유가 안 들어가는 충전소라 직접 등록 (2026-08-03 관리자님 확인).
|
||||||
|
# 새 주유소를 만나면 여기와 whooing_merchant_map.json contains **양쪽에** 상호를 추가한다 —
|
||||||
|
# 이 상수는 선승인/취소 스킵, merchant_map 은 실제 주유 결제 분류로 한 쌍이다.
|
||||||
|
# ⚠️ 한경에너는 선승인이 149,900원이라 FUEL_PREAUTH_AMOUNT 정확일치엔 안 걸린다(분류만 적용).
|
||||||
|
FUEL_KEYWORDS = ("석유", "주유소", "주유", "현대가스", "한경에너")
|
||||||
FUEL_PREAUTH_AMOUNT = 150_000
|
FUEL_PREAUTH_AMOUNT = 150_000
|
||||||
|
|
||||||
|
|
||||||
@@ -220,7 +224,7 @@ def _is_fuel_text(text: str) -> bool:
|
|||||||
def _should_skip_fuel_preauth(parsed: dict | None, text: str) -> bool:
|
def _should_skip_fuel_preauth(parsed: dict | None, text: str) -> bool:
|
||||||
"""주유소 15만원 선승인/취소 스킵.
|
"""주유소 15만원 선승인/취소 스킵.
|
||||||
|
|
||||||
parsed 가 있으면 구조화 필드 기준으로 판단한다. 현대카드 취소처럼 아직 파서가 없는 형식은
|
parsed 가 있으면 구조화 필드 기준으로 판단한다. 파서가 못 읽은 형식은 폴백으로
|
||||||
raw 텍스트에서 '취소' + '150,000원' + 주유 키워드 조합만 보수적으로 스킵한다.
|
raw 텍스트에서 '취소' + '150,000원' + 주유 키워드 조합만 보수적으로 스킵한다.
|
||||||
"""
|
"""
|
||||||
if parsed:
|
if parsed:
|
||||||
@@ -281,39 +285,33 @@ def resolve_chat_ids(carriers):
|
|||||||
needed = set(carriers.keys())
|
needed = set(carriers.keys())
|
||||||
if needed.issubset(cached_keys):
|
if needed.issubset(cached_keys):
|
||||||
return {k: cached[k] for k in needed}
|
return {k: cached[k] for k in needed}
|
||||||
try:
|
chats, err = imsg_cli.chats(IMSG_TIMEOUT)
|
||||||
chats_raw = subprocess.run(
|
if err:
|
||||||
["imsg", "chats", "--json"],
|
print(f"❌ imsg chats 실행 실패: {err}", file=sys.stderr)
|
||||||
capture_output=True, text=True, timeout=IMSG_TIMEOUT,
|
|
||||||
)
|
|
||||||
chats = [json.loads(l) for l in chats_raw.stdout.splitlines() if l.strip()]
|
|
||||||
except FileNotFoundError:
|
|
||||||
print("❌ imsg CLI가 설치되어 있지 않습니다.", file=sys.stderr)
|
|
||||||
sys.exit(3)
|
|
||||||
except Exception as e:
|
|
||||||
print(f"❌ imsg chats 실행 실패: {e}", file=sys.stderr)
|
|
||||||
sys.exit(3)
|
sys.exit(3)
|
||||||
result = {}
|
result = {}
|
||||||
for sender in carriers.keys():
|
for sender in carriers.keys():
|
||||||
ids = [c["id"] for c in chats if c.get("identifier") == sender and c.get("id") is not None]
|
ids = [c["id"] for c in chats if c.get("identifier") == sender and c.get("id") is not None]
|
||||||
result[sender] = ids
|
result[sender] = ids
|
||||||
|
# 전 carrier 가 빈 리스트면 조회 자체가 실패한 것으로 본다. 이 상태를 캐시에 저장하면
|
||||||
|
# 이후 모든 실행(launchd 포함)이 캐시에 적중해 조용히 0건 수집을 영구 반복한다.
|
||||||
|
# 일부만 비는 건 정상 — 메시지 이력이 없는 carrier 가 있을 수 있다.
|
||||||
|
if not any(result.values()):
|
||||||
|
print("❌ imsg chats 결과에 매핑된 발신번호가 하나도 없습니다 — 캐시 저장 안 함", file=sys.stderr)
|
||||||
|
sys.exit(3)
|
||||||
save_json(CHAT_IDS_CACHE, result)
|
save_json(CHAT_IDS_CACHE, result)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def fetch_messages(chat_id, since):
|
def fetch_messages(chat_id, since):
|
||||||
cmd = ["imsg", "history", "--chat-id", str(chat_id), "--limit", str(HISTORY_LIMIT), "--json"]
|
args = ["history", "--chat-id", str(chat_id), "--limit", str(HISTORY_LIMIT), "--json"]
|
||||||
if since:
|
if since:
|
||||||
cmd += ["--start", since]
|
args += ["--start", since]
|
||||||
try:
|
rows, err = imsg_cli.run_json(args, IMSG_TIMEOUT)
|
||||||
raw = subprocess.run(cmd, capture_output=True, text=True, timeout=IMSG_TIMEOUT)
|
if err:
|
||||||
return [json.loads(l) for l in raw.stdout.splitlines() if l.strip()]
|
print(f"⚠️ chat-id {chat_id} history 실패: {err}", file=sys.stderr)
|
||||||
except subprocess.TimeoutExpired:
|
|
||||||
print(f"⚠️ chat-id {chat_id} history 타임아웃", file=sys.stderr)
|
|
||||||
return []
|
|
||||||
except Exception as e:
|
|
||||||
print(f"⚠️ chat-id {chat_id} history 실패: {e}", file=sys.stderr)
|
|
||||||
return []
|
return []
|
||||||
|
return rows
|
||||||
|
|
||||||
|
|
||||||
# --- 룰 엔진 (whooing_overrides.json) -----------------------------------------
|
# --- 룰 엔진 (whooing_overrides.json) -----------------------------------------
|
||||||
@@ -518,7 +516,19 @@ def build_structured(parsed, sender_info, accounts, merchant_map):
|
|||||||
return {**base, "left": "기타비용", "right": carrier_acct}
|
return {**base, "left": "기타비용", "right": carrier_acct}
|
||||||
|
|
||||||
if kind == "card_cancel":
|
if kind == "card_cancel":
|
||||||
return None # raw 폴백 (후잉이 원거래 찾아 상쇄)
|
# 승인의 역분개. 승인이 {left: 비용, right: 카드} 이므로 좌우를 뒤집는다.
|
||||||
|
# 부분취소(취소액 != 승인액)도 취소 문자 금액 그대로 상쇄되어 맞는다.
|
||||||
|
if rule:
|
||||||
|
left = rule.get("left")
|
||||||
|
if left:
|
||||||
|
out = {**base, "left": rule.get("right") or carrier_acct, "right": left}
|
||||||
|
if rule.get("item"):
|
||||||
|
out["item"] = rule["item"]
|
||||||
|
return out
|
||||||
|
return None
|
||||||
|
if cat:
|
||||||
|
return {**base, "left": carrier_acct, "right": cat}
|
||||||
|
return {**base, "left": carrier_acct, "right": "기타비용"}
|
||||||
|
|
||||||
if kind == "withdrawal":
|
if kind == "withdrawal":
|
||||||
if rule:
|
if rule:
|
||||||
|
|||||||
@@ -98,3 +98,5 @@
|
|||||||
{"date": "2026-07-30", "market": "KOSPI", "market_label": "코스피", "rise": 609, "upper": 4, "fall": 277, "lower": 0, "steady": 30, "adr": 221.3, "personal": -14309, "foreign": 13280, "institutional": 805, "captured_at": "2026-07-30T21:00:02.501493+09:00"}
|
{"date": "2026-07-30", "market": "KOSPI", "market_label": "코스피", "rise": 609, "upper": 4, "fall": 277, "lower": 0, "steady": 30, "adr": 221.3, "personal": -14309, "foreign": 13280, "institutional": 805, "captured_at": "2026-07-30T21:00:02.501493+09:00"}
|
||||||
{"date": "2026-07-31", "market": "KOSDAQ", "market_label": "코스닥", "rise": 1557, "upper": 14, "fall": 141, "lower": 0, "steady": 30, "adr": 1114.18, "personal": -4715, "foreign": 1697, "institutional": 2985, "captured_at": "2026-07-31T21:00:02.143730+09:00"}
|
{"date": "2026-07-31", "market": "KOSDAQ", "market_label": "코스닥", "rise": 1557, "upper": 14, "fall": 141, "lower": 0, "steady": 30, "adr": 1114.18, "personal": -4715, "foreign": 1697, "institutional": 2985, "captured_at": "2026-07-31T21:00:02.143730+09:00"}
|
||||||
{"date": "2026-07-31", "market": "KOSPI", "market_label": "코스피", "rise": 775, "upper": 12, "fall": 127, "lower": 0, "steady": 15, "adr": 619.69, "personal": -82840, "foreign": 72410, "institutional": 11503, "captured_at": "2026-07-31T21:00:02.143730+09:00"}
|
{"date": "2026-07-31", "market": "KOSPI", "market_label": "코스피", "rise": 775, "upper": 12, "fall": 127, "lower": 0, "steady": 15, "adr": 619.69, "personal": -82840, "foreign": 72410, "institutional": 11503, "captured_at": "2026-07-31T21:00:02.143730+09:00"}
|
||||||
|
{"date": "2026-08-03", "market": "KOSDAQ", "market_label": "코스닥", "rise": 1170, "upper": 11, "fall": 468, "lower": 0, "steady": 89, "adr": 252.35, "personal": 302, "foreign": -2092, "institutional": 1669, "captured_at": "2026-08-03T21:00:05.036019+09:00"}
|
||||||
|
{"date": "2026-08-03", "market": "KOSPI", "market_label": "코스피", "rise": 455, "upper": 3, "fall": 419, "lower": 0, "steady": 43, "adr": 109.31, "personal": 46523, "foreign": -28220, "institutional": -19516, "captured_at": "2026-08-03T21:00:05.036019+09:00"}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 15638954.576999987,
|
"cash": 6056967.494499985,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"010950": {
|
"010950": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5572914.42378125,
|
"tranche_value": 5572914.42378125,
|
||||||
"last_add_price": 130800
|
"last_add_price": 130800
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5505297.51634375,
|
"tranche_value": 5505297.51634375,
|
||||||
"last_add_price": 6030
|
"last_add_price": 6030
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5640114.3750312505,
|
"tranche_value": 5640114.3750312505,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,643 도달",
|
"entry_reason": "눌림목 지정가 19,643 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5547990.7530625,
|
"tranche_value": 5547990.7530625,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3612125.2394573665,
|
"tranche_value": 3612125.2394573665,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5035879.961218749,
|
"tranche_value": 5035879.961218749,
|
||||||
"last_add_price": 127700
|
"last_add_price": 127700
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 728,
|
||||||
|
"entry_price": 13160.096153846154,
|
||||||
|
"entry_at": "2026-08-03T12:00:10.581409+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4803063.4110624995,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23318600.42950002,
|
"realized_pnl": -23318600.42950002,
|
||||||
@@ -150,5 +171,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-11T09:00:01.943184+09:00",
|
"created_at": "2026-06-11T09:00:01.943184+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.174717+09:00"
|
"updated_at": "2026-08-03T15:28:07.820881+09:00"
|
||||||
}
|
}
|
||||||
@@ -65,3 +65,5 @@
|
|||||||
{"ts": "2026-07-30T10:10:06.142998+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 39, "cost": 4981047, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113673, "target": 155380, "signals": [{"label": "손절선", "ok": true, "detail": "113,673 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 155,380"}, {"label": "추세(10일선)", "ok": true, "detail": "117,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
|
{"ts": "2026-07-30T10:10:06.142998+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 39, "cost": 4981047, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113673, "target": 155380, "signals": [{"label": "손절선", "ok": true, "detail": "113,673 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 155,380"}, {"label": "추세(10일선)", "ok": true, "detail": "117,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
|
||||||
{"ts": "2026-07-31T09:06:05.825941+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 551, "cost": 3609591, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:05.825941+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 551, "cost": 3609591, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.330737+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 120, "proceeds": 9305818, "entry_price": 89875, "pnl": -1480800, "pnl_pct": -13.55, "hold_from": "2026-07-23T09:46:06.299578+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,839 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,984"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:06.330737+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 120, "proceeds": 9305818, "entry_price": 89875, "pnl": -1480800, "pnl_pct": -13.55, "hold_from": "2026-07-23T09:46:06.299578+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,839 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,984"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:10.581416+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 371, "cost": 4790328, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:08.464738+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 357, "cost": 4791659, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 49968605.94800002,
|
"cash": 42966325.76350002,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3936003.3225085386,
|
"tranche_value": 3936003.3225085386,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5296043.025056097,
|
"tranche_value": 5296043.025056097,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,653 도달",
|
"entry_reason": "눌림목 지정가 19,653 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5514104.658843751,
|
"tranche_value": 5514104.658843751,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2020237.3208749255,
|
"tranche_value": 2020237.3208749255,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3949543.523644232,
|
"tranche_value": 3949543.523644232,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5464347.78131507,
|
"tranche_value": 5464347.78131507,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 532,
|
||||||
|
"entry_price": 13160.206766917294,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.186392+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 15733,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3504336.4241500003,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -13204780.888500012,
|
"realized_pnl": -13204780.888500012,
|
||||||
@@ -151,5 +172,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-11T09:00:01.944232+09:00",
|
"created_at": "2026-06-11T09:00:01.944232+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.234615+09:00"
|
"updated_at": "2026-08-03T15:28:08.496243+09:00"
|
||||||
}
|
}
|
||||||
@@ -64,3 +64,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:06.667546+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:06.667546+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.408818+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 308, "cost": 2017703, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:06.408818+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 308, "cost": 2017703, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.408934+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 85, "proceeds": 6591621, "entry_price": 89534, "pnl": -1019920, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.505016+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,555 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,003"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:06.408934+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 85, "proceeds": 6591621, "entry_price": 89534, "pnl": -1019920, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.505016+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,555 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,003"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.186394+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 271, "cost": 3499135, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 15304, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.141957+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 261, "cost": 3503145, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 38185549.56900006,
|
"cash": 31209603.334000062,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3962363.617644489,
|
"tranche_value": 3962363.617644489,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5549046.703468754,
|
"tranche_value": 5549046.703468754,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5150762.675171776,
|
"tranche_value": 5150762.675171776,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,019 도달",
|
"entry_reason": "눌림목 지정가 20,019 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5467064.310906254,
|
"tranche_value": 5467064.310906254,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2002983.4606684945,
|
"tranche_value": 2002983.4606684945,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3940896.531574532,
|
"tranche_value": 3940896.531574532,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -144,10 +144,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5453229.880263703,
|
"tranche_value": 5453229.880263703,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 530,
|
||||||
|
"entry_price": 13160.188679245282,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.189297+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3497500.5799993444,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -14128128.55550002,
|
"realized_pnl": -14128128.55550002,
|
||||||
@@ -173,5 +194,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-11T09:00:01.944251+09:00",
|
"created_at": "2026-06-11T09:00:01.944251+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.236534+09:00"
|
"updated_at": "2026-08-03T15:28:08.498657+09:00"
|
||||||
}
|
}
|
||||||
@@ -82,3 +82,5 @@
|
|||||||
{"ts": "2026-07-30T09:26:06.866302+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 865, "cost": 5450317, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
|
{"ts": "2026-07-30T09:26:06.866302+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 865, "cost": 5450317, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.410935+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 305, "cost": 1998050, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:06.410935+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 305, "cost": 1998050, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.411045+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 86, "proceeds": 6669170, "entry_price": 89519, "pnl": -1030585, "pnl_pct": -13.2, "hold_from": "2026-07-23T09:50:01.507036+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,539 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 105,988"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:06.411045+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 86, "proceeds": 6669170, "entry_price": 89519, "pnl": -1030585, "pnl_pct": -13.2, "hold_from": "2026-07-23T09:50:01.507036+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,539 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 105,988"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.189299+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 270, "cost": 3486223, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 15304, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.144443+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 260, "cost": 3489723, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 33545438.188500047,
|
"cash": 24471921.457000043,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4980582.661409654,
|
"tranche_value": 4980582.661409654,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5535494.525500003,
|
"tranche_value": 5535494.525500003,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 2,135 도달",
|
"entry_reason": "눌림목 지정가 2,135 도달",
|
||||||
"cur_price": 1911,
|
"cur_price": 1905,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2595536.5029300014,
|
"tranche_value": 2595536.5029300014,
|
||||||
"last_add_price": 1951
|
"last_add_price": 1951
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5213821.568625003,
|
"tranche_value": 5213821.568625003,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -102,35 +102,56 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2521548.49371356,
|
"tranche_value": 2521548.49371356,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
},
|
},
|
||||||
"010950": {
|
"090850": {
|
||||||
"code": "010950",
|
"code": "090850",
|
||||||
"name": "S-Oil",
|
"name": "현대이지웰",
|
||||||
"sources": [
|
"sources": [
|
||||||
"auto"
|
"auto"
|
||||||
],
|
],
|
||||||
"qty": 37,
|
"qty": 804,
|
||||||
"entry_price": 131800,
|
"entry_price": 6120,
|
||||||
"entry_at": "2026-07-30T09:24:06.917508+09:00",
|
"entry_at": "2026-08-03T09:44:09.371421+09:00",
|
||||||
"stop": 120690,
|
"stop": 5752,
|
||||||
"target": 154020,
|
"target": 6857,
|
||||||
"peak": 132700,
|
"peak": 6160,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4970364.152582046,
|
"tranche_value": 4926883.783968752,
|
||||||
"last_add_price": 131800
|
"last_add_price": 6120
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 653,
|
||||||
|
"entry_price": 13159.923430321593,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.776417+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4300842.818074627,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -20473865.741500027,
|
"realized_pnl": -20908776.87650003,
|
||||||
"closed_trades": 40,
|
"closed_trades": 41,
|
||||||
"wins": 3,
|
"wins": 3,
|
||||||
"peak_equity": 101695667.93550003,
|
"peak_equity": 101695667.93550003,
|
||||||
"max_drawdown": 0.23379971074166161,
|
"max_drawdown": 0.23379971074166161,
|
||||||
@@ -150,11 +171,11 @@
|
|||||||
"086790": "2026-07-21",
|
"086790": "2026-07-21",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"252990": "2026-07-28",
|
"252990": "2026-07-28",
|
||||||
"010950": "2026-07-29",
|
"010950": "2026-08-03",
|
||||||
"090850": "2026-07-29",
|
"090850": "2026-07-29",
|
||||||
"161890": "2026-07-30",
|
"161890": "2026-07-30",
|
||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-11T09:00:01.944270+09:00",
|
"created_at": "2026-06-11T09:00:01.944270+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.717156+09:00"
|
"updated_at": "2026-08-03T15:28:09.080297+09:00"
|
||||||
}
|
}
|
||||||
@@ -112,3 +112,7 @@
|
|||||||
{"ts": "2026-07-30T11:58:07.822065+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 110, "proceeds": 10067330, "entry_price": 101115, "pnl": -1056938, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.813457+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,144"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-30T11:58:07.822065+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 110, "proceeds": 10067330, "entry_price": 101115, "pnl": -1056938, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.813457+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,144"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:04:07.266662+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 107, "proceeds": 7379282, "entry_price": 89537, "pnl": -2202655, "pnl_pct": -22.83, "hold_from": "2026-07-23T09:50:01.509012+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,303 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,006"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:07.266662+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 107, "proceeds": 7379282, "entry_price": 89537, "pnl": -2202655, "pnl_pct": -22.83, "hold_from": "2026-07-23T09:50:01.509012+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,303 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,006"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.413012+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 384, "cost": 2515577, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:06.413012+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 384, "cost": 2515577, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
|
{"ts": "2026-08-03T09:34:07.943956+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 120300, "qty": 37, "proceeds": 4442420, "entry_price": 131800, "pnl": -434911, "pnl_pct": -8.73, "hold_from": "2026-07-30T09:24:06.917508+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,690 (현재 120,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,020"}, {"label": "추세(20일선)", "ok": true, "detail": "108,345"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 135,311"}]}
|
||||||
|
{"ts": "2026-08-03T09:44:09.371424+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6120, "qty": 804, "cost": 4921218, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5752, "target": 6857, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 5,345"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,690 / 5,345"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,690 / 5,618"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +80 · 기 +5 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.61% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "132,260 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.61% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.776427+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 333, "cost": 4299675, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 15304, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.723448+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 320, "cost": 4295044, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 24308308.2,
|
"cash": 19960067.561499998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5156172.079657566,
|
"tranche_value": 5156172.079657566,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,012 도달",
|
"entry_reason": "눌림목 지정가 20,012 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5806232.125812501,
|
"tranche_value": 5806232.125812501,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5368293.320125001,
|
"tranche_value": 5368293.320125001,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5180051.180047499,
|
"tranche_value": 5180051.180047499,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,32 +102,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2599049.62031184,
|
"tranche_value": 2599049.62031184,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 38,
|
|
||||||
"entry_price": 131800,
|
|
||||||
"entry_at": "2026-07-30T09:24:07.511679+09:00",
|
|
||||||
"stop": 120690,
|
|
||||||
"target": 154020,
|
|
||||||
"peak": 132700,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 5127095.802498201,
|
|
||||||
"last_add_price": 131800
|
|
||||||
},
|
|
||||||
"090850": {
|
"090850": {
|
||||||
"code": "090850",
|
"code": "090850",
|
||||||
"name": "현대이지웰",
|
"name": "현대이지웰",
|
||||||
@@ -144,14 +123,35 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5392894.7928125,
|
"tranche_value": 5392894.7928125,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 677,
|
||||||
|
"entry_price": 13160.10339734121,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.789224+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4464385.527789056,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -17861628.591500025,
|
"realized_pnl": -18308294.081500027,
|
||||||
"closed_trades": 32,
|
"closed_trades": 33,
|
||||||
"wins": 2,
|
"wins": 2,
|
||||||
"peak_equity": 101690998.13850003,
|
"peak_equity": 101690998.13850003,
|
||||||
"max_drawdown": 0.2049465569225206,
|
"max_drawdown": 0.2049465569225206,
|
||||||
@@ -168,10 +168,10 @@
|
|||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"252990": "2026-07-28",
|
"252990": "2026-07-28",
|
||||||
"010950": "2026-07-29",
|
"010950": "2026-08-03",
|
||||||
"090850": "2026-07-29",
|
"090850": "2026-07-29",
|
||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-11T09:00:01.944290+09:00",
|
"created_at": "2026-06-11T09:00:01.944290+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.724720+09:00"
|
"updated_at": "2026-08-03T15:28:09.092028+09:00"
|
||||||
}
|
}
|
||||||
@@ -92,3 +92,6 @@
|
|||||||
{"ts": "2026-07-30T09:26:07.458683+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 855, "cost": 5387308, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
|
{"ts": "2026-07-30T09:26:07.458683+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 855, "cost": 5387308, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
|
||||||
{"ts": "2026-07-31T09:04:07.865082+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 112, "proceeds": 7724109, "entry_price": 89526, "pnl": -2304295, "pnl_pct": -22.82, "hold_from": "2026-07-23T09:50:01.510934+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,291 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 105,995"}, {"label": "추세(10일선)", "ok": false, "detail": "80,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:07.865082+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 112, "proceeds": 7724109, "entry_price": 89526, "pnl": -2304295, "pnl_pct": -22.82, "hold_from": "2026-07-23T09:50:01.510934+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,291 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 105,995"}, {"label": "추세(10일선)", "ok": false, "detail": "80,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:06.999372+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 396, "cost": 2594189, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:06.999372+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 396, "cost": 2594189, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
|
{"ts": "2026-08-03T09:34:08.538141+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 120300, "qty": 38, "proceeds": 4562486, "entry_price": 131800, "pnl": -446665, "pnl_pct": -8.73, "hold_from": "2026-07-30T09:24:07.511679+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,690 (현재 120,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,020"}, {"label": "추세(10일선)", "ok": true, "detail": "107,510"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 135,311"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.789230+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 345, "cost": 4454618, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 15304, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.735696+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 332, "cost": 4456108, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 22210919.810999956,
|
"cash": 13326527.351999957,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5184250.1290937485,
|
"tranche_value": 5184250.1290937485,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5024795.592812498,
|
"tranche_value": 5024795.592812498,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4675255.455593748,
|
"tranche_value": 4675255.455593748,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4550435.925312498,
|
"tranche_value": 4550435.925312498,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3342107.250162302,
|
"tranche_value": 3342107.250162302,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4604300.898906248,
|
"tranche_value": 4604300.898906248,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -144,10 +144,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4614360.447343747,
|
"tranche_value": 4614360.447343747,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 675,
|
||||||
|
"entry_price": 13160.08888888889,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.797603+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4446388.7381874975,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -29529982.41000002,
|
"realized_pnl": -29529982.41000002,
|
||||||
@@ -178,5 +199,5 @@
|
|||||||
"161890": "2026-07-30"
|
"161890": "2026-07-30"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582771+09:00",
|
"created_at": "2026-06-15T14:55:00.582771+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.731203+09:00"
|
"updated_at": "2026-08-03T15:28:09.100012+09:00"
|
||||||
}
|
}
|
||||||
@@ -95,3 +95,5 @@
|
|||||||
{"ts": "2026-07-30T12:04:07.816772+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 50, "cost": 4395659, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 121481, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
{"ts": "2026-07-30T12:04:07.816772+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 50, "cost": 4395659, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 121481, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.006134+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 510, "cost": 3341001, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.006134+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 510, "cost": 3341001, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:08:08.203881+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69600, "qty": 50, "proceeds": 3473214, "entry_price": 87900, "pnl": -922445, "pnl_pct": -20.82, "hold_from": "2026-07-30T12:04:07.816765+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "76,706 (현재 69,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 121,481"}, {"label": "추세(20일선)", "ok": false, "detail": "74,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,095"}]}
|
{"ts": "2026-07-31T09:08:08.203881+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69600, "qty": 50, "proceeds": 3473214, "entry_price": 87900, "pnl": -922445, "pnl_pct": -20.82, "hold_from": "2026-07-30T12:04:07.816765+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "76,706 (현재 69,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 121,481"}, {"label": "추세(20일선)", "ok": false, "detail": "74,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,095"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.797607+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 344, "cost": 4441706, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.743142+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 331, "cost": 4442686, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 19486471.809999954,
|
"cash": 9654567.245499954,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5435113.820843748,
|
"tranche_value": 5435113.820843748,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5357608.233093748,
|
"tranche_value": 5357608.233093748,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5057738.410843747,
|
"tranche_value": 5057738.410843747,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5030428.7588749975,
|
"tranche_value": 5030428.7588749975,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3698158.582805608,
|
"tranche_value": 3698158.582805608,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5098537.405531247,
|
"tranche_value": 5098537.405531247,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -144,10 +144,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5110875.1474062465,
|
"tranche_value": 5110875.1474062465,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 747,
|
||||||
|
"entry_price": 13159.87951807229,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.803724+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4920739.488124997,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -21962166.803000025,
|
"realized_pnl": -21962166.803000025,
|
||||||
@@ -178,5 +199,5 @@
|
|||||||
"161890": "2026-07-30"
|
"161890": "2026-07-30"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582787+09:00",
|
"created_at": "2026-06-15T14:55:00.582787+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.735916+09:00"
|
"updated_at": "2026-08-03T15:28:09.105445+09:00"
|
||||||
}
|
}
|
||||||
@@ -102,3 +102,5 @@
|
|||||||
{"ts": "2026-07-30T12:04:07.823153+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 56, "cost": 4923138, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 104690, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
{"ts": "2026-07-30T12:04:07.823153+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 56, "cost": 4923138, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 104690, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.012482+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 564, "cost": 3694754, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.012482+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 564, "cost": 3694754, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:08:08.210477+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69600, "qty": 56, "proceeds": 3890000, "entry_price": 87900, "pnl": -1033139, "pnl_pct": -20.82, "hold_from": "2026-07-30T12:04:07.823150+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "76,706 (현재 69,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,690"}, {"label": "추세(20일선)", "ok": false, "detail": "74,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,095"}]}
|
{"ts": "2026-07-31T09:08:08.210477+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69600, "qty": 56, "proceeds": 3890000, "entry_price": 87900, "pnl": -1033139, "pnl_pct": -20.82, "hold_from": "2026-07-30T12:04:07.823150+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "76,706 (현재 69,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,690"}, {"label": "추세(20일선)", "ok": false, "detail": "74,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,095"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.803727+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 381, "cost": 4919448, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 15304, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.749937+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 366, "cost": 4912457, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 17388318.038999956,
|
"cash": 8214252.135499956,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5274205.950343749,
|
"tranche_value": 5274205.950343749,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5136044.188124998,
|
"tranche_value": 5136044.188124998,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4798325.220406247,
|
"tranche_value": 4798325.220406247,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4697478.874937497,
|
"tranche_value": 4697478.874937497,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3453556.2895330573,
|
"tranche_value": 3453556.2895330573,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4762406.753156248,
|
"tranche_value": 4762406.753156248,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -144,10 +144,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4773756.949406248,
|
"tranche_value": 4773756.949406248,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 697,
|
||||||
|
"entry_price": 13160.243902439024,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.808646+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 16590,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4594021.1274374975,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -27173467.47600003,
|
"realized_pnl": -27173467.47600003,
|
||||||
@@ -178,5 +199,5 @@
|
|||||||
"161890": "2026-07-30"
|
"161890": "2026-07-30"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582803+09:00",
|
"created_at": "2026-06-15T14:55:00.582803+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.740802+09:00"
|
"updated_at": "2026-08-03T15:28:09.109956+09:00"
|
||||||
}
|
}
|
||||||
@@ -96,3 +96,5 @@
|
|||||||
{"ts": "2026-07-30T12:04:07.828079+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 52, "cost": 4571486, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 110287, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
{"ts": "2026-07-30T12:04:07.828079+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 52, "cost": 4571486, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 110287, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.018008+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 527, "cost": 3452368, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.018008+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 527, "cost": 3452368, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:08:08.215128+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69600, "qty": 52, "proceeds": 3612143, "entry_price": 87900, "pnl": -959343, "pnl_pct": -20.82, "hold_from": "2026-07-30T12:04:07.828076+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "76,706 (현재 69,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 110,287"}, {"label": "추세(20일선)", "ok": false, "detail": "74,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,095"}]}
|
{"ts": "2026-07-31T09:08:08.215128+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69600, "qty": 52, "proceeds": 3612143, "entry_price": 87900, "pnl": -959343, "pnl_pct": -20.82, "hold_from": "2026-07-30T12:04:07.828076+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "76,706 (현재 69,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 110,287"}, {"label": "추세(20일선)", "ok": false, "detail": "74,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,095"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.808649+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 355, "cost": 4583737, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 16103, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.754781+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 342, "cost": 4590328, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 16103, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,103"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 24200670.842000015,
|
"cash": 20039127.409000013,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4947379.149752503,
|
"tranche_value": 4947379.149752503,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5342833.247656252,
|
"tranche_value": 5342833.247656252,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5120146.001656252,
|
"tranche_value": 5120146.001656252,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4929642.288776176,
|
"tranche_value": 4929642.288776176,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,32 +102,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2477780.379475499,
|
"tranche_value": 2477780.379475499,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 37,
|
|
||||||
"entry_price": 130900,
|
|
||||||
"entry_at": "2026-07-30T09:16:11.935111+09:00",
|
|
||||||
"stop": 119833,
|
|
||||||
"target": 153035,
|
|
||||||
"peak": 132700,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 4848771.68070699,
|
|
||||||
"last_add_price": 130900
|
|
||||||
},
|
|
||||||
"090850": {
|
"090850": {
|
||||||
"code": "090850",
|
"code": "090850",
|
||||||
"name": "현대이지웰",
|
"name": "현대이지웰",
|
||||||
@@ -144,14 +123,35 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5134489.040718751,
|
"tranche_value": 5134489.040718751,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 652,
|
||||||
|
"entry_price": 13160.306748466257,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.814094+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 15733,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4296364.655919675,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -20894634.689000033,
|
"realized_pnl": -21318397.539000034,
|
||||||
"closed_trades": 46,
|
"closed_trades": 47,
|
||||||
"wins": 4,
|
"wins": 4,
|
||||||
"peak_equity": 101291892.54300004,
|
"peak_equity": 101291892.54300004,
|
||||||
"max_drawdown": 0.2315722523502305,
|
"max_drawdown": 0.2315722523502305,
|
||||||
@@ -173,11 +173,11 @@
|
|||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"252990": "2026-07-28",
|
"252990": "2026-07-28",
|
||||||
"078930": "2026-07-31",
|
"078930": "2026-07-31",
|
||||||
"010950": "2026-07-29",
|
"010950": "2026-08-03",
|
||||||
"090850": "2026-07-29",
|
"090850": "2026-07-29",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"161890": "2026-07-30"
|
"161890": "2026-07-30"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582834+09:00",
|
"created_at": "2026-06-15T14:55:00.582834+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.745765+09:00"
|
"updated_at": "2026-08-03T15:28:09.115508+09:00"
|
||||||
}
|
}
|
||||||
@@ -126,3 +126,6 @@
|
|||||||
{"ts": "2026-07-30T12:04:07.833676+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 47, "cost": 4131920, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 79505, "target": 104690, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
{"ts": "2026-07-30T12:04:07.833676+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 47, "cost": 4131920, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 79505, "target": 104690, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.022640+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 378, "cost": 2476271, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.022640+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 378, "cost": 2476271, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.022939+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 47, "proceeds": 3644779, "entry_price": 87900, "pnl": -487141, "pnl_pct": -11.6, "hold_from": "2026-07-30T12:04:07.833673+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "79,505 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,690"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,898"}]}
|
{"ts": "2026-07-31T09:06:07.022939+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 47, "proceeds": 3644779, "entry_price": 87900, "pnl": -487141, "pnl_pct": -11.6, "hold_from": "2026-07-30T12:04:07.833673+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "79,505 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,690"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,898"}]}
|
||||||
|
{"ts": "2026-08-03T09:36:12.036330+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 119700, "qty": 37, "proceeds": 4420264, "entry_price": 130900, "pnl": -423763, "pnl_pct": -8.56, "hold_from": "2026-07-30T09:16:11.935111+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,833 (현재 119,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 153,035"}, {"label": "추세(20일선)", "ok": true, "detail": "108,315"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 134,411"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.814098+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 332, "cost": 4286763, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 15304, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.760295+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 320, "cost": 4295044, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41908364.43499994,
|
"cash": 37484700.357499935,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,32 +18,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5132330.379099764,
|
"tranche_value": 5132330.379099764,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 38,
|
|
||||||
"entry_price": 131400,
|
|
||||||
"entry_at": "2026-07-29T09:52:02.378116+09:00",
|
|
||||||
"stop": 120086,
|
|
||||||
"target": 148371,
|
|
||||||
"peak": 133100,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 5079550.709806033,
|
|
||||||
"last_add_price": 131400
|
|
||||||
},
|
|
||||||
"030000": {
|
"030000": {
|
||||||
"code": "030000",
|
"code": "030000",
|
||||||
"name": "제일기획",
|
"name": "제일기획",
|
||||||
@@ -60,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,653 도달",
|
"entry_reason": "눌림목 지정가 19,653 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5395527.728156246,
|
"tranche_value": 5395527.728156246,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -81,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2634409.858223602,
|
"tranche_value": 2634409.858223602,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5443355.1048749965,
|
"tranche_value": 5443355.1048749965,
|
||||||
"last_add_price": 127700
|
"last_add_price": 127700
|
||||||
@@ -123,14 +102,35 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5443877.577062497,
|
"tranche_value": 5443877.577062497,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 681,
|
||||||
|
"entry_price": 13160.132158590308,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.819202+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 15089,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4489026.732352336,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -16500027.759500023,
|
"realized_pnl": -16954246.509500023,
|
||||||
"closed_trades": 40,
|
"closed_trades": 41,
|
||||||
"wins": 5,
|
"wins": 5,
|
||||||
"peak_equity": 100161893.89500001,
|
"peak_equity": 100161893.89500001,
|
||||||
"max_drawdown": 0.18418431144422467,
|
"max_drawdown": 0.18418431144422467,
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
"319660": "2026-07-23",
|
"319660": "2026-07-23",
|
||||||
"095610": "2026-07-29",
|
"095610": "2026-07-29",
|
||||||
"105560": "2026-07-20",
|
"105560": "2026-07-20",
|
||||||
"010950": "2026-07-27",
|
"010950": "2026-08-03",
|
||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"138040": "2026-07-29",
|
"138040": "2026-07-29",
|
||||||
@@ -157,5 +157,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582849+09:00",
|
"created_at": "2026-06-15T14:55:00.582849+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.750722+09:00"
|
"updated_at": "2026-08-03T15:28:09.119728+09:00"
|
||||||
}
|
}
|
||||||
@@ -103,3 +103,6 @@
|
|||||||
{"ts": "2026-07-30T10:10:07.436089+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 42, "cost": 5364205, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 135830, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,830"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
|
{"ts": "2026-07-30T10:10:07.436089+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 42, "cost": 5364205, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 135830, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,830"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
|
||||||
{"ts": "2026-07-31T09:04:07.898708+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 112, "proceeds": 7724109, "entry_price": 89873, "pnl": -2343201, "pnl_pct": -23.11, "hold_from": "2026-07-23T09:46:06.366617+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,596 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 102,289"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:07.898708+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 112, "proceeds": 7724109, "entry_price": 89873, "pnl": -2343201, "pnl_pct": -23.11, "hold_from": "2026-07-23T09:46:06.366617+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,596 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 102,289"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.027654+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 402, "cost": 2633495, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 7634, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,634"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.027654+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 402, "cost": 2633495, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 7634, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,634"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
|
{"ts": "2026-08-03T09:36:12.040975+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 119700, "qty": 38, "proceeds": 4539730, "entry_price": 131400, "pnl": -454219, "pnl_pct": -8.9, "hold_from": "2026-07-29T09:52:02.378116+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,086 (현재 119,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 148,371"}, {"label": "추세(20일선)", "ok": true, "detail": "108,315"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 134,911"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.819206+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 347, "cost": 4480442, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 14706, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.764716+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 334, "cost": 4482952, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 14706, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,706"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 32209442.72799997,
|
"cash": 28139104.305999972,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4992940.599795671,
|
"tranche_value": 4992940.599795671,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,673 도달",
|
"entry_reason": "눌림목 지정가 19,673 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5527839.1075312495,
|
"tranche_value": 5527839.1075312495,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,32 +60,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2465159.461256131,
|
"tranche_value": 2465159.461256131,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 36,
|
|
||||||
"entry_price": 130900,
|
|
||||||
"entry_at": "2026-07-30T09:16:11.943255+09:00",
|
|
||||||
"stop": 119833,
|
|
||||||
"target": 164102,
|
|
||||||
"peak": 132700,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 4808410.164930106,
|
|
||||||
"last_add_price": 130900
|
|
||||||
},
|
|
||||||
"138040": {
|
"138040": {
|
||||||
"code": "138040",
|
"code": "138040",
|
||||||
"name": "메리츠금융지주",
|
"name": "메리츠금융지주",
|
||||||
@@ -102,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5091414.859187499,
|
"tranche_value": 5091414.859187499,
|
||||||
"last_add_price": 127700
|
"last_add_price": 127700
|
||||||
@@ -123,14 +102,35 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5091812.158249998,
|
"tranche_value": 5091812.158249998,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 636,
|
||||||
|
"entry_price": 13160.188679245282,
|
||||||
|
"entry_at": "2026-08-03T12:00:11.823815+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 17019,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4188989.7646745183,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -22148642.011500027,
|
"realized_pnl": -22560951.811500028,
|
||||||
"closed_trades": 37,
|
"closed_trades": 38,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100161893.89500001,
|
"peak_equity": 100161893.89500001,
|
||||||
"max_drawdown": 0.24013794300070365,
|
"max_drawdown": 0.24013794300070365,
|
||||||
@@ -151,11 +151,11 @@
|
|||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"252990": "2026-07-28",
|
"252990": "2026-07-28",
|
||||||
"010950": "2026-07-29",
|
"010950": "2026-08-03",
|
||||||
"090850": "2026-07-29",
|
"090850": "2026-07-29",
|
||||||
"138040": "2026-07-29",
|
"138040": "2026-07-29",
|
||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582864+09:00",
|
"created_at": "2026-06-15T14:55:00.582864+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:07.754911+09:00"
|
"updated_at": "2026-08-03T15:28:09.123270+09:00"
|
||||||
}
|
}
|
||||||
@@ -100,3 +100,6 @@
|
|||||||
{"ts": "2026-07-30T10:10:07.440123+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 39, "cost": 4981047, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 147560, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,560"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
|
{"ts": "2026-07-30T10:10:07.440123+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 39, "cost": 4981047, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 147560, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,560"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
|
||||||
{"ts": "2026-07-31T09:04:07.903300+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 108, "proceeds": 7448248, "entry_price": 89872, "pnl": -2259408, "pnl_pct": -23.11, "hold_from": "2026-07-23T09:46:06.368358+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,595 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,704"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:07.903300+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 108, "proceeds": 7448248, "entry_price": 89872, "pnl": -2259408, "pnl_pct": -23.11, "hold_from": "2026-07-23T09:46:06.368358+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,595 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,704"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.031863+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 376, "cost": 2463169, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 9138, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,138"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.031863+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 376, "cost": 2463169, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 9138, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,138"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
|
{"ts": "2026-08-03T09:36:12.045515+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 119700, "qty": 36, "proceeds": 4300797, "entry_price": 130900, "pnl": -412310, "pnl_pct": -8.56, "hold_from": "2026-07-30T09:16:11.943255+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,833 (현재 119,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 164,102"}, {"label": "추세(20일선)", "ok": true, "detail": "108,315"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 134,411"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:11.823818+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 324, "cost": 4183467, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 16502, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:09.768951+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 312, "cost": 4187668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 16502, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,502"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41223394.78050004,
|
"cash": 34563455.93950004,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3813943.0504600187,
|
"tranche_value": 3813943.0504600187,
|
||||||
"last_add_price": 350000
|
"last_add_price": 350000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,643 도달",
|
"entry_reason": "눌림목 지정가 19,643 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5685594.862062503,
|
"tranche_value": 5685594.862062503,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5142605.848996199,
|
"tranche_value": 5142605.848996199,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1927621.6063135946,
|
"tranche_value": 1927621.6063135946,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3759463.8630866953,
|
"tranche_value": 3759463.8630866953,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5243949.076709934,
|
"tranche_value": 5243949.076709934,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 506,
|
||||||
|
"entry_price": 13159.9604743083,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.417020+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3342042.065213833,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -17346371.616500016,
|
"realized_pnl": -17346371.616500016,
|
||||||
@@ -154,5 +175,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582879+09:00",
|
"created_at": "2026-06-15T14:55:00.582879+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.349885+09:00"
|
"updated_at": "2026-08-03T15:28:09.718905+09:00"
|
||||||
}
|
}
|
||||||
@@ -74,3 +74,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:07.301109+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:07.301109+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.629713+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 294, "cost": 1925989, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.629713+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 294, "cost": 1925989, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.631046+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 82, "proceeds": 6358976, "entry_price": 89863, "pnl": -1010930, "pnl_pct": -13.54, "hold_from": "2026-07-23T09:46:06.370394+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,827 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,973"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.631046+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 82, "proceeds": 6358976, "entry_price": 89863, "pnl": -1010930, "pnl_pct": -13.54, "hold_from": "2026-07-23T09:46:06.370394+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,827 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,973"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.417029+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 258, "cost": 3331280, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.358546+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 248, "cost": 3328659, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41223394.78050004,
|
"cash": 34563455.93950004,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3813943.0504600187,
|
"tranche_value": 3813943.0504600187,
|
||||||
"last_add_price": 350000
|
"last_add_price": 350000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,643 도달",
|
"entry_reason": "눌림목 지정가 19,643 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5685594.862062503,
|
"tranche_value": 5685594.862062503,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5142605.848996199,
|
"tranche_value": 5142605.848996199,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1927621.6063135946,
|
"tranche_value": 1927621.6063135946,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3759463.8630866953,
|
"tranche_value": 3759463.8630866953,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5243949.076709934,
|
"tranche_value": 5243949.076709934,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 506,
|
||||||
|
"entry_price": 13159.9604743083,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.428946+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 16590,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3342042.065213833,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -17346371.616500016,
|
"realized_pnl": -17346371.616500016,
|
||||||
@@ -154,5 +175,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582910+09:00",
|
"created_at": "2026-06-15T14:55:00.582910+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.360048+09:00"
|
"updated_at": "2026-08-03T15:28:09.730562+09:00"
|
||||||
}
|
}
|
||||||
@@ -74,3 +74,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:07.304413+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:07.304413+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.639526+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 294, "cost": 1925989, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.639526+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 294, "cost": 1925989, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.640655+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 82, "proceeds": 6358976, "entry_price": 89863, "pnl": -1010930, "pnl_pct": -13.54, "hold_from": "2026-07-23T09:46:06.372102+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,827 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,936"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.640655+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 82, "proceeds": 6358976, "entry_price": 89863, "pnl": -1010930, "pnl_pct": -13.54, "hold_from": "2026-07-23T09:46:06.372102+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,827 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,936"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.428952+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 258, "cost": 3331280, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 16103, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.370265+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 248, "cost": 3328659, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 16103, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,103"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 48303714.5015,
|
"cash": 41538439.862500004,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3841906.161963773,
|
"tranche_value": 3841906.161963773,
|
||||||
"last_add_price": 350000
|
"last_add_price": 350000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5164071.483514108,
|
"tranche_value": 5164071.483514108,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,653 도달",
|
"entry_reason": "눌림목 지정가 19,653 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5339950.00228125,
|
"tranche_value": 5339950.00228125,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1956462.6546955872,
|
"tranche_value": 1956462.6546955872,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3812991.5556229833,
|
"tranche_value": 3812991.5556229833,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5318486.508866878,
|
"tranche_value": 5318486.508866878,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 514,
|
||||||
|
"entry_price": 13160.038910505837,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.437989+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3393650.506937234,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -16009433.273500016,
|
"realized_pnl": -16009433.273500016,
|
||||||
@@ -154,5 +175,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.582926+09:00",
|
"created_at": "2026-06-15T14:55:00.582926+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.366262+09:00"
|
"updated_at": "2026-08-03T15:28:09.737465+09:00"
|
||||||
}
|
}
|
||||||
@@ -73,3 +73,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:07.307619+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:07.307619+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.648347+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 298, "cost": 1952193, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.648347+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 298, "cost": 1952193, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.648789+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89882, "pnl": -1024795, "pnl_pct": -13.55, "hold_from": "2026-07-23T09:46:06.373868+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,845 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,437"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.648789+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89882, "pnl": -1024795, "pnl_pct": -13.55, "hold_from": "2026-07-23T09:46:06.373868+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,845 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,437"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.437993+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 262, "cost": 3382927, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 15304, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.377561+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 252, "cost": 3382347, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 33076164.446999997,
|
"cash": 28989445.622999992,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5085796.90859035,
|
"tranche_value": 5085796.90859035,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,673 도달",
|
"entry_reason": "눌림목 지정가 19,673 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5636180.5746875,
|
"tranche_value": 5636180.5746875,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2514428.437642747,
|
"tranche_value": 2514428.437642747,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,32 +81,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5174714.39653125,
|
"tranche_value": 5174714.39653125,
|
||||||
"last_add_price": 127700
|
"last_add_price": 127700
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 37,
|
|
||||||
"entry_price": 131800,
|
|
||||||
"entry_at": "2026-07-30T09:24:07.557097+09:00",
|
|
||||||
"stop": 120690,
|
|
||||||
"target": 165130,
|
|
||||||
"peak": 132700,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 4916855.663590054,
|
|
||||||
"last_add_price": 131800
|
|
||||||
},
|
|
||||||
"090850": {
|
"090850": {
|
||||||
"code": "090850",
|
"code": "090850",
|
||||||
"name": "현대이지웰",
|
"name": "현대이지웰",
|
||||||
@@ -123,14 +102,35 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5170254.61215625,
|
"tranche_value": 5170254.61215625,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 648,
|
||||||
|
"entry_price": 13160.277777777777,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.444885+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 17019,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4271897.688361821,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -20574284.163000017,
|
"realized_pnl": -21009195.29800002,
|
||||||
"closed_trades": 34,
|
"closed_trades": 35,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100344662.275,
|
"peak_equity": 100344662.275,
|
||||||
"max_drawdown": 0.22639747160382784,
|
"max_drawdown": 0.22639747160382784,
|
||||||
@@ -149,11 +149,11 @@
|
|||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"252990": "2026-07-28",
|
"252990": "2026-07-28",
|
||||||
"010950": "2026-07-29",
|
"010950": "2026-08-03",
|
||||||
"090850": "2026-07-29",
|
"090850": "2026-07-29",
|
||||||
"138040": "2026-07-29",
|
"138040": "2026-07-29",
|
||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583136+09:00",
|
"created_at": "2026-06-15T14:55:00.583136+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.371609+09:00"
|
"updated_at": "2026-08-03T15:28:09.742944+09:00"
|
||||||
}
|
}
|
||||||
@@ -94,3 +94,6 @@
|
|||||||
{"ts": "2026-07-30T10:10:07.453421+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 40, "cost": 5108766, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 147989, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,989"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
|
{"ts": "2026-07-30T10:10:07.453421+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 40, "cost": 5108766, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 147989, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,989"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
|
||||||
{"ts": "2026-07-31T09:04:08.433229+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 110, "proceeds": 7586178, "entry_price": 89525, "pnl": -2263099, "pnl_pct": -22.82, "hold_from": "2026-07-23T09:50:01.528642+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,291 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,229"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:08.433229+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 110, "proceeds": 7586178, "entry_price": 89525, "pnl": -2263099, "pnl_pct": -22.82, "hold_from": "2026-07-23T09:50:01.528642+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,291 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,229"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.654376+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 383, "cost": 2509026, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 9138, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,138"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.654376+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 383, "cost": 2509026, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 9138, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,138"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
|
{"ts": "2026-08-03T09:34:09.186164+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 120300, "qty": 37, "proceeds": 4442420, "entry_price": 131800, "pnl": -434911, "pnl_pct": -8.73, "hold_from": "2026-07-30T09:24:07.557097+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,690 (현재 120,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,130"}, {"label": "추세(20일선)", "ok": true, "detail": "108,345"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 135,311"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.444889+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 330, "cost": 4260939, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 16502, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.384620+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 318, "cost": 4268200, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 16502, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,502"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3889733.683715179,
|
"tranche_value": 3889733.683715179,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,012 도달",
|
"entry_reason": "눌림목 지정가 20,012 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5696942.092812501,
|
"tranche_value": 5696942.092812501,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5327150.576000001,
|
"tranche_value": 5327150.576000001,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4940372.790080874,
|
"tranche_value": 4940372.790080874,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1924945.6187384445,
|
"tranche_value": 1924945.6187384445,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3791237.2526261737,
|
"tranche_value": 3791237.2526261737,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5246390.706071919,
|
"tranche_value": 5246390.706071919,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
@@ -160,12 +160,12 @@
|
|||||||
"entry_at": "2026-07-31T09:10:13.075428+09:00",
|
"entry_at": "2026-07-31T09:10:13.075428+09:00",
|
||||||
"stop": 23650,
|
"stop": 23650,
|
||||||
"target": 31720,
|
"target": 31720,
|
||||||
"peak": 26100,
|
"peak": 26950,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 25,331 도달",
|
"entry_reason": "눌림목 지정가 25,331 도달",
|
||||||
"cur_price": 25850,
|
"cur_price": 26050,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5089986.002562501,
|
"tranche_value": 5089986.002562501,
|
||||||
"last_add_price": 26100
|
"last_add_price": 26100
|
||||||
@@ -197,5 +197,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583184+09:00",
|
"created_at": "2026-06-15T14:55:00.583184+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.375989+09:00"
|
"updated_at": "2026-08-03T15:28:09.747956+09:00"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 36844234.679,
|
"cash": 24766573.301499996,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3891157.6622701483,
|
"tranche_value": 3891157.6622701483,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5719122.209000001,
|
"tranche_value": 5719122.209000001,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5467080.19828125,
|
"tranche_value": 5467080.19828125,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5075960.404438956,
|
"tranche_value": 5075960.404438956,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1981493.926440071,
|
"tranche_value": 1981493.926440071,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,10 +123,52 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3902843.990735232,
|
"tranche_value": 3902843.990735232,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
|
},
|
||||||
|
"090850": {
|
||||||
|
"code": "090850",
|
||||||
|
"name": "현대이지웰",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 855,
|
||||||
|
"entry_price": 6120,
|
||||||
|
"entry_at": "2026-08-03T09:44:10.613767+09:00",
|
||||||
|
"stop": 5629,
|
||||||
|
"target": 7102,
|
||||||
|
"peak": 6160,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 6020,
|
||||||
|
"tranches": 1,
|
||||||
|
"tranche_value": 5233970.124597555,
|
||||||
|
"last_add_price": 6120
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 520,
|
||||||
|
"entry_price": 13160.096153846154,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.455645+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 16590,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3433240.983007488,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -15776819.54500002,
|
"realized_pnl": -15776819.54500002,
|
||||||
@@ -155,5 +197,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583198+09:00",
|
"created_at": "2026-06-15T14:55:00.583198+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.381313+09:00"
|
"updated_at": "2026-08-03T15:28:09.752104+09:00"
|
||||||
}
|
}
|
||||||
@@ -90,3 +90,6 @@
|
|||||||
{"ts": "2026-07-30T11:58:08.466564+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 114, "proceeds": 10433415, "entry_price": 101116, "pnl": -1095514, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.835859+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,147"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-30T11:58:08.466564+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 114, "proceeds": 10433415, "entry_price": 101116, "pnl": -1095514, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.835859+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,147"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.664664+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 302, "cost": 1978397, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.664664+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 302, "cost": 1978397, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.665122+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.532131+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,492"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.665122+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.532131+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,492"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T09:44:10.613772+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6120, "qty": 855, "cost": 5233385, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5629, "target": 7102, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 5,345"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,690 / 5,345"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,690 / 5,618"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +80 · 기 +5 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.61% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "132,260 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.61% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.455648+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 265, "cost": 3421663, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 16103, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.394192+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 255, "cost": 3422613, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 16103, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,103"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41973700.81750003,
|
"cash": 35208426.178500034,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3848025.874946516,
|
"tranche_value": 3848025.874946516,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,673 도달",
|
"entry_reason": "눌림목 지정가 19,673 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5721714.462968752,
|
"tranche_value": 5721714.462968752,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5187375.1457318,
|
"tranche_value": 5187375.1457318,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1957851.3491824612,
|
"tranche_value": 1957851.3491824612,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3832048.06532556,
|
"tranche_value": 3832048.06532556,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5302210.774469179,
|
"tranche_value": 5302210.774469179,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 514,
|
||||||
|
"entry_price": 13160.038910505837,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.460551+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 16590,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3393597.375168939,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -15862555.569500018,
|
"realized_pnl": -15862555.569500018,
|
||||||
@@ -155,5 +176,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583212+09:00",
|
"created_at": "2026-06-15T14:55:00.583212+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.385488+09:00"
|
"updated_at": "2026-08-03T15:28:09.756115+09:00"
|
||||||
}
|
}
|
||||||
@@ -88,3 +88,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:07.318850+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(20일선)", "ok": true, "detail": "113,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:07.318850+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(20일선)", "ok": true, "detail": "113,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.669241+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 298, "cost": 1952193, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.669241+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 298, "cost": 1952193, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.669454+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.533917+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,492"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.669454+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.533917+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,492"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.460555+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 262, "cost": 3382927, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 16103, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.398435+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 252, "cost": 3382347, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 16103, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,103"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3889733.683715179,
|
"tranche_value": 3889733.683715179,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,012 도달",
|
"entry_reason": "눌림목 지정가 20,012 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5696942.092812501,
|
"tranche_value": 5696942.092812501,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5327150.576000001,
|
"tranche_value": 5327150.576000001,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4940372.790080874,
|
"tranche_value": 4940372.790080874,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1924945.6187384445,
|
"tranche_value": 1924945.6187384445,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3791237.2526261737,
|
"tranche_value": 3791237.2526261737,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5246390.706071919,
|
"tranche_value": 5246390.706071919,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
@@ -160,12 +160,12 @@
|
|||||||
"entry_at": "2026-07-31T09:10:13.091944+09:00",
|
"entry_at": "2026-07-31T09:10:13.091944+09:00",
|
||||||
"stop": 23650,
|
"stop": 23650,
|
||||||
"target": 29702,
|
"target": 29702,
|
||||||
"peak": 26100,
|
"peak": 26950,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 25,331 도달",
|
"entry_reason": "눌림목 지정가 25,331 도달",
|
||||||
"cur_price": 25850,
|
"cur_price": 26050,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5089986.002562501,
|
"tranche_value": 5089986.002562501,
|
||||||
"last_add_price": 26100
|
"last_add_price": 26100
|
||||||
@@ -197,5 +197,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583227+09:00",
|
"created_at": "2026-06-15T14:55:00.583227+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.389108+09:00"
|
"updated_at": "2026-08-03T15:28:09.759674+09:00"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 42659048.57399997,
|
"cash": 38274687.33399997,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5225929.659467572,
|
"tranche_value": 5225929.659467572,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,653 도달",
|
"entry_reason": "눌림목 지정가 19,653 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5535182.720656248,
|
"tranche_value": 5535182.720656248,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2702321.452399152,
|
"tranche_value": 2702321.452399152,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,32 +81,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5554493.212437497,
|
"tranche_value": 5554493.212437497,
|
||||||
"last_add_price": 127700
|
"last_add_price": 127700
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 40,
|
|
||||||
"entry_price": 131800,
|
|
||||||
"entry_at": "2026-07-30T09:24:07.570830+09:00",
|
|
||||||
"stop": 120690,
|
|
||||||
"target": 148465,
|
|
||||||
"peak": 132700,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 5277490.897081996,
|
|
||||||
"last_add_price": 131800
|
|
||||||
},
|
|
||||||
"090850": {
|
"090850": {
|
||||||
"code": "090850",
|
"code": "090850",
|
||||||
"name": "현대이지웰",
|
"name": "현대이지웰",
|
||||||
@@ -123,14 +102,35 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5549416.222437498,
|
"tranche_value": 5549416.222437498,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 698,
|
||||||
|
"entry_price": 13159.885386819484,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.468905+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 15089,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4597484.241421635,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -14489514.674500024,
|
"realized_pnl": -14959688.874500025,
|
||||||
"closed_trades": 37,
|
"closed_trades": 38,
|
||||||
"wins": 5,
|
"wins": 5,
|
||||||
"peak_equity": 100344662.275,
|
"peak_equity": 100344662.275,
|
||||||
"max_drawdown": 0.16636733158011952,
|
"max_drawdown": 0.16636733158011952,
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
"319660": "2026-07-27",
|
"319660": "2026-07-27",
|
||||||
"095610": "2026-07-29",
|
"095610": "2026-07-29",
|
||||||
"105560": "2026-07-20",
|
"105560": "2026-07-20",
|
||||||
"010950": "2026-07-27",
|
"010950": "2026-08-03",
|
||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"138040": "2026-07-29",
|
"138040": "2026-07-29",
|
||||||
@@ -155,5 +155,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583241+09:00",
|
"created_at": "2026-06-15T14:55:00.583241+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.392670+09:00"
|
"updated_at": "2026-08-03T15:28:09.763257+09:00"
|
||||||
}
|
}
|
||||||
@@ -97,3 +97,6 @@
|
|||||||
{"ts": "2026-07-30T10:10:07.466772+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 43, "cost": 5491924, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 136194, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,194"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
|
{"ts": "2026-07-30T10:10:07.466772+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 43, "cost": 5491924, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 136194, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,194"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
|
||||||
{"ts": "2026-07-31T09:04:08.455844+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 114, "proceeds": 7862039, "entry_price": 89526, "pnl": -2345492, "pnl_pct": -22.82, "hold_from": "2026-07-23T09:50:01.537436+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,292 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,878"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:08.455844+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 114, "proceeds": 7862039, "entry_price": 89526, "pnl": -2345492, "pnl_pct": -22.82, "hold_from": "2026-07-23T09:50:01.537436+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,292 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,878"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.677038+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 412, "cost": 2699005, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 7634, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,634"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.677038+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 412, "cost": 2699005, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 7634, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,634"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
|
{"ts": "2026-08-03T09:34:09.209896+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 120300, "qty": 40, "proceeds": 4802617, "entry_price": 131800, "pnl": -470174, "pnl_pct": -8.73, "hold_from": "2026-07-30T09:24:07.570830+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,690 (현재 120,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 148,465"}, {"label": "추세(20일선)", "ok": true, "detail": "108,345"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 135,311"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.468908+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 356, "cost": 4596649, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 14706, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.405836+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 342, "cost": 4590328, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 14706, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,706"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 37787276.40250001,
|
"cash": 25371584.32800001,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3939968.9939820534,
|
"tranche_value": 3939968.9939820534,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5821568.917468751,
|
"tranche_value": 5821568.917468751,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5570614.761375001,
|
"tranche_value": 5570614.761375001,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5217780.328505317,
|
"tranche_value": 5217780.328505317,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2036737.90524699,
|
"tranche_value": 2036737.90524699,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,10 +123,52 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4011548.961969723,
|
"tranche_value": 4011548.961969723,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
|
},
|
||||||
|
"090850": {
|
||||||
|
"code": "090850",
|
||||||
|
"name": "현대이지웰",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 878,
|
||||||
|
"entry_price": 6120,
|
||||||
|
"entry_at": "2026-08-03T09:44:10.630062+09:00",
|
||||||
|
"stop": 5629,
|
||||||
|
"target": 6857,
|
||||||
|
"peak": 6160,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 6020,
|
||||||
|
"tranches": 1,
|
||||||
|
"tranche_value": 5380111.718770876,
|
||||||
|
"last_add_price": 6120
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 535,
|
||||||
|
"entry_price": 13159.757009345794,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.472627+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3529514.3397388323,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -13422796.206000023,
|
"realized_pnl": -13422796.206000023,
|
||||||
@@ -155,5 +197,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583273+09:00",
|
"created_at": "2026-06-15T14:55:00.583273+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.395927+09:00"
|
"updated_at": "2026-08-03T15:28:09.766470+09:00"
|
||||||
}
|
}
|
||||||
@@ -95,3 +95,6 @@
|
|||||||
{"ts": "2026-07-30T11:58:08.476701+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 116, "proceeds": 10616457, "entry_price": 101116, "pnl": -1114802, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.842571+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,641"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-30T11:58:08.476701+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 116, "proceeds": 10616457, "entry_price": 101116, "pnl": -1114802, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.842571+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,641"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.680660+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 310, "cost": 2030805, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.680660+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 310, "cost": 2030805, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.681033+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 85, "proceeds": 6591621, "entry_price": 89534, "pnl": -1019920, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.539141+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,555 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,003"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.681033+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 85, "proceeds": 6591621, "entry_price": 89534, "pnl": -1019920, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.539141+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,555 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,003"}, {"label": "추세(20일선)", "ok": true, "detail": "74,560"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T09:44:10.630065+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6120, "qty": 878, "cost": 5374166, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5629, "target": 6857, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 5,345"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,690 / 5,345"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,690 / 5,618"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +80 · 기 +5 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.61% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "132,260 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.61% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.472629+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 273, "cost": 3524959, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 15304, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "12,930 vs 11,922"}, {"label": "정배열(5>20)", "ok": true, "detail": "12,138 / 11,922"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.409213+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 262, "cost": 3516567, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(20일선)", "ok": true, "detail": "11,948"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41907079.86600004,
|
"cash": 35168139.17650004,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3869967.7922643563,
|
"tranche_value": 3869967.7922643563,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,643 도달",
|
"entry_reason": "눌림목 지정가 19,643 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5724944.494593753,
|
"tranche_value": 5724944.494593753,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5162533.383709267,
|
"tranche_value": 5162533.383709267,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1948420.7709670917,
|
"tranche_value": 1948420.7709670917,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3813556.4512976124,
|
"tranche_value": 3813556.4512976124,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5276594.3904554825,
|
"tranche_value": 5276594.3904554825,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 512,
|
||||||
|
"entry_price": 13160.01953125,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.476388+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 16590,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3377559.3310465557,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -16386905.170000013,
|
"realized_pnl": -16386905.170000013,
|
||||||
@@ -153,5 +174,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583289+09:00",
|
"created_at": "2026-06-15T14:55:00.583289+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.399065+09:00"
|
"updated_at": "2026-08-03T15:28:09.769578+09:00"
|
||||||
}
|
}
|
||||||
@@ -71,3 +71,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:07.328694+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:07.328694+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.684130+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 297, "cost": 1945642, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.684130+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 297, "cost": 1945642, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8804, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,804"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.684470+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.540887+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,492"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.684470+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.540887+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,492"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.476390+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 261, "cost": 3370015, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 16103, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.412388+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 251, "cost": 3368925, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 16103, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,103"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 48649872.66850003,
|
"cash": 41805596.18100003,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3898349.7986140535,
|
"tranche_value": 3898349.7986140535,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5181824.996564139,
|
"tranche_value": 5181824.996564139,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,653 도달",
|
"entry_reason": "눌림목 지정가 19,653 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5394916.926375002,
|
"tranche_value": 5394916.926375002,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1976520.6885600227,
|
"tranche_value": 1976520.6885600227,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3863996.750727336,
|
"tranche_value": 3863996.750727336,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5345936.747630138,
|
"tranche_value": 5345936.747630138,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 520,
|
||||||
|
"entry_price": 13160.096153846154,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.479927+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 15732,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3428336.7554835076,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -15096400.088000013,
|
"realized_pnl": -15096400.088000013,
|
||||||
@@ -153,5 +174,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583304+09:00",
|
"created_at": "2026-06-15T14:55:00.583304+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.402183+09:00"
|
"updated_at": "2026-08-03T15:28:09.772450+09:00"
|
||||||
}
|
}
|
||||||
@@ -70,3 +70,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:07.330983+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:07.330983+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.687576+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 301, "cost": 1971846, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.687576+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 301, "cost": 1971846, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.687761+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.542608+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,003"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:07.687761+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 83, "proceeds": 6436524, "entry_price": 89534, "pnl": -995890, "pnl_pct": -13.22, "hold_from": "2026-07-23T09:50:01.542608+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,554 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 106,003"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.479929+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 265, "cost": 3421663, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 15304, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.415408+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 255, "cost": 3422613, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3913399.394880189,
|
"tranche_value": 3913399.394880189,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5436300.471625002,
|
"tranche_value": 5436300.471625002,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5045807.2398149045,
|
"tranche_value": 5045807.2398149045,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,019 도달",
|
"entry_reason": "눌림목 지정가 20,019 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5355663.862750002,
|
"tranche_value": 5355663.862750002,
|
||||||
"last_add_price": 19090
|
"last_add_price": 19090
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1962123.1366758423,
|
"tranche_value": 1962123.1366758423,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3860356.183815298,
|
"tranche_value": 3860356.183815298,
|
||||||
"last_add_price": 131800
|
"last_add_price": 131800
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5341728.159493153,
|
"tranche_value": 5341728.159493153,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
@@ -160,12 +160,12 @@
|
|||||||
"entry_at": "2026-07-31T09:10:13.109330+09:00",
|
"entry_at": "2026-07-31T09:10:13.109330+09:00",
|
||||||
"stop": 23650,
|
"stop": 23650,
|
||||||
"target": 28697,
|
"target": 28697,
|
||||||
"peak": 26100,
|
"peak": 26950,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 25,331 도달",
|
"entry_reason": "눌림목 지정가 25,331 도달",
|
||||||
"cur_price": 25850,
|
"cur_price": 26050,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5195064.988218753,
|
"tranche_value": 5195064.988218753,
|
||||||
"last_add_price": 26100
|
"last_add_price": 26100
|
||||||
@@ -197,5 +197,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583318+09:00",
|
"created_at": "2026-06-15T14:55:00.583318+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.405006+09:00"
|
"updated_at": "2026-08-03T15:28:09.775309+09:00"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 24296204.55109999,
|
"cash": 19295414.54509999,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5038910.050638685,
|
"tranche_value": 5038910.050638685,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,032 도달",
|
"entry_reason": "눌림목 지정가 20,032 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5601008.3746875,
|
"tranche_value": 5601008.3746875,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 2,135 도달",
|
"entry_reason": "눌림목 지정가 2,135 도달",
|
||||||
"cur_price": 1911,
|
"cur_price": 1905,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2627079.6319200005,
|
"tranche_value": 2627079.6319200005,
|
||||||
"last_add_price": 1951
|
"last_add_price": 1951
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5278498.658468749,
|
"tranche_value": 5278498.658468749,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5079406.382253983,
|
"tranche_value": 5079406.382253983,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2553079.5546287536,
|
"tranche_value": 2553079.5546287536,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -144,10 +144,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4531819.457811181,
|
"tranche_value": 4531819.457811181,
|
||||||
"last_add_price": 125700
|
"last_add_price": 125700
|
||||||
|
},
|
||||||
|
"090850": {
|
||||||
|
"code": "090850",
|
||||||
|
"name": "현대이지웰",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 817,
|
||||||
|
"entry_price": 6120,
|
||||||
|
"entry_at": "2026-08-03T09:44:10.642834+09:00",
|
||||||
|
"stop": 5752,
|
||||||
|
"target": 6857,
|
||||||
|
"peak": 6160,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 6020,
|
||||||
|
"tranches": 1,
|
||||||
|
"tranche_value": 5006732.221943749,
|
||||||
|
"last_add_price": 6120
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -19475846.52150002,
|
"realized_pnl": -19475846.52150002,
|
||||||
@@ -176,5 +197,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583333+09:00",
|
"created_at": "2026-06-15T14:55:00.583333+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.407764+09:00"
|
"updated_at": "2026-08-03T15:28:09.778078+09:00"
|
||||||
}
|
}
|
||||||
@@ -117,3 +117,4 @@
|
|||||||
{"ts": "2026-07-31T09:04:08.471419+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 108, "proceeds": 7448248, "entry_price": 89525, "pnl": -2221903, "pnl_pct": -22.81, "hold_from": "2026-07-23T09:50:01.546094+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,291 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 105,994"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:04:08.471419+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 69100, "qty": 108, "proceeds": 7448248, "entry_price": 89525, "pnl": -2221903, "pnl_pct": -22.81, "hold_from": "2026-07-23T09:50:01.546094+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,291 (현재 79,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 105,994"}, {"label": "추세(20일선)", "ok": true, "detail": "74,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.693609+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 389, "cost": 2548332, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.693609+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 389, "cost": 2548332, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(20일선)", "ok": true, "detail": "4,834"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:46:07.688449+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 125700, "qty": 36, "cost": 4525879, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 114633, "target": 147835, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "125,700 vs 108,610"}, {"label": "정배열(5>20)", "ok": true, "detail": "114,320 / 108,610"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "114,320 / 113,125"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +53 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+26%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "725,940 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "65"}]}
|
{"ts": "2026-07-31T09:46:07.688449+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 125700, "qty": 36, "cost": 4525879, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 114633, "target": 147835, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "125,700 vs 108,610"}, {"label": "정배열(5>20)", "ok": true, "detail": "114,320 / 108,610"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "114,320 / 113,125"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +53 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+26%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "725,940 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "65"}]}
|
||||||
|
{"ts": "2026-08-03T09:44:10.642836+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6120, "qty": 817, "cost": 5000790, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5752, "target": 6857, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 5,345"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,690 / 5,345"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,690 / 5,618"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +80 · 기 +5 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.61% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "132,260 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.61% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 13473931.171500001,
|
"cash": 9202874.701000001,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5033450.427529937,
|
"tranche_value": 5033450.427529937,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,012 도달",
|
"entry_reason": "눌림목 지정가 20,012 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5662520.118343751,
|
"tranche_value": 5662520.118343751,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 118,115 도달",
|
"entry_reason": "눌림목 지정가 118,115 도달",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5234858.44571875,
|
"tranche_value": 5234858.44571875,
|
||||||
"last_add_price": 120500
|
"last_add_price": 120500
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 122,665 도달",
|
"entry_reason": "눌림목 지정가 122,665 도달",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5051285.121721717,
|
"tranche_value": 5051285.121721717,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -102,32 +102,11 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 2534339.801822408,
|
"tranche_value": 2534339.801822408,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
},
|
},
|
||||||
"010950": {
|
|
||||||
"code": "010950",
|
|
||||||
"name": "S-Oil",
|
|
||||||
"sources": [
|
|
||||||
"auto"
|
|
||||||
],
|
|
||||||
"qty": 37,
|
|
||||||
"entry_price": 131800,
|
|
||||||
"entry_at": "2026-07-30T09:24:07.584368+09:00",
|
|
||||||
"stop": 120690,
|
|
||||||
"target": 154020,
|
|
||||||
"peak": 132700,
|
|
||||||
"trailing_on": false,
|
|
||||||
"scaled_out": false,
|
|
||||||
"entry_path": "breakout",
|
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
|
||||||
"cur_price": 127600,
|
|
||||||
"tranches": 1,
|
|
||||||
"tranche_value": 4999655.762454186,
|
|
||||||
"last_add_price": 131800
|
|
||||||
},
|
|
||||||
"090850": {
|
"090850": {
|
||||||
"code": "090850",
|
"code": "090850",
|
||||||
"name": "현대이지웰",
|
"name": "현대이지웰",
|
||||||
@@ -144,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5258695.03025,
|
"tranche_value": 5258695.03025,
|
||||||
"last_add_price": 6300
|
"last_add_price": 6300
|
||||||
@@ -160,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T09:06:07.726656+09:00",
|
"entry_at": "2026-07-31T09:06:07.726656+09:00",
|
||||||
"stop": 23764,
|
"stop": 23764,
|
||||||
"target": 29473,
|
"target": 29473,
|
||||||
"peak": 26100,
|
"peak": 26950,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 25,335 도달",
|
"entry_reason": "눌림목 지정가 25,335 도달",
|
||||||
"cur_price": 25850,
|
"cur_price": 26050,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4983661.27525,
|
"tranche_value": 4983661.27525,
|
||||||
"last_add_price": 26100
|
"last_add_price": 26100
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 662,
|
||||||
|
"entry_price": 13160.377643504531,
|
||||||
|
"entry_at": "2026-08-03T12:00:12.488917+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 15733,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 4362596.463271157,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -19940442.48250002,
|
"realized_pnl": -20375353.617500022,
|
||||||
"closed_trades": 37,
|
"closed_trades": 38,
|
||||||
"wins": 2,
|
"wins": 2,
|
||||||
"peak_equity": 101258161.16350003,
|
"peak_equity": 101258161.16350003,
|
||||||
"max_drawdown": 0.2221436364588878,
|
"max_drawdown": 0.2221436364588878,
|
||||||
@@ -192,10 +192,10 @@
|
|||||||
"024060": "2026-07-27",
|
"024060": "2026-07-27",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
"252990": "2026-07-28",
|
"252990": "2026-07-28",
|
||||||
"010950": "2026-07-29",
|
"010950": "2026-08-03",
|
||||||
"090850": "2026-07-29",
|
"090850": "2026-07-29",
|
||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583347+09:00",
|
"created_at": "2026-06-15T14:55:00.583347+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:08.410508+09:00"
|
"updated_at": "2026-08-03T15:28:09.780675+09:00"
|
||||||
}
|
}
|
||||||
@@ -106,3 +106,6 @@
|
|||||||
{"ts": "2026-07-31T09:06:07.726659+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 25250, "qty": 197, "cost": 4974996, "path": "pullback", "reason": "눌림목 지정가 25,335 도달", "stop": 23650, "target": 28450, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "25,300 vs 25,185"}, {"label": "정배열(5>10)", "ok": true, "detail": "25,400 / 25,185"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "25,400 / 25,157"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -414 · 기 +642 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.27% (환산) vs 평균 0.58% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 28,400"}, {"label": "거래량 급증", "ok": false, "detail": "976,253 (환산) vs 평균 2,146,231"}, {"label": "회전율 급증", "ok": false, "detail": "0.27% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 25,335 (현재 25,300)"}]}
|
{"ts": "2026-07-31T09:06:07.726659+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 25250, "qty": 197, "cost": 4974996, "path": "pullback", "reason": "눌림목 지정가 25,335 도달", "stop": 23650, "target": 28450, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "25,300 vs 25,185"}, {"label": "정배열(5>10)", "ok": true, "detail": "25,400 / 25,185"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "25,400 / 25,157"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -414 · 기 +642 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.27% (환산) vs 평균 0.58% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 28,400"}, {"label": "거래량 급증", "ok": false, "detail": "976,253 (환산) vs 평균 2,146,231"}, {"label": "회전율 급증", "ok": false, "detail": "0.27% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 25,335 (현재 25,300)"}]}
|
||||||
{"ts": "2026-07-31T09:06:07.727005+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 386, "cost": 2528679, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:07.727005+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 386, "cost": 2528679, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5127, "target": 8135, "signals": [{"label": "손절선", "ok": true, "detail": "5,127 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,135"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T10:36:07.720717+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 26100, "qty": 190, "cost": 4959744, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 23650, "target": 28450, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 26,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 28,450"}, {"label": "추세(10일선)", "ok": true, "detail": "25,265"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -410 · 기 +640"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,884"}]}
|
{"ts": "2026-07-31T10:36:07.720717+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 26100, "qty": 190, "cost": 4959744, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 23650, "target": 28450, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 26,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 28,450"}, {"label": "추세(10일선)", "ok": true, "detail": "25,265"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -410 · 기 +640"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,884"}]}
|
||||||
|
{"ts": "2026-08-03T09:34:09.229145+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 120300, "qty": 37, "proceeds": 4442420, "entry_price": 131800, "pnl": -434911, "pnl_pct": -8.73, "hold_from": "2026-07-30T09:24:07.584368+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,690 (현재 120,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,020"}, {"label": "추세(10일선)", "ok": true, "detail": "107,510"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -35 · 기 +48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 135,311"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:12.488919+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 337, "cost": 4351323, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 15304, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:10.423786+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 325, "cost": 4362154, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 15304, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,304"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51281233.3715,
|
"cash": 51145315.711500004,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3627364.7637924887,
|
"tranche_value": 3627364.7637924887,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4841528.853832099,
|
"tranche_value": 4841528.853832099,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1821085.8869957556,
|
"tranche_value": 1821085.8869957556,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3547525.853504033,
|
"tranche_value": 3547525.853504033,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:09.540195+09:00",
|
"entry_at": "2026-07-31T12:36:09.540195+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1688085.214726109,
|
"tranche_value": 1688085.214726109,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23364904.11950005,
|
"realized_pnl": -23500821.779500045,
|
||||||
"closed_trades": 94,
|
"closed_trades": 96,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.243873965035,
|
"max_drawdown": 0.243873965035,
|
||||||
@@ -125,9 +125,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -145,5 +145,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621011+09:00",
|
"created_at": "2026-06-15T14:40:00.621011+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.638904+09:00"
|
"updated_at": "2026-08-03T15:28:10.966700+09:00"
|
||||||
}
|
}
|
||||||
@@ -212,3 +212,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:13.463887+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:13.463887+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:09.280871+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:13.463869+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:09.280871+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:13.463869+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:09.540211+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:09.540211+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:18.591697+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:19.374894+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:14.400982+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:18.591679+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:10.520783+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:19.374881+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41331909.855000004,
|
"cash": 35106776.4005,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3627364.7637924887,
|
"tranche_value": 3627364.7637924887,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5013998.744343751,
|
"tranche_value": 5013998.744343751,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4760241.173848085,
|
"tranche_value": 4760241.173848085,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1786459.912670363,
|
"tranche_value": 1786459.912670363,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3470885.263866936,
|
"tranche_value": 3470885.263866936,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4834735.918983269,
|
"tranche_value": 4834735.918983269,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.144403+09:00",
|
"entry_at": "2026-07-31T12:36:11.144403+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1668794.556510239,
|
"tranche_value": 1668794.556510239,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 465,
|
||||||
|
"entry_price": 13160.064516129032,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.198199+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3062184.227151159,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23932130.532500047,
|
"realized_pnl": -24036916.07250005,
|
||||||
"closed_trades": 96,
|
"closed_trades": 98,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.25204854345,
|
"max_drawdown": 0.25204854345,
|
||||||
@@ -167,9 +188,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -188,5 +209,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583395+09:00",
|
"created_at": "2026-06-15T14:55:00.583395+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.647259+09:00"
|
"updated_at": "2026-08-03T15:28:10.974399+09:00"
|
||||||
}
|
}
|
||||||
@@ -219,3 +219,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.739172+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.739172+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.602878+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.739168+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.602878+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.739168+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.144418+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.144418+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.240908+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.490337+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.240901+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.491243+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.138207+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.491229+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.198204+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 237, "cost": 3060129, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.181492+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 228, "cost": 3060219, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51704665.14799999,
|
"cash": 51568747.48799999,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4871303.908250191,
|
"tranche_value": 4871303.908250191,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1833305.2441214651,
|
"tranche_value": 1833305.2441214651,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3570553.5376633056,
|
"tranche_value": 3570553.5376633056,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.152131+09:00",
|
"entry_at": "2026-07-31T12:36:11.152131+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1700911.5399726962,
|
"tranche_value": 1700911.5399726962,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -22786089.03900004,
|
"realized_pnl": -22922006.69900004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.23808745227000014,
|
"max_drawdown": 0.23808745227000014,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621059+09:00",
|
"created_at": "2026-06-15T14:40:00.621059+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.654732+09:00"
|
"updated_at": "2026-08-03T15:28:10.981227+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.747107+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.747107+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.612056+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.747103+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.612056+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.747103+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.152136+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.152136+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.345724+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.347768+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.496433+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.345714+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:10.998993+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:20.347758+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41940800.65649999,
|
"cash": 35662999.30299998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5059022.326624999,
|
"tranche_value": 5059022.326624999,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4804885.651525278,
|
"tranche_value": 4804885.651525278,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1807632.1012232043,
|
"tranche_value": 1807632.1012232043,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3511790.845106854,
|
"tranche_value": 3511790.845106854,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4891717.004707093,
|
"tranche_value": 4891717.004707093,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.157501+09:00",
|
"entry_at": "2026-07-31T12:36:11.157501+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1688285.922413822,
|
"tranche_value": 1688285.922413822,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 469,
|
||||||
|
"entry_price": 13160.106609808103,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.211555+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3097763.2003571894,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23043857.830000043,
|
"realized_pnl": -23148643.370000042,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 2,
|
"wins": 2,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.24322889843500017,
|
"max_drawdown": 0.24322889843500017,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583512+09:00",
|
"created_at": "2026-06-15T14:55:00.583512+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.659583+09:00"
|
"updated_at": "2026-08-03T15:28:10.986512+09:00"
|
||||||
}
|
}
|
||||||
@@ -222,3 +222,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.753172+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.753172+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.618411+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.753168+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.618411+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.753168+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.157504+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.157504+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.449656+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.502169+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.449649+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.506714+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.153870+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.506710+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.211559+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 239, "cost": 3085953, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.193568+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 230, "cost": 3087063, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51273115.17599997,
|
"cash": 51137197.51599997,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4840682.195130728,
|
"tranche_value": 4840682.195130728,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1820759.233761088,
|
"tranche_value": 1820759.233761088,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3546894.320639113,
|
"tranche_value": 3546894.320639113,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.162967+09:00",
|
"entry_at": "2026-07-31T12:36:11.162967+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1687768.019262798,
|
"tranche_value": 1687768.019262798,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23379153.234500043,
|
"realized_pnl": -23515070.89450004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.2440181469900003,
|
"max_drawdown": 0.2440181469900003,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621103+09:00",
|
"created_at": "2026-06-15T14:40:00.621103+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.664783+09:00"
|
"updated_at": "2026-08-03T15:28:10.990920+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.758513+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.758513+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.623919+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.758510+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.623919+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.758510+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.162971+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.162971+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.557804+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.559413+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.506740+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.557798+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.009950+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:20.559407+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41278270.97399998,
|
"cash": 35079471.46899998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5010126.595875,
|
"tranche_value": 5010126.595875,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4756556.382853909,
|
"tranche_value": 4756556.382853909,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1785067.433710845,
|
"tranche_value": 1785067.433710845,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3468191.0592600796,
|
"tranche_value": 3468191.0592600796,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4830985.601508463,
|
"tranche_value": 4830985.601508463,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.167956+09:00",
|
"entry_at": "2026-07-31T12:36:11.167956+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1667469.2912320814,
|
"tranche_value": 1667469.2912320814,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 463,
|
||||||
|
"entry_price": 13160.043196544277,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.222864+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3059768.9052410396,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23992080.36000005,
|
"realized_pnl": -24096865.90000005,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.25264613226000027,
|
"max_drawdown": 0.25264613226000027,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583628+09:00",
|
"created_at": "2026-06-15T14:55:00.583628+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.668945+09:00"
|
"updated_at": "2026-08-03T15:28:10.994611+09:00"
|
||||||
}
|
}
|
||||||
@@ -221,3 +221,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.762890+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.762890+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.628614+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.762887+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.628614+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.762887+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.167959+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.167959+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.660146+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.510973+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.660140+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.516987+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.164462+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.516983+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.222867+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 236, "cost": 3047217, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.203309+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 227, "cost": 3046797, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51704665.14799999,
|
"cash": 51568747.48799999,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4871303.908250191,
|
"tranche_value": 4871303.908250191,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1833305.2441214651,
|
"tranche_value": 1833305.2441214651,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3570553.5376633056,
|
"tranche_value": 3570553.5376633056,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.171880+09:00",
|
"entry_at": "2026-07-31T12:36:11.171880+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1700911.5399726962,
|
"tranche_value": 1700911.5399726962,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -22786089.03900004,
|
"realized_pnl": -22922006.69900004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.23808745227000014,
|
"max_drawdown": 0.23808745227000014,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621148+09:00",
|
"created_at": "2026-06-15T14:40:00.621148+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.672572+09:00"
|
"updated_at": "2026-08-03T15:28:10.997999+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.766716+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.766716+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.632970+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.766714+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.632970+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.766714+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.171882+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.171882+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.768116+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.772557+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.514781+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.768109+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.018441+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:20.772547+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41940800.65649999,
|
"cash": 35662999.30299998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5059022.326624999,
|
"tranche_value": 5059022.326624999,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4804885.651525278,
|
"tranche_value": 4804885.651525278,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1807632.1012232043,
|
"tranche_value": 1807632.1012232043,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3511790.845106854,
|
"tranche_value": 3511790.845106854,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4891717.004707093,
|
"tranche_value": 4891717.004707093,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.175583+09:00",
|
"entry_at": "2026-07-31T12:36:11.175583+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1688285.922413822,
|
"tranche_value": 1688285.922413822,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 469,
|
||||||
|
"entry_price": 13160.106609808103,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.231184+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3097763.2003571894,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23043857.830000043,
|
"realized_pnl": -23148643.370000042,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 2,
|
"wins": 2,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.24322889843500017,
|
"max_drawdown": 0.24322889843500017,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.583751+09:00",
|
"created_at": "2026-06-15T14:55:00.583751+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.676157+09:00"
|
"updated_at": "2026-08-03T15:28:11.001181+09:00"
|
||||||
}
|
}
|
||||||
@@ -222,3 +222,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.770420+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.770420+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.636700+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.770417+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.636700+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.770417+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.175585+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.175585+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.877886+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.518510+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.877879+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.525460+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.172303+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.525457+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.231187+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 239, "cost": 3085953, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.210803+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 230, "cost": 3087063, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51704665.14799999,
|
"cash": 51568747.48799999,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4871303.908250191,
|
"tranche_value": 4871303.908250191,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1833305.2441214651,
|
"tranche_value": 1833305.2441214651,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3570553.5376633056,
|
"tranche_value": 3570553.5376633056,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.179162+09:00",
|
"entry_at": "2026-07-31T12:36:11.179162+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1700911.5399726962,
|
"tranche_value": 1700911.5399726962,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -22786089.03900004,
|
"realized_pnl": -22922006.69900004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.23808745227000014,
|
"max_drawdown": 0.23808745227000014,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621367+09:00",
|
"created_at": "2026-06-15T14:40:00.621367+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.679464+09:00"
|
"updated_at": "2026-08-03T15:28:11.004116+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.773980+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.773980+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.640385+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.773978+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.640385+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.773978+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.179164+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.179164+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.978817+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:20.980679+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.521968+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:20.978808+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.025738+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:20.980671+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41940800.65649999,
|
"cash": 35662999.30299998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5059022.326624999,
|
"tranche_value": 5059022.326624999,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4804885.651525278,
|
"tranche_value": 4804885.651525278,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1807632.1012232043,
|
"tranche_value": 1807632.1012232043,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3511790.845106854,
|
"tranche_value": 3511790.845106854,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4891717.004707093,
|
"tranche_value": 4891717.004707093,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.182486+09:00",
|
"entry_at": "2026-07-31T12:36:11.182486+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1688285.922413822,
|
"tranche_value": 1688285.922413822,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 469,
|
||||||
|
"entry_price": 13160.106609808103,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.238578+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3097763.2003571894,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23043857.830000043,
|
"realized_pnl": -23148643.370000042,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 2,
|
"wins": 2,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.24322889843500017,
|
"max_drawdown": 0.24322889843500017,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.584337+09:00",
|
"created_at": "2026-06-15T14:55:00.584337+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.682643+09:00"
|
"updated_at": "2026-08-03T15:28:11.007730+09:00"
|
||||||
}
|
}
|
||||||
@@ -222,3 +222,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.777271+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.777271+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.643902+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.777269+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.643902+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.777269+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.182488+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.182488+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.090387+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.525067+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.090380+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.532623+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.179257+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.532621+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.238580+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 239, "cost": 3085953, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.217540+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 230, "cost": 3087063, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51704665.14799999,
|
"cash": 51568747.48799999,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4871303.908250191,
|
"tranche_value": 4871303.908250191,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1833305.2441214651,
|
"tranche_value": 1833305.2441214651,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3570553.5376633056,
|
"tranche_value": 3570553.5376633056,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.185779+09:00",
|
"entry_at": "2026-07-31T12:36:11.185779+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1700911.5399726962,
|
"tranche_value": 1700911.5399726962,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -22786089.03900004,
|
"realized_pnl": -22922006.69900004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.23808745227000014,
|
"max_drawdown": 0.23808745227000014,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621411+09:00",
|
"created_at": "2026-06-15T14:40:00.621411+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.685807+09:00"
|
"updated_at": "2026-08-03T15:28:11.011063+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.780588+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.780588+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.647165+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.780586+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.647165+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.780586+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.185781+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.185781+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 13, "cost": 1690254, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.195297+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.196799+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.528098+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.195291+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.031972+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:21.196794+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41940800.65649999,
|
"cash": 35662999.30299998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5059022.326624999,
|
"tranche_value": 5059022.326624999,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4804885.651525278,
|
"tranche_value": 4804885.651525278,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1807632.1012232043,
|
"tranche_value": 1807632.1012232043,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3511790.845106854,
|
"tranche_value": 3511790.845106854,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4891717.004707093,
|
"tranche_value": 4891717.004707093,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.188782+09:00",
|
"entry_at": "2026-07-31T12:36:11.188782+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1688285.922413822,
|
"tranche_value": 1688285.922413822,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 469,
|
||||||
|
"entry_price": 13160.106609808103,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.244867+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3097763.2003571894,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23043857.830000043,
|
"realized_pnl": -23148643.370000042,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 2,
|
"wins": 2,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.24322889843500017,
|
"max_drawdown": 0.24322889843500017,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.584451+09:00",
|
"created_at": "2026-06-15T14:55:00.584451+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.688666+09:00"
|
"updated_at": "2026-08-03T15:28:11.014208+09:00"
|
||||||
}
|
}
|
||||||
@@ -222,3 +222,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.783569+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.783569+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.650108+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.783567+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.650108+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.783567+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.188784+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.188784+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.302744+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.531055+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.302735+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.539106+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.185701+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.539104+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.244869+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 239, "cost": 3085953, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.223526+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 230, "cost": 3087063, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51273115.17599997,
|
"cash": 51137197.51599997,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4840682.195130728,
|
"tranche_value": 4840682.195130728,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1820759.233761088,
|
"tranche_value": 1820759.233761088,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3546894.320639113,
|
"tranche_value": 3546894.320639113,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.191677+09:00",
|
"entry_at": "2026-07-31T12:36:11.191677+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1687768.019262798,
|
"tranche_value": 1687768.019262798,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23379153.234500043,
|
"realized_pnl": -23515070.89450004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.2440181469900003,
|
"max_drawdown": 0.2440181469900003,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621453+09:00",
|
"created_at": "2026-06-15T14:40:00.621453+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.691455+09:00"
|
"updated_at": "2026-08-03T15:28:11.017072+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.786424+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.786424+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.653104+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.786422+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.653104+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.786422+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.191679+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.191679+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.406890+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.408624+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.533906+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.406880+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.037830+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:21.408615+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41278270.97399998,
|
"cash": 35079471.46899998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5010126.595875,
|
"tranche_value": 5010126.595875,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4756556.382853909,
|
"tranche_value": 4756556.382853909,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1785067.433710845,
|
"tranche_value": 1785067.433710845,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3468191.0592600796,
|
"tranche_value": 3468191.0592600796,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4830985.601508463,
|
"tranche_value": 4830985.601508463,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.194352+09:00",
|
"entry_at": "2026-07-31T12:36:11.194352+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1667469.2912320814,
|
"tranche_value": 1667469.2912320814,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 463,
|
||||||
|
"entry_price": 13160.043196544277,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.250755+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3059768.9052410396,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23992080.36000005,
|
"realized_pnl": -24096865.90000005,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.25264613226000027,
|
"max_drawdown": 0.25264613226000027,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.584565+09:00",
|
"created_at": "2026-06-15T14:55:00.584565+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.694058+09:00"
|
"updated_at": "2026-08-03T15:28:11.019985+09:00"
|
||||||
}
|
}
|
||||||
@@ -221,3 +221,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.789061+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.789061+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.656004+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.789059+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.656004+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.789059+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.194354+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.194354+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.516177+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.536576+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.516167+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.545083+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.191387+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.545081+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.250757+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 236, "cost": 3047217, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.229062+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 227, "cost": 3046797, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 51273115.17599997,
|
"cash": 51137197.51599997,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4840682.195130728,
|
"tranche_value": 4840682.195130728,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1820759.233761088,
|
"tranche_value": 1820759.233761088,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3546894.320639113,
|
"tranche_value": 3546894.320639113,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -97,19 +97,19 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.196890+09:00",
|
"entry_at": "2026-07-31T12:36:11.196890+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1687768.019262798,
|
"tranche_value": 1687768.019262798,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23379153.234500043,
|
"realized_pnl": -23515070.89450004,
|
||||||
"closed_trades": 95,
|
"closed_trades": 97,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.2440181469900003,
|
"max_drawdown": 0.2440181469900003,
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -146,5 +146,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:40:00.621497+09:00",
|
"created_at": "2026-06-15T14:40:00.621497+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.696505+09:00"
|
"updated_at": "2026-08-03T15:28:11.022773+09:00"
|
||||||
}
|
}
|
||||||
@@ -214,3 +214,7 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.791610+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.791610+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 15, "cost": 4725709, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.658718+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.791609+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.658718+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 15, "proceeds": 4655903, "entry_price": 315000, "pnl": -69806, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.791609+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.196892+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.196892+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.627531+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.629095+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 38, "cost": 4750712, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "127,000 vs 112,675"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.539104+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.627523+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.043132+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 38, "proceeds": 4687641, "entry_price": 125000, "pnl": -63071, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:21.629089+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,618"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 41278270.97399998,
|
"cash": 35079471.46899998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"214450": {
|
"214450": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3624744.3180141365,
|
"tranche_value": 3624744.3180141365,
|
||||||
"last_add_price": 356000
|
"last_add_price": 356000
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 5010126.595875,
|
"tranche_value": 5010126.595875,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4756556.382853909,
|
"tranche_value": 4756556.382853909,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1785067.433710845,
|
"tranche_value": 1785067.433710845,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 3468191.0592600796,
|
"tranche_value": 3468191.0592600796,
|
||||||
"last_add_price": 130900
|
"last_add_price": 130900
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4830985.601508463,
|
"tranche_value": 4830985.601508463,
|
||||||
"last_add_price": 6310
|
"last_add_price": 6310
|
||||||
@@ -139,19 +139,40 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.199406+09:00",
|
"entry_at": "2026-07-31T12:36:11.199406+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 1667469.2912320814,
|
"tranche_value": 1667469.2912320814,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 463,
|
||||||
|
"entry_price": 13160.043196544277,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.256072+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18305,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3059768.9052410396,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -23992080.36000005,
|
"realized_pnl": -24096865.90000005,
|
||||||
"closed_trades": 97,
|
"closed_trades": 99,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100000000,
|
"peak_equity": 100000000,
|
||||||
"max_drawdown": 0.25264613226000027,
|
"max_drawdown": 0.25264613226000027,
|
||||||
@@ -168,9 +189,9 @@
|
|||||||
"009150": "2026-07-27",
|
"009150": "2026-07-27",
|
||||||
"214450": "2026-07-06",
|
"214450": "2026-07-06",
|
||||||
"093370": "2026-07-20",
|
"093370": "2026-07-20",
|
||||||
"034730": "2026-07-31",
|
"034730": "2026-08-03",
|
||||||
"032830": "2026-07-31",
|
"032830": "2026-07-31",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"011070": "2026-07-24",
|
"011070": "2026-07-24",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
"402340": "2026-07-22",
|
"402340": "2026-07-22",
|
||||||
@@ -189,5 +210,5 @@
|
|||||||
"161890": "2026-07-31"
|
"161890": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-15T14:55:00.584680+09:00",
|
"created_at": "2026-06-15T14:55:00.584680+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.698884+09:00"
|
"updated_at": "2026-08-03T15:28:11.025437+09:00"
|
||||||
}
|
}
|
||||||
@@ -221,3 +221,9 @@
|
|||||||
{"ts": "2026-07-31T10:10:15.794121+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
{"ts": "2026-07-31T10:10:15.794121+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 315000, "qty": 14, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 386,093 도달", "stop": 314999, "target": 315003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "315,000 vs 311,175"}, {"label": "정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "435,700 / 311,175"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+1.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +38 · 기 +29 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.58% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,148,524 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": true, "detail": "0.58% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 386,093 (현재 315,000)"}]}
|
||||||
{"ts": "2026-07-31T10:12:11.661315+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.794120+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
{"ts": "2026-07-31T10:12:11.661315+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 311000, "qty": 14, "proceeds": 4345510, "entry_price": 315000, "pnl": -65152, "pnl_pct": -1.27, "hold_from": "2026-07-31T10:10:15.794120+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "314,999 (현재 311,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 315,003"}, {"label": "추세(60일선)", "ok": true, "detail": "311,117"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +38 · 기 +29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 336,469"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.199408+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.199408+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 12, "cost": 1560234, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,000 vs 99,283"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:21.727568+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 534000, "qty": 8, "cost": 4272641, "path": "pullback", "reason": "눌림목 지정가 695,407 도달", "stop": 533999, "target": 534003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "534,000 vs 527,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "724,800 / 527,100"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-7.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +85 · 기 -41 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+60%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.20% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "143,620 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.20% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 695,407 (현재 534,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.541600+09:00", "side": "SELL", "code": "034730", "name": "SK", "price": 526000, "qty": 8, "proceeds": 4199794, "entry_price": 534000, "pnl": -72846, "pnl_pct": -1.5, "hold_from": "2026-08-03T09:00:21.727561+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "533,999 (현재 528,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 534,003"}, {"label": "추세(60일선)", "ok": true, "detail": "527,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +85 · 기 -41"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 573,900"}]}
|
||||||
|
{"ts": "2026-08-03T09:04:11.550343+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125900, "qty": 37, "cost": 4658999, "path": "pullback", "reason": "눌림목 지정가 156,021 도달", "stop": 125899, "target": 125903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,700 vs 112,653"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,780 / 112,653"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.03% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "589,060 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "2.03% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,021 (현재 125,700)"}]}
|
||||||
|
{"ts": "2026-08-03T09:06:16.196506+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125300, "qty": 37, "proceeds": 4627060, "entry_price": 125900, "pnl": -31939, "pnl_pct": -0.48, "hold_from": "2026-08-03T09:04:11.550341+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "125,899 (현재 125,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,903"}, {"label": "추세(60일선)", "ok": true, "detail": "112,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,626"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.256074+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 236, "cost": 3047217, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "12,930 vs 11,924"}, {"label": "정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.234112+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 227, "cost": 3046797, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(60일선)", "ok": true, "detail": "11,933"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 25925193.426,
|
"cash": 21100469.825999998,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"055550": {
|
"055550": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 101100,
|
"cur_price": 101800,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4371332.168068898,
|
"tranche_value": 4371332.168068898,
|
||||||
"last_add_price": 105800
|
"last_add_price": 105800
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3448434.606240806,
|
"tranche_value": 3448434.606240806,
|
||||||
"last_add_price": 130800
|
"last_add_price": 130800
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3417673.0117698065,
|
"tranche_value": 3417673.0117698065,
|
||||||
"last_add_price": 338000
|
"last_add_price": 338000
|
||||||
@@ -71,20 +71,20 @@
|
|||||||
"sources": [
|
"sources": [
|
||||||
"auto"
|
"auto"
|
||||||
],
|
],
|
||||||
"qty": 188,
|
"qty": 368,
|
||||||
"entry_price": 25650,
|
"entry_price": 26212.5,
|
||||||
"entry_at": "2026-07-29T09:02:03.586207+09:00",
|
"entry_at": "2026-07-29T09:02:03.586207+09:00",
|
||||||
"stop": 23650,
|
"stop": 23761,
|
||||||
"target": 31650,
|
"target": 33568,
|
||||||
"peak": 26600,
|
"peak": 26950,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 25850,
|
"cur_price": 26050,
|
||||||
"tranches": 1,
|
"tranches": 2,
|
||||||
"tranche_value": 4829886.125812501,
|
"tranche_value": 4829886.125812501,
|
||||||
"last_add_price": 25650
|
"last_add_price": 26800
|
||||||
},
|
},
|
||||||
"086790": {
|
"086790": {
|
||||||
"code": "086790",
|
"code": "086790",
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4425860.654266699,
|
"tranche_value": 4425860.654266699,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 1723803.5365682123,
|
"tranche_value": 1723803.5365682123,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4248451.425139817,
|
"tranche_value": 4248451.425139817,
|
||||||
"last_add_price": 124700
|
"last_add_price": 124700
|
||||||
@@ -160,12 +160,12 @@
|
|||||||
"entry_at": "2026-07-31T11:20:11.598540+09:00",
|
"entry_at": "2026-07-31T11:20:11.598540+09:00",
|
||||||
"stop": 92100,
|
"stop": 92100,
|
||||||
"target": 100100,
|
"target": 100100,
|
||||||
"peak": 95400,
|
"peak": 98000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 95400,
|
"cur_price": 96700,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4596386.934125,
|
"tranche_value": 4596386.934125,
|
||||||
"last_add_price": 94100
|
"last_add_price": 94100
|
||||||
@@ -219,5 +219,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-16T09:00:03.113416+09:00",
|
"created_at": "2026-06-16T09:00:03.113416+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.701242+09:00"
|
"updated_at": "2026-08-03T15:28:11.027901+09:00"
|
||||||
}
|
}
|
||||||
@@ -166,3 +166,4 @@
|
|||||||
{"ts": "2026-07-31T09:08:10.756235+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 121900, "qty": 37, "cost": 4510977, "path": "pullback", "reason": "눌림목 지정가 154,757 도달", "stop": 121899, "target": 121903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,000 vs 112,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,240 / 112,608"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,240 / 112,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +713 · 기 -510 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+49%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.55% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,898,747 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.55% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,757 (현재 123,000)"}]}
|
{"ts": "2026-07-31T09:08:10.756235+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 121900, "qty": 37, "cost": 4510977, "path": "pullback", "reason": "눌림목 지정가 154,757 도달", "stop": 121899, "target": 121903, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,000 vs 112,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "162,240 / 112,608"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,240 / 112,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +713 · 기 -510 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+49%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.55% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,898,747 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.55% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,757 (현재 123,000)"}]}
|
||||||
{"ts": "2026-07-31T11:20:11.164902+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 121600, "qty": 37, "proceeds": 4490427, "entry_price": 121900, "pnl": -20550, "pnl_pct": -0.25, "hold_from": "2026-07-31T09:08:10.756233+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "121,899 (현재 121,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,582"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +662 · 기 -449"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T11:20:11.164902+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 121600, "qty": 37, "proceeds": 4490427, "entry_price": 121900, "pnl": -20550, "pnl_pct": -0.25, "hold_from": "2026-07-31T09:08:10.756233+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "121,899 (현재 121,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,582"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +662 · 기 -449"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T11:20:11.598557+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94100, "qty": 48, "cost": 4517478, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 92100, "target": 100100, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "93,900 vs 91,832"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,080 / 91,832"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,080 / 91,832"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+25.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +82 · 기 -28 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.60% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "612,615 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.60% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 93,866 (현재 93,900)"}]}
|
{"ts": "2026-07-31T11:20:11.598557+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94100, "qty": 48, "cost": 4517478, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 92100, "target": 100100, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "93,900 vs 91,832"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,080 / 91,832"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,080 / 91,832"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+25.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +82 · 기 -28 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.60% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "612,615 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.60% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 93,866 (현재 93,900)"}]}
|
||||||
|
{"ts": "2026-08-03T09:02:15.579360+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 26800, "qty": 180, "cost": 4824724, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 23650, "target": 31650, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 26,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 31,650"}, {"label": "추세(60일선)", "ok": true, "detail": "25,178"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -228 · 기 +494"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 26,263"}]}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 101100,
|
"cur_price": 101800,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5402457.352781249,
|
"tranche_value": 5402457.352781249,
|
||||||
"last_add_price": 104900
|
"last_add_price": 104900
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4939827.041843749,
|
"tranche_value": 4939827.041843749,
|
||||||
"last_add_price": 130800
|
"last_add_price": 130800
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5291435.503531248,
|
"tranche_value": 5291435.503531248,
|
||||||
"last_add_price": 6020
|
"last_add_price": 6020
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4843602.718718749,
|
"tranche_value": 4843602.718718749,
|
||||||
"last_add_price": 338000
|
"last_add_price": 338000
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,645 도달",
|
"entry_reason": "눌림목 지정가 19,645 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4682248.774874998,
|
"tranche_value": 4682248.774874998,
|
||||||
"last_add_price": 19370
|
"last_add_price": 19370
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 125800,
|
"cur_price": 126900,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4504266.321593748,
|
"tranche_value": 4504266.321593748,
|
||||||
"last_add_price": 125200
|
"last_add_price": 125200
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3302234.573028907,
|
"tranche_value": 3302234.573028907,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -160,12 +160,12 @@
|
|||||||
"entry_at": "2026-07-31T09:08:11.129265+09:00",
|
"entry_at": "2026-07-31T09:08:11.129265+09:00",
|
||||||
"stop": 111200,
|
"stop": 111200,
|
||||||
"target": 152116,
|
"target": 152116,
|
||||||
"peak": 123900,
|
"peak": 124200,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4268049.827468748,
|
"tranche_value": 4268049.827468748,
|
||||||
"last_add_price": 122900
|
"last_add_price": 122900
|
||||||
@@ -201,5 +201,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-16T09:00:03.113433+09:00",
|
"created_at": "2026-06-16T09:00:03.113433+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.703594+09:00"
|
"updated_at": "2026-08-03T15:28:11.030368+09:00"
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 101100,
|
"cur_price": 101800,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 5666061.52171875,
|
"tranche_value": 5666061.52171875,
|
||||||
"last_add_price": 99700
|
"last_add_price": 99700
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4789675.2297187485,
|
"tranche_value": 4789675.2297187485,
|
||||||
"last_add_price": 130800
|
"last_add_price": 130800
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4852421.820656248,
|
"tranche_value": 4852421.820656248,
|
||||||
"last_add_price": 6030
|
"last_add_price": 6030
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4623660.577343748,
|
"tranche_value": 4623660.577343748,
|
||||||
"last_add_price": 338000
|
"last_add_price": 338000
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 20,014 도달",
|
"entry_reason": "눌림목 지정가 20,014 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4465513.872843748,
|
"tranche_value": 4465513.872843748,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,792 도달",
|
"entry_reason": "눌림목 지정가 7,792 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3191383.0634775604,
|
"tranche_value": 3191383.0634775604,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4300292.172812498,
|
"tranche_value": 4300292.172812498,
|
||||||
"last_add_price": 124700
|
"last_add_price": 124700
|
||||||
@@ -160,12 +160,12 @@
|
|||||||
"entry_at": "2026-07-31T15:22:10.000237+09:00",
|
"entry_at": "2026-07-31T15:22:10.000237+09:00",
|
||||||
"stop": 258445,
|
"stop": 258445,
|
||||||
"target": 376664,
|
"target": 376664,
|
||||||
"peak": 288000,
|
"peak": 293500,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "immediate",
|
"entry_path": "immediate",
|
||||||
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
|
||||||
"cur_price": 287000,
|
"cur_price": 284000,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 4236521.005156248,
|
"tranche_value": 4236521.005156248,
|
||||||
"last_add_price": 288000
|
"last_add_price": 288000
|
||||||
@@ -207,5 +207,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-16T09:00:03.113489+09:00",
|
"created_at": "2026-06-16T09:00:03.113489+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.705756+09:00"
|
"updated_at": "2026-08-03T15:28:11.032662+09:00"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 32841649.03800001,
|
"cash": 18165691.863500014,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"030000": {
|
"030000": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,673 도달",
|
"entry_reason": "눌림목 지정가 19,673 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4306811.880937502,
|
"tranche_value": 4306811.880937502,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,467 도달",
|
"entry_reason": "눌림목 지정가 7,467 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3583967.506937563,
|
"tranche_value": 3583967.506937563,
|
||||||
"last_add_price": 6250
|
"last_add_price": 6250
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3911926.8573750006,
|
"tranche_value": 3911926.8573750006,
|
||||||
"last_add_price": 127700
|
"last_add_price": 127700
|
||||||
@@ -76,22 +76,64 @@
|
|||||||
"entry_at": "2026-07-31T12:36:11.212064+09:00",
|
"entry_at": "2026-07-31T12:36:11.212064+09:00",
|
||||||
"stop": 100700,
|
"stop": 100700,
|
||||||
"target": 217900,
|
"target": 217900,
|
||||||
"peak": 130000,
|
"peak": 136000,
|
||||||
"trailing_on": false,
|
"trailing_on": false,
|
||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 144,129 도달",
|
"entry_reason": "눌림목 지정가 144,129 도달",
|
||||||
"cur_price": 130000,
|
"cur_price": 127200,
|
||||||
"tranches": 1,
|
"tranches": 1,
|
||||||
"tranche_value": 2602335.520457338,
|
"tranche_value": 2602335.520457338,
|
||||||
"last_add_price": 130000
|
"last_add_price": 130000
|
||||||
|
},
|
||||||
|
"161890": {
|
||||||
|
"code": "161890",
|
||||||
|
"name": "한국콜마",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 76,
|
||||||
|
"entry_price": 95647.36842105263,
|
||||||
|
"entry_at": "2026-08-03T09:14:15.948558+09:00",
|
||||||
|
"stop": 92100,
|
||||||
|
"target": 106289,
|
||||||
|
"peak": 98000,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "pullback",
|
||||||
|
"entry_reason": "눌림목 지정가 94,562 도달",
|
||||||
|
"cur_price": 96700,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3668025.9817500007,
|
||||||
|
"last_add_price": 97700
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 559,
|
||||||
|
"entry_price": 13159.982110912344,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.273083+09:00",
|
||||||
|
"stop": 11874,
|
||||||
|
"target": 17018,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3682720.3330000006,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -41124326.44400004,
|
"realized_pnl": -41172459.77400004,
|
||||||
"closed_trades": 62,
|
"closed_trades": 63,
|
||||||
"wins": 1,
|
"wins": 1,
|
||||||
"peak_equity": 100401992.91950001,
|
"peak_equity": 100401992.91950001,
|
||||||
"max_drawdown": 0.4161237508004244,
|
"max_drawdown": 0.41923969666367866,
|
||||||
"last_exit": {
|
"last_exit": {
|
||||||
"204320": "2026-06-19",
|
"204320": "2026-06-19",
|
||||||
"003490": "2026-07-09",
|
"003490": "2026-07-09",
|
||||||
@@ -110,7 +152,7 @@
|
|||||||
"055550": "2026-07-20",
|
"055550": "2026-07-20",
|
||||||
"034730": "2026-07-28",
|
"034730": "2026-07-28",
|
||||||
"032830": "2026-07-09",
|
"032830": "2026-07-09",
|
||||||
"319660": "2026-07-31",
|
"319660": "2026-08-03",
|
||||||
"105560": "2026-07-20",
|
"105560": "2026-07-20",
|
||||||
"095610": "2026-07-30",
|
"095610": "2026-07-30",
|
||||||
"003680": "2026-07-29",
|
"003680": "2026-07-29",
|
||||||
@@ -122,5 +164,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-16T10:45:02.136776+09:00",
|
"created_at": "2026-06-16T10:45:02.136776+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.713525+09:00"
|
"updated_at": "2026-08-03T15:28:11.041080+09:00"
|
||||||
}
|
}
|
||||||
@@ -154,3 +154,9 @@
|
|||||||
{"ts": "2026-07-31T09:14:10.923105+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 127000, "qty": 29, "cost": 3683552, "path": "pullback", "reason": "눌림목 지정가 154,757 도달", "stop": 126999, "target": 127003, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "126,750 vs 126,701"}, {"label": "정배열(5>40)", "ok": true, "detail": "162,990 / 126,701"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,990 / 112,671"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +713 · 기 -510 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "7.49% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "2,168,747 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "7.49% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,757 (현재 126,750)"}]}
|
{"ts": "2026-07-31T09:14:10.923105+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 127000, "qty": 29, "cost": 3683552, "path": "pullback", "reason": "눌림목 지정가 154,757 도달", "stop": 126999, "target": 127003, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "126,750 vs 126,701"}, {"label": "정배열(5>40)", "ok": true, "detail": "162,990 / 126,701"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "162,990 / 112,671"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +713 · 기 -510 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "7.49% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "2,168,747 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "7.49% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,757 (현재 126,750)"}]}
|
||||||
{"ts": "2026-07-31T09:18:10.927683+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125200, "qty": 29, "proceeds": 3623720, "entry_price": 127000, "pnl": -59833, "pnl_pct": -1.42, "hold_from": "2026-07-31T09:14:10.923093+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "126,999 (현재 125,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(40일선)", "ok": false, "detail": "126,665"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +713 · 기 -510"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:18:10.927683+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 125200, "qty": 29, "proceeds": 3623720, "entry_price": 127000, "pnl": -59833, "pnl_pct": -1.42, "hold_from": "2026-07-31T09:14:10.923093+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "126,999 (현재 125,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(40일선)", "ok": false, "detail": "126,665"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +713 · 기 -510"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
{"ts": "2026-07-31T12:36:11.212065+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 20, "cost": 2600390, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "130,000 vs 115,252"}, {"label": "정배열(5>40)", "ok": true, "detail": "166,640 / 115,252"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
{"ts": "2026-07-31T12:36:11.212065+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 130000, "qty": 20, "cost": 2600390, "path": "pullback", "reason": "눌림목 지정가 144,129 도달", "stop": 100700, "target": 217900, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "130,000 vs 115,252"}, {"label": "정배열(5>40)", "ok": true, "detail": "166,640 / 115,252"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,640 / 99,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +397 · 기 -253 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.13% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,767,926 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "9.13% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 144,129 (현재 130,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:00:22.147810+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 125000, "qty": 29, "cost": 3625544, "path": "pullback", "reason": "눌림목 지정가 156,225 도달", "stop": 124999, "target": 125003, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "127,000 vs 126,708"}, {"label": "정배열(5>40)", "ok": true, "detail": "163,040 / 126,708"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,040 / 112,675"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +385 · 기 -227 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.29% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "373,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.29% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 156,225 (현재 127,000)"}]}
|
||||||
|
{"ts": "2026-08-03T09:08:11.058486+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 123600, "qty": 29, "proceeds": 3577410, "entry_price": 125000, "pnl": -48133, "pnl_pct": -1.12, "hold_from": "2026-08-03T09:00:22.147806+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "124,999 (현재 123,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(40일선)", "ok": false, "detail": "126,622"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +385 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T09:14:15.948560+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 93700, "qty": 39, "cost": 3654848, "path": "pullback", "reason": "눌림목 지정가 94,562 도달", "stop": 92100, "target": 98500, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "93,600 vs 92,555"}, {"label": "정배열(5>40)", "ok": true, "detail": "106,020 / 92,555"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,020 / 91,827"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+30.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +174 · 기 -127 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+42%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.25% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "530,353 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.25% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,562 (현재 93,600)"}]}
|
||||||
|
{"ts": "2026-08-03T10:40:14.102200+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 97700, "qty": 37, "cost": 3615442, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 98500, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 97,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 98,500"}, {"label": "추세(40일선)", "ok": true, "detail": "92,658"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +186 · 기 -126"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 97,679"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.273087+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 285, "cost": 3679902, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11713, "target": 16502, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "12,930 vs 11,714"}, {"label": "정배열(5>40)", "ok": true, "detail": "12,138 / 11,714"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.248962+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 274, "cost": 3677632, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11713, "target": 16502, "signals": [{"label": "손절선", "ok": true, "detail": "11,713 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,502"}, {"label": "추세(40일선)", "ok": true, "detail": "11,726"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"cash": 27428946.813,
|
"cash": 19610824.2705,
|
||||||
"initial": 100000000,
|
"initial": 100000000,
|
||||||
"positions": {
|
"positions": {
|
||||||
"010950": {
|
"010950": {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 127600,
|
"cur_price": 120600,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4497110.087925,
|
"tranche_value": 4497110.087925,
|
||||||
"last_add_price": 130800
|
"last_add_price": 130800
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 6130,
|
"cur_price": 6020,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4441317.796325,
|
"tranche_value": 4441317.796325,
|
||||||
"last_add_price": 6030
|
"last_add_price": 6030
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 339500,
|
"cur_price": 372000,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4537990.22125,
|
"tranche_value": 4537990.22125,
|
||||||
"last_add_price": 353000
|
"last_add_price": 353000
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 19,643 도달",
|
"entry_reason": "눌림목 지정가 19,643 도달",
|
||||||
"cur_price": 18990,
|
"cur_price": 18820,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4438631.677600001,
|
"tranche_value": 4438631.677600001,
|
||||||
"last_add_price": 18950
|
"last_add_price": 18950
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "breakout",
|
"entry_path": "breakout",
|
||||||
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
"cur_price": 123900,
|
"cur_price": 119700,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 4163511.5199,
|
"tranche_value": 4163511.5199,
|
||||||
"last_add_price": 126400
|
"last_add_price": 126400
|
||||||
@@ -123,10 +123,31 @@
|
|||||||
"scaled_out": false,
|
"scaled_out": false,
|
||||||
"entry_path": "pullback",
|
"entry_path": "pullback",
|
||||||
"entry_reason": "눌림목 지정가 7,457 도달",
|
"entry_reason": "눌림목 지정가 7,457 도달",
|
||||||
"cur_price": 6130,
|
"cur_price": 6150,
|
||||||
"tranches": 2,
|
"tranches": 2,
|
||||||
"tranche_value": 3652700.7210219903,
|
"tranche_value": 3652700.7210219903,
|
||||||
"last_add_price": 6550
|
"last_add_price": 6550
|
||||||
|
},
|
||||||
|
"194370": {
|
||||||
|
"code": "194370",
|
||||||
|
"name": "제이에스코퍼레이션",
|
||||||
|
"sources": [
|
||||||
|
"auto"
|
||||||
|
],
|
||||||
|
"qty": 594,
|
||||||
|
"entry_price": 13159.848484848484,
|
||||||
|
"entry_at": "2026-08-03T12:00:14.277904+09:00",
|
||||||
|
"stop": 11445,
|
||||||
|
"target": 18304,
|
||||||
|
"peak": 14120,
|
||||||
|
"trailing_on": false,
|
||||||
|
"scaled_out": false,
|
||||||
|
"entry_path": "breakout",
|
||||||
|
"entry_reason": "거래량·회전율 동반 전고점 돌파",
|
||||||
|
"cur_price": 13170,
|
||||||
|
"tranches": 2,
|
||||||
|
"tranche_value": 3916421.3406499997,
|
||||||
|
"last_add_price": 13420
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"realized_pnl": -21869459.08850001,
|
"realized_pnl": -21869459.08850001,
|
||||||
@@ -151,5 +172,5 @@
|
|||||||
"078930": "2026-07-31"
|
"078930": "2026-07-31"
|
||||||
},
|
},
|
||||||
"created_at": "2026-06-16T14:30:00.114884+09:00",
|
"created_at": "2026-06-16T14:30:00.114884+09:00",
|
||||||
"updated_at": "2026-07-31T15:28:10.715448+09:00"
|
"updated_at": "2026-08-03T15:28:11.043150+09:00"
|
||||||
}
|
}
|
||||||
@@ -68,3 +68,5 @@
|
|||||||
{"ts": "2026-07-30T09:50:08.620673+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 32, "cost": 4045407, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
{"ts": "2026-07-30T09:50:08.620673+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 32, "cost": 4045407, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
|
||||||
{"ts": "2026-07-31T09:06:09.979167+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 557, "cost": 3648897, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
{"ts": "2026-07-31T09:06:09.979167+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6550, "qty": 557, "cost": 3648897, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4793, "target": 10140, "signals": [{"label": "손절선", "ok": true, "detail": "4,793 (현재 6,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,140"}, {"label": "추세(10일선)", "ok": true, "detail": "5,308"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +355 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,453"}]}
|
||||||
{"ts": "2026-07-31T09:06:09.979659+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 96, "proceeds": 7444655, "entry_price": 89869, "pnl": -1184040, "pnl_pct": -13.54, "hold_from": "2026-07-23T09:46:06.441344+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,832 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,978"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
{"ts": "2026-07-31T09:06:09.979659+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 77700, "qty": 96, "proceeds": 7444655, "entry_price": 89869, "pnl": -1184040, "pnl_pct": -13.54, "hold_from": "2026-07-23T09:46:06.441344+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "78,832 (현재 78,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,978"}, {"label": "추세(10일선)", "ok": false, "detail": "79,880"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -179 · 기 +325"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
|
||||||
|
{"ts": "2026-08-03T12:00:14.277906+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 12910, "qty": 303, "cost": 3912317, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11314, "target": 17699, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "12,930 vs 12,003"}, {"label": "정배열(5>10)", "ok": true, "detail": "12,138 / 12,003"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "12,138 / 11,924"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +10 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+74%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.72% (환산) vs 평균 0.34% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,870"}, {"label": "거래량 급증", "ok": true, "detail": "208,994 (환산) vs 평균 99,303"}, {"label": "회전율 급증", "ok": true, "detail": "0.72% (환산) vs 평균 0.34%"}, {"label": "RSI", "ok": true, "detail": "63"}]}
|
||||||
|
{"ts": "2026-08-03T12:02:12.251087+09:00", "side": "BUY", "code": "194370", "name": "제이에스코퍼레이션", "price": 13420, "qty": 291, "cost": 3905806, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11314, "target": 17699, "signals": [{"label": "손절선", "ok": true, "detail": "11,314 (현재 13,450)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,699"}, {"label": "추세(10일선)", "ok": true, "detail": "12,055"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +7 · 기 +10"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,339"}]}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user