auto: 일일 백업 2026-09-30 02:00

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hyowons
2026-09-30 02:00:03 +09:00
parent 1c8af0b523
commit d8a778cf67
136 changed files with 1838 additions and 2128 deletions
@@ -5,9 +5,10 @@ import argparse
import json
import re
import subprocess
import sys
import urllib.parse
import urllib.request
from dataclasses import dataclass
from urllib.parse import urljoin
from datetime import date, datetime, timedelta
from html import unescape
from pathlib import Path
@@ -19,9 +20,19 @@ WORKSPACE = Path('/Users/snowoyh/.openclaw/agents/stock/workspace')
STATE_DIR = WORKSPACE / 'state'
STATE_DIR.mkdir(parents=True, exist_ok=True)
STATE_FILE = STATE_DIR / 'ipo_calendar_sync.json'
CONFIG_PATH = Path('/Users/snowoyh/.openclaw/openclaw.json')
TELEGRAM_ACCOUNT = 'stock'
SUBSCRIPTION_URL = 'https://www.38.co.kr/html/fund/index.htm?o=k'
NAVER_IPO_URL = 'https://finance.naver.com/sise/ipo.naver'
SOURCE_LABEL = '네이버 금융 IPO'
LISTING_URL = 'https://www.38.co.kr/html/fund/index.htm?o=nw'
NAVER_IPO_API_URL = 'https://stock.naver.com/api/domestic/market/ipo/progress'
SOURCE_LABEL = '네이버페이 증권 IPO'
LISTING_LOOKBACK_DAYS = 14
class IpoParserError(RuntimeError):
def __init__(self, errors: list[str]):
self.errors = errors
super().__init__('IPO 파서 전부 실패: ' + ' | '.join(errors))
@dataclass
@@ -32,6 +43,7 @@ class EventSpec:
end_date: date # inclusive
brokers: str
source_url: str
source_label: str = SOURCE_LABEL
@property
def summary(self) -> str:
@@ -49,7 +61,7 @@ class EventSpec:
f'종목명: {self.name}\n'
f'증권사: {self.brokers or "미확인"}\n'
f'{label}: {date_str}\n'
f'기준: {SOURCE_LABEL}\n'
f'기준: {self.source_label}\n'
f'출처: {self.source_url}'
)
@@ -65,6 +77,38 @@ def run(cmd: list[str]) -> str:
return p.stdout
def send_telegram(text: str) -> bool:
try:
cfg = json.loads(CONFIG_PATH.read_text())
acct = cfg['channels']['telegram']['accounts'][TELEGRAM_ACCOUNT]
token = acct['botToken']
chat_ids = acct.get('allowFrom') or []
except Exception as e:
print(f'telegram cfg load failed: {e}', file=sys.stderr)
return False
if not chat_ids:
print('no telegram chat_ids', file=sys.stderr)
return False
url = f'https://api.telegram.org/bot{token}/sendMessage'
ok = True
for chat_id in chat_ids:
body = urllib.parse.urlencode({
'chat_id': chat_id,
'text': text[:4000],
'disable_web_page_preview': 'true',
}).encode()
try:
req = urllib.request.Request(url, data=body, method='POST')
with urllib.request.urlopen(req, timeout=15) as response:
if response.status != 200:
ok = False
except Exception as e:
print(f'telegram send failed: {e}', file=sys.stderr)
ok = False
return ok
def fetch(url: str, encoding: str = 'euc-kr') -> str:
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
with urllib.request.urlopen(req, timeout=30) as r:
@@ -106,108 +150,167 @@ def parse_date_range(text: str) -> tuple[date, date] | None:
return date(y, m1, d1), date(y, m2, d2)
def parse_single_date(text: str) -> date | None:
m = re.match(r'(\d{4})\.(\d{2})\.(\d{2})$', text.strip())
if not m:
return None
y, mm, dd = map(int, m.groups())
return date(y, mm, dd)
def _naver_api_rows(payload: dict) -> list[dict]:
"""네이버 IPO progress API의 단계별 배열을 종목 단위로 합친다."""
list_keys = (
'examinationList', 'demandForecastingList', 'forecastingCompleteList',
'subscriptionList', 'subscriptionCompleteList', 'listingList',
)
if not isinstance(payload, dict) or not any(key in payload for key in list_keys):
raise ValueError('네이버 IPO API 스키마 불일치')
rows: dict[str, dict] = {}
for key in list_keys:
items = payload.get(key) or []
if not isinstance(items, list):
raise ValueError(f'네이버 IPO API {key} 타입 불일치')
for item in items:
if not isinstance(item, dict):
continue
code = (item.get('ipoCode') or item.get('itemCode') or '').strip()
name = (item.get('compName') or item.get('stockName') or '').strip()
if not code or not name:
continue
rows[code] = {**rows.get(code, {}), **item}
return list(rows.values())
def extract_next_data_json(html: str) -> dict:
m = re.search(r'<script id="__NEXT_DATA__" type="application/json">(.*?)</script>', html, re.S)
if not m:
return {}
try:
return json.loads(m.group(1))
except Exception:
return {}
def parse_naver_api_events_from(cutoff: date) -> list[EventSpec]:
payload = json.loads(fetch(NAVER_IPO_API_URL, encoding='utf-8'))
events: list[EventSpec] = []
for info in _naver_api_rows(payload):
code = info.get('ipoCode') or info.get('itemCode')
name = (info.get('compName') or info.get('stockName') or '').strip()
brokers = (info.get('orgNm') or '').strip()
source_url = f'https://stock.naver.com/ipo/{code}'
def extract_naver_ipo_detail(detail_url: str) -> dict:
html = fetch(detail_url, encoding='utf-8')
data = extract_next_data_json(html)
queries = data.get('props', {}).get('pageProps', {}).get('dehydratedState', {}).get('queries', [])
for q in queries:
result = q.get('state', {}).get('data', {}).get('result', {})
ipo_info = result.get('ipoInfo')
if ipo_info:
return ipo_info
return {}
def extract_naver_ipo_entries() -> list[dict]:
html = fetch(NAVER_IPO_URL, encoding='auto')
entries = []
seen = set()
for m in re.finditer(r'<div class="item_area" id="([^"]+)">.*?<a href="(https://m\.stock\.naver\.com/ipo/[^"]+)"[^>]*>(.*?)</a>', html, re.S):
code = m.group(1).strip()
detail_url = m.group(2).strip()
name = clean_text(m.group(3))
if not code or code in seen or not name:
continue
seen.add(code)
entries.append({'code': code, 'name': name, 'detail_url': detail_url})
return entries
def extract_brokers_from_naver_detail(detail_url: str) -> tuple[dict, str]:
html = fetch(detail_url, encoding='utf-8')
data = extract_next_data_json(html)
queries = data.get('props', {}).get('pageProps', {}).get('dehydratedState', {}).get('queries', [])
ipo_info = {}
brokers = []
for q in queries:
result = q.get('state', {}).get('data', {}).get('result', {})
if isinstance(result, dict) and result.get('ipoInfo'):
ipo_info = result.get('ipoInfo') or {}
join_managers = result.get('joinManagers') or []
for item in join_managers:
if not isinstance(item, dict):
continue
name = (item.get('orgNm') or '').strip()
if name and name not in brokers:
brokers.append(name)
break
return ipo_info, ','.join(brokers)
def parse_subscription_events_from(cutoff: date) -> list[EventSpec]:
events = []
for entry in extract_naver_ipo_entries():
info, brokers = extract_brokers_from_naver_detail(entry['detail_url'])
start_raw = (info.get('poStartDate') or '').strip()
end_raw = (info.get('poEndDate') or '').strip()
if not start_raw or not end_raw or '미정' in start_raw or '미정' in end_raw:
continue
try:
start_date = date.fromisoformat(start_raw)
end_date = date.fromisoformat(end_raw)
except ValueError:
continue
if end_date <= cutoff:
continue
events.append(EventSpec('subscription', info.get('compName') or entry['name'], start_date, end_date, brokers, entry['detail_url']))
if start_raw and end_raw:
try:
start_date = date.fromisoformat(start_raw)
end_date = date.fromisoformat(end_raw)
except ValueError:
pass
else:
if end_date >= cutoff:
events.append(EventSpec(
'subscription', name, start_date, end_date, brokers, source_url
))
listed_raw = (info.get('lcalDate') or info.get('listingDate') or '').strip()
if listed_raw:
try:
listed_date = date.fromisoformat(listed_raw)
except ValueError:
pass
else:
if listed_date >= cutoff:
events.append(EventSpec(
'listing', name, listed_date, listed_date, brokers, source_url
))
return events
def parse_listed_events_from(cutoff: date) -> list[EventSpec]:
events = []
for entry in extract_naver_ipo_entries():
info, brokers = extract_brokers_from_naver_detail(entry['detail_url'])
listed_raw = (info.get('lcalDate') or info.get('listingDate') or info.get('listDate') or '').strip()
if not listed_raw or '미정' in listed_raw:
def _table_by_summary(html: str, summary: str) -> str:
match = re.search(
r'<table[^>]*summary=["\']' + re.escape(summary) + r'["\'][^>]*>(.*?)</table>',
html,
re.S | re.I,
)
if not match:
raise ValueError(f'38커뮤니케이션 테이블 없음: {summary}')
return match.group(0)
def parse_38_subscription_html(html: str, cutoff: date) -> list[EventSpec]:
events: list[EventSpec] = []
for cols in parse_html_rows(_table_by_summary(html, '공모주 청약일정')):
if len(cols) < 6 or cols[0] == '종목명':
continue
parsed = parse_date_range(cols[1])
if not parsed:
continue
start_date, end_date = parsed
if end_date < cutoff:
continue
events.append(EventSpec(
'subscription', cols[0], start_date, end_date, cols[5], SUBSCRIPTION_URL,
source_label='38커뮤니케이션 IPO',
))
return events
def parse_38_listing_html(html: str, cutoff: date) -> list[EventSpec]:
events: list[EventSpec] = []
for cols in parse_html_rows(_table_by_summary(html, '신규상장종목')):
if len(cols) < 2 or cols[0] == '기업명':
continue
try:
d = date.fromisoformat(listed_raw)
listed_date = date.fromisoformat(cols[1].replace('/', '-'))
except ValueError:
continue
if d <= cutoff:
if listed_date < cutoff:
continue
events.append(EventSpec('listing', info.get('compName') or entry['name'], d, d, brokers, entry['detail_url']))
events.append(EventSpec(
'listing', cols[0], listed_date, listed_date, '', LISTING_URL,
source_label='38커뮤니케이션 IPO',
))
return events
def parse_38_events_from(cutoff: date) -> list[EventSpec]:
subscriptions = parse_38_subscription_html(fetch(SUBSCRIPTION_URL), cutoff)
listing_cutoff = cutoff - timedelta(days=LISTING_LOOKBACK_DAYS)
listings = parse_38_listing_html(fetch(LISTING_URL), listing_cutoff)
# 보조 소스는 스팩 종목명이 주 소스와 크게 달라 과거 건을 중복 생성할 수 있다.
listings = [
ev for ev in listings
if ev.start_date == cutoff or '스팩' not in ev.name
]
return subscriptions + listings
def collect_ipo_events(cutoff: date) -> tuple[list[EventSpec], str, list[str]]:
"""네이버 API를 우선 사용하고 실패·0건이면 38 파서로 자동 전환한다.
네이버 API는 상장 당일 장 시작 후 종목을 listingList에서 제거하므로, 주 파서가
정상이어도 최근 14일 신규상장을 38 목록으로 보강한다.
"""
errors: list[str] = []
try:
events = parse_naver_api_events_from(cutoff)
except Exception as e:
events = []
errors.append(f'naver_api: {e}')
parser_used = 'naver_api'
if not events:
if not errors:
errors.append('naver_api: 수집 결과 0건')
try:
events = parse_38_events_from(cutoff)
parser_used = '38_fallback'
except Exception as e:
errors.append(f'38_fallback: {e}')
raise IpoParserError(errors) from e
else:
try:
listing_cutoff = cutoff - timedelta(days=LISTING_LOOKBACK_DAYS)
recent_listings = parse_38_listing_html(fetch(LISTING_URL), listing_cutoff)
existing_keys = {ev.state_key for ev in events}
events.extend(
ev for ev in recent_listings
if ev.state_key not in existing_keys
and ev.start_date <= cutoff
and (ev.start_date == cutoff or '스팩' not in ev.name)
)
except Exception as e:
errors.append(f'38_same_day: {e}')
deduped = {ev.state_key: ev for ev in events}
return list(deduped.values()), parser_used, errors
def load_state() -> dict:
if STATE_FILE.exists():
try:
@@ -221,6 +324,59 @@ def save_state(state: dict):
STATE_FILE.write_text(json.dumps(state, ensure_ascii=False, indent=2))
def update_parser_health(
state: dict,
status: str,
errors: list[str],
total_found: int,
dry_run: bool = False,
) -> None:
"""파서 상태가 바뀔 때만 알리고, 실패한 발송은 다음 실행에서 재시도한다."""
now_iso = datetime.now(KST).isoformat()
previous = state.get('parser_health_status')
state['parser_health_status'] = status
state['parser_health_checked_at'] = now_iso
state['parser_errors'] = errors
if status == 'healthy':
state['parser_last_success_at'] = now_iso
else:
state['parser_last_failure_at'] = now_iso
if dry_run:
return
message = None
if status == 'failed' and (
previous != status or state.get('parser_alerted_status') != status
):
message = (
'[IPO 일정] 파서 전체 실패\n'
+ '\n'.join(errors)
+ '\n캘린더 동기화를 중단했고 기존 일정은 유지했습니다.'
)
elif status == 'degraded' and (
previous != status or state.get('parser_alerted_status') != status
):
source = '38커뮤니케이션으로 자동 전환했습니다.'
if not any(error.startswith('naver_api:') for error in errors):
source = '네이버 주 파서는 정상이며 당일 상장 보강 파서만 실패했습니다.'
message = (
'[IPO 일정] 파서 일부 실패\n'
+ '\n'.join(errors)
+ f'\n{source}\n수집 결과: {total_found}건\n기존 일정 자동 삭제는 중지했습니다.'
)
elif status == 'healthy' and previous in {'degraded', 'failed'}:
message = (
'[IPO 일정] 파서 복구\n'
f'네이버 IPO API와 당일 상장 보강 파서가 정상입니다.\n수집 결과: {total_found}건'
)
if message and send_telegram(message):
state['parser_alerted_status'] = status
state['parser_alert_sent_at'] = now_iso
def event_key_from_summary(summary: str) -> tuple[str, str] | None:
summary = (summary or '').strip()
if summary.startswith('[공모청약] '):
@@ -314,13 +470,39 @@ def main():
args = parser.parse_args()
cutoff = datetime.now(KST).date()
events = parse_subscription_events_from(cutoff) + parse_listed_events_from(cutoff)
events.sort(key=lambda e: (e.start_date, e.kind, e.name))
state = load_state()
previous_parser_used = state.get('parser_used')
try:
events, parser_used, parser_errors = collect_ipo_events(cutoff)
except IpoParserError as e:
update_parser_health(state, 'failed', e.errors, 0, dry_run=args.dry_run)
state['last_run_at'] = datetime.now(KST).isoformat()
state['parser_used'] = 'failed'
if not args.dry_run:
save_state(state)
print(json.dumps({
'cutoff_after': cutoff.isoformat(),
'parser_used': 'failed',
'parser_errors': e.errors,
'total_found': 0,
'dry_run': args.dry_run,
}, ensure_ascii=False), file=sys.stderr)
return 1
events.sort(key=lambda e: (e.start_date, e.kind, e.name))
parser_health = 'degraded' if parser_errors else 'healthy'
update_parser_health(
state, parser_health, parser_errors, len(events), dry_run=args.dry_run
)
state['parser_used'] = parser_used
if not args.dry_run:
# 알림 상태를 먼저 저장해 이후 캘린더 작업 실패 시 같은 경보가 반복되지 않게 한다.
save_state(state)
end_date = max((ev.end_date for ev in events), default=cutoff) + timedelta(days=1)
# 사이트 스크래핑 실패 시 모든 일정이 삭제되는 사고 방지 — events 비면 cleanup 스킵
existing = {} if not events else fetch_existing_events(cutoff + timedelta(days=1), end_date)
listing_cutoff = cutoff - timedelta(days=LISTING_LOOKBACK_DAYS)
existing = {} if not events else fetch_existing_events(listing_cutoff, end_date)
created = []
updated = []
recreated = []
@@ -369,25 +551,32 @@ def main():
else:
unchanged += 1
# 사이트에서 사라진 일정은 캘린더에서도 삭제 (events 비면 위에서 existing이 빈 dict라 자동으로 스킵됨)
for key, existing_list in existing.items():
if key in event_keys:
continue
kind, name = key.split('|', 1)
for stale in existing_list:
delete_event(stale['id'], dry_run=args.dry_run)
deleted.append(key)
old_start, old_end = event_date_range(stale)
old_date = old_start if old_start == old_end or not old_end else f'{old_start}~{old_end}'
changes.append({'kind': kind, 'name': name, 'action': 'deleted', 'event_id': stale['id'], 'old_date': old_date})
# 보조 소스는 종목명 표기가 다를 수 있어 failover 실행 중에는 stale 삭제를 하지 않는다.
# 장기간 장애 후 복구 첫 실행도 오탐 삭제를 막고, 주 파서가 2회 연속 정상일 때만 정리한다.
cleanup_allowed = parser_used == 'naver_api' and previous_parser_used == 'naver_api'
if cleanup_allowed:
for key, existing_list in existing.items():
if key in event_keys:
continue
kind, name = key.split('|', 1)
for stale in existing_list:
old_start, old_end = event_date_range(stale)
# 소급 조회는 누락 상장 보강용이다. 이미 지난 일정은 삭제하지 않는다.
if old_end and date.fromisoformat(old_end) < cutoff:
continue
delete_event(stale['id'], dry_run=args.dry_run)
deleted.append(key)
old_date = old_start if old_start == old_end or not old_end else f'{old_start}~{old_end}'
changes.append({'kind': kind, 'name': name, 'action': 'deleted', 'event_id': stale['id'], 'old_date': old_date})
state['last_changes'] = changes
state['last_run_at'] = datetime.now(KST).isoformat()
if not args.dry_run:
save_state(state)
print(json.dumps({'cutoff_after': cutoff.isoformat(), 'total_found': len(events), 'newly_created': len(created), 'updated': len(updated), 'recreated': len(recreated), 'deleted': len(deleted), 'duplicates_removed': len(duplicates_removed), 'unchanged': unchanged, 'dry_run': args.dry_run, 'changes': changes}, ensure_ascii=False))
print(json.dumps({'cutoff_after': cutoff.isoformat(), 'parser_used': parser_used, 'parser_errors': parser_errors, 'total_found': len(events), 'newly_created': len(created), 'updated': len(updated), 'recreated': len(recreated), 'deleted': len(deleted), 'duplicates_removed': len(duplicates_removed), 'unchanged': unchanged, 'dry_run': args.dry_run, 'changes': changes}, ensure_ascii=False))
return 0
if __name__ == '__main__':
main()
raise SystemExit(main())
@@ -0,0 +1,160 @@
import sys
import unittest
from datetime import date
from pathlib import Path
from unittest.mock import patch
SCRIPTS = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(SCRIPTS))
import ipo_calendar_sync as sync
class IpoParserTests(unittest.TestCase):
def test_naver_api_parser_includes_cutoff_date(self):
payload = {
'examinationList': [],
'demandForecastingList': [],
'forecastingCompleteList': [],
'subscriptionList': [{
'ipoCode': 'A0035S0',
'compName': '빅웨이브로보틱스',
'poStartDate': '2026-09-15',
'poEndDate': '2026-09-16',
'lcalDate': '2026-09-29',
'orgNm': '한국투자증권',
}],
'subscriptionCompleteList': [],
'listingList': [],
}
with patch.object(sync, 'fetch', return_value=sync.json.dumps(payload)):
events = sync.parse_naver_api_events_from(date(2026, 9, 29))
self.assertEqual([(e.kind, e.name) for e in events], [
('listing', '빅웨이브로보틱스'),
])
self.assertEqual(events[0].start_date, date(2026, 9, 29))
def test_38_parsers_read_subscription_and_listing_tables(self):
subscription_html = '''
<table summary="공모주 청약일정"><tbody>
<tr><th>종목명</th><th>공모주일정</th><th>확정공모가</th><th>희망공모가</th><th>경쟁률</th><th>주간사</th></tr>
<tr><td>넥스아이</td><td>2026.11.03~11.04</td><td>-</td><td>-</td><td></td><td>한국투자증권</td></tr>
</tbody></table>'''
listing_html = '''
<table summary="신규상장종목"><tbody>
<tr><th>기업명</th><th>신규상장일</th></tr>
<tr><td>빅웨이브로보틱스</td><td>2026/09/29</td></tr>
</tbody></table>'''
subscriptions = sync.parse_38_subscription_html(
subscription_html, date(2026, 9, 29)
)
listings = sync.parse_38_listing_html(listing_html, date(2026, 9, 29))
self.assertEqual(subscriptions[0].start_date, date(2026, 11, 3))
self.assertEqual(subscriptions[0].brokers, '한국투자증권')
self.assertEqual(listings[0].name, '빅웨이브로보틱스')
self.assertEqual(listings[0].start_date, date(2026, 9, 29))
def test_zero_primary_result_switches_to_38_fallback(self):
fallback = sync.EventSpec(
'listing', '빅웨이브로보틱스', date(2026, 9, 29),
date(2026, 9, 29), '', sync.LISTING_URL,
source_label='38커뮤니케이션 IPO',
)
with patch.object(sync, 'parse_naver_api_events_from', return_value=[]), patch.object(
sync, 'parse_38_events_from', return_value=[fallback]
):
events, parser_used, errors = sync.collect_ipo_events(date(2026, 9, 29))
self.assertEqual(parser_used, '38_fallback')
self.assertEqual(events, [fallback])
self.assertEqual(errors, ['naver_api: 수집 결과 0건'])
def test_all_parser_failures_raise_structured_error(self):
with patch.object(
sync, 'parse_naver_api_events_from', side_effect=ValueError('schema changed')
), patch.object(
sync, 'parse_38_events_from', side_effect=ValueError('table changed')
):
with self.assertRaises(sync.IpoParserError) as caught:
sync.collect_ipo_events(date(2026, 9, 29))
self.assertEqual(caught.exception.errors, [
'naver_api: schema changed',
'38_fallback: table changed',
])
def test_parser_alert_is_deduplicated_and_recovery_is_reported(self):
state = {}
errors = ['naver_api: 수집 결과 0건']
with patch.object(sync, 'send_telegram', return_value=True) as send:
sync.update_parser_health(state, 'degraded', errors, 12)
sync.update_parser_health(state, 'degraded', errors, 12)
sync.update_parser_health(state, 'healthy', [], 18)
self.assertEqual(send.call_count, 2)
self.assertIn('파서 일부 실패', send.call_args_list[0].args[0])
self.assertIn('파서 복구', send.call_args_list[1].args[0])
self.assertEqual(state['parser_alerted_status'], 'healthy')
def test_failed_alert_is_retried_on_next_run(self):
state = {}
errors = ['naver_api: timeout', '38_fallback: timeout']
with patch.object(sync, 'send_telegram', side_effect=[False, True]) as send:
sync.update_parser_health(state, 'failed', errors, 0)
sync.update_parser_health(state, 'failed', errors, 0)
self.assertEqual(send.call_count, 2)
self.assertEqual(state['parser_alerted_status'], 'failed')
def test_primary_parser_gets_same_day_listing_augmentation(self):
future = sync.EventSpec(
'subscription', '넥스아이', date(2026, 11, 3), date(2026, 11, 4),
'한국투자증권', 'https://stock.naver.com/ipo/A493410',
)
listing_html = '''
<table summary="신규상장종목"><tbody>
<tr><th>기업명</th><th>신규상장일</th></tr>
<tr><td>빅웨이브로보틱스</td><td>2026/09/29</td></tr>
</tbody></table>'''
with patch.object(sync, 'parse_naver_api_events_from', return_value=[future]), patch.object(
sync, 'fetch', return_value=listing_html
):
events, parser_used, errors = sync.collect_ipo_events(date(2026, 9, 29))
self.assertEqual(parser_used, 'naver_api')
self.assertEqual(errors, [])
self.assertEqual({e.state_key for e in events}, {
'subscription|넥스아이', 'listing|빅웨이브로보틱스',
})
def test_primary_parser_backfills_recent_non_spac_listing(self):
future = sync.EventSpec(
'subscription', '넥스아이', date(2026, 11, 3), date(2026, 11, 4),
'한국투자증권', 'https://stock.naver.com/ipo/A493410',
)
listing_html = '''
<table summary="신규상장종목"><tbody>
<tr><th>기업명</th><th>신규상장일</th></tr>
<tr><td>와이즈플래닛컴퍼니</td><td>2026/09/23</td></tr>
<tr><td>KB스팩34호</td><td>2026/09/22</td></tr>
<tr><td>덕산넵코어스(구.넵코어스)</td><td>2026/09/30</td></tr>
</tbody></table>'''
with patch.object(sync, 'parse_naver_api_events_from', return_value=[future]), patch.object(
sync, 'fetch', return_value=listing_html
):
events, parser_used, errors = sync.collect_ipo_events(date(2026, 9, 29))
self.assertEqual(parser_used, 'naver_api')
self.assertEqual(errors, [])
self.assertIn('listing|와이즈플래닛컴퍼니', {e.state_key for e in events})
self.assertNotIn('listing|KB스팩34호', {e.state_key for e in events})
self.assertNotIn(
'listing|덕산넵코어스(구.넵코어스)', {e.state_key for e in events}
)
if __name__ == '__main__':
unittest.main()
@@ -174,3 +174,5 @@
{"date": "2026-09-23", "market": "KOSPI", "market_label": "코스피", "rise": 311, "upper": 0, "fall": 548, "lower": 0, "steady": 55, "adr": 56.75, "personal": -14649, "foreign": -4942, "institutional": 3189, "captured_at": "2026-09-23T21:00:06.222401+09:00"}
{"date": "2026-09-28", "market": "KOSDAQ", "market_label": "코스닥", "rise": 967, "upper": 11, "fall": 681, "lower": 3, "steady": 88, "adr": 142.98, "personal": 223, "foreign": 469, "institutional": -747, "captured_at": "2026-09-28T21:00:06.010555+09:00"}
{"date": "2026-09-28", "market": "KOSPI", "market_label": "코스피", "rise": 611, "upper": 1, "fall": 249, "lower": 0, "steady": 54, "adr": 245.78, "personal": 26467, "foreign": -32682, "institutional": -10169, "captured_at": "2026-09-28T21:00:06.010555+09:00"}
{"date": "2026-09-29", "market": "KOSDAQ", "market_label": "코스닥", "rise": 571, "upper": 4, "fall": 1084, "lower": 5, "steady": 87, "adr": 52.8, "personal": 1469, "foreign": -1305, "institutional": 66, "captured_at": "2026-09-29T21:00:05.779795+09:00"}
{"date": "2026-09-29", "market": "KOSPI", "market_label": "코스피", "rise": 232, "upper": 0, "fall": 624, "lower": 0, "steady": 58, "adr": 37.18, "personal": 12447, "foreign": -29922, "institutional": 1041, "captured_at": "2026-09-29T21:00:05.779795+09:00"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 5572914.42378125,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 5640114.3750312505,
"last_add_price": 353000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4803063.4110624995,
"last_add_price": 13420
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4801549.203874999,
"last_add_price": 11930
@@ -97,12 +97,12 @@
"entry_at": "2026-09-04T10:32:21.056829+09:00",
"stop": 10340,
"target": 22696,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,168 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 3703169.8275951464,
"last_add_price": 13820
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 124600,
"cur_price": 117000,
"tranches": 2,
"tranche_value": 4783418.996406249,
"last_add_price": 133000
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 1,
"tranche_value": 4659198.910937498,
"last_add_price": 36450
@@ -198,5 +198,5 @@
"003550": "2026-09-15"
},
"created_at": "2026-06-11T09:00:01.943184+09:00",
"updated_at": "2026-09-28T15:28:38.833148+09:00"
"updated_at": "2026-09-29T15:28:37.532726+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3504336.4241500003,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 2850,
"cur_price": 2840,
"tranches": 1,
"tranche_value": 5588552.318031251,
"last_add_price": 2945
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3334430.645615085,
"last_add_price": 11930
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4741640.48120924,
"last_add_price": 36150
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1651454.8079885093,
"last_add_price": 7390
@@ -137,14 +137,14 @@
"qty": 304,
"entry_price": 13496.184210526315,
"entry_at": "2026-09-07T15:06:35.044589+09:00",
"stop": 16563,
"stop": 17600,
"target": 18110,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,160 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2059070.58259455,
"last_add_price": 13930
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 271750,
"cur_price": 272500,
"tranches": 1,
"tranche_value": 5019627.339562932,
"last_add_price": 282500
@@ -196,5 +196,5 @@
"004370": "2026-09-21"
},
"created_at": "2026-06-11T09:00:01.944232+09:00",
"updated_at": "2026-09-28T15:28:49.162602+09:00"
"updated_at": "2026-09-29T15:28:46.491378+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3497500.5799993444,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5336831.603500004,
"last_add_price": 32750
@@ -53,14 +53,14 @@
"qty": 272,
"entry_price": 14105.33088235294,
"entry_at": "2026-09-04T11:14:26.495104+09:00",
"stop": 16563,
"stop": 17600,
"target": 18636,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,946 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1928587.8820308954,
"last_add_price": 14660
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1653071.9448850204,
"last_add_price": 7390
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,977 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3370314.5438456116,
"last_add_price": 12170
@@ -118,12 +118,12 @@
"entry_at": "2026-09-22T09:02:46.938295+09:00",
"stop": 121395,
"target": 214288,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 157,986 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1773948.7536711907,
"last_add_price": 164000
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,336 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2212317.899773747,
"last_add_price": 20050
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,148 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 1,
"tranche_value": 5419734.413812503,
"last_add_price": 6050
@@ -199,5 +199,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-11T09:00:01.944251+09:00",
"updated_at": "2026-09-28T15:28:49.165244+09:00"
"updated_at": "2026-09-29T15:28:46.494079+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 36775104.71575004,
"cash": 33303424.04175004,
"initial": 100000000,
"positions": {
"327260": {
@@ -11,14 +11,14 @@
"qty": 97,
"entry_price": 34562.886597938144,
"entry_at": "2026-08-20T09:02:17.450989+09:00",
"stop": 43470,
"stop": 43636,
"target": 49986,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1699505.011186723,
"last_add_price": 35800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,946 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4850367.628093753,
"last_add_price": 32400
@@ -53,14 +53,14 @@
"qty": 335,
"entry_price": 14067.880597014926,
"entry_at": "2026-09-03T09:02:24.986233+09:00",
"stop": 16563,
"stop": 17600,
"target": 18598,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,982 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2363869.6412348715,
"last_add_price": 14660
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 12,003 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4373273.034451844,
"last_add_price": 12290
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 1,
"tranche_value": 3977003.979830668,
"last_add_price": 117800
@@ -113,20 +113,20 @@
"sources": [
"watch"
],
"qty": 681,
"entry_price": 5100,
"qty": 1325,
"entry_price": 5240.950943396227,
"entry_at": "2026-09-15T10:28:40.300992+09:00",
"stop": 4497,
"target": 6305,
"peak": 5410,
"stop": 4646,
"target": 6431,
"peak": 5710,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 5,108 도달",
"cur_price": 5200,
"tranches": 1,
"cur_price": 5650,
"tranches": 2,
"tranche_value": 3476292.7545329626,
"last_add_price": 5100
"last_add_price": 5390
},
"372170": {
"code": "372170",
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,341 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2789435.574661536,
"last_add_price": 20200
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,386 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 1,
"tranche_value": 5079314.422828128,
"last_add_price": 16170
@@ -205,5 +205,5 @@
"004370": "2026-09-17"
},
"created_at": "2026-06-11T09:00:01.944270+09:00",
"updated_at": "2026-09-28T15:28:49.167975+09:00"
"updated_at": "2026-09-29T15:28:46.496812+09:00"
}
@@ -169,3 +169,4 @@
{"ts": "2026-09-17T09:04:38.313675+09:00", "side": "SELL", "code": "004370", "name": "농심", "price": 392500, "qty": 12, "proceeds": 4700816, "entry_price": 418500, "pnl": -321938, "pnl_pct": -6.21, "hold_from": "2026-09-09T09:04:29.143160+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "393,372 (현재 393,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 468,756"}, {"label": "추세(20일선)", "ok": true, "detail": "382,875"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +1"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 427,680"}]}
{"ts": "2026-09-17T09:04:38.748549+09:00", "side": "BUY", "code": "300720", "name": "한일시멘트", "price": 16170, "qty": 314, "cost": 5078142, "path": "pullback", "reason": "눌림목 지정가 16,386 도달", "stop": 15324, "target": 17862, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "16,080 vs 15,208"}, {"label": "정배열(5>20)", "ok": true, "detail": "16,298 / 15,208"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "16,298 / 14,435"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+16.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +7 · 기 +8 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+27%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.02% (환산) vs 평균 0.12% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 17,140"}, {"label": "거래량 급증", "ok": false, "detail": "11,173 (환산) vs 평균 89,609"}, {"label": "회전율 급증", "ok": false, "detail": "0.02% (환산) vs 평균 0.12%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 16,386 (현재 16,080)"}]}
{"ts": "2026-09-18T10:36:42.187283+09:00", "side": "BUY", "code": "041520", "name": "이엘씨", "price": 12290, "qty": 355, "cost": 4363604, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 10784, "target": 14102, "signals": [{"label": "손절선", "ok": true, "detail": "10,784 (현재 12,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,102"}, {"label": "추세(20일선)", "ok": true, "detail": "10,178"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +17 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 12,253"}]}
{"ts": "2026-09-29T11:06:44.794791+09:00", "side": "BUY", "code": "261520", "name": "이지스", "price": 5390, "qty": 644, "cost": 3471681, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4497, "target": 6305, "signals": [{"label": "손절선", "ok": true, "detail": "4,497 (현재 5,350)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,305"}, {"label": "추세(20일선)", "ok": true, "detail": "4,490"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -18 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 5,298"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 5180051.180047499,
"last_add_price": 125200
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4464385.527789056,
"last_add_price": 13420
@@ -53,14 +53,14 @@
"qty": 357,
"entry_price": 14066.050420168067,
"entry_at": "2026-09-03T09:02:24.991070+09:00",
"stop": 16563,
"stop": 17600,
"target": 18596,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,982 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2517324.6404987266,
"last_add_price": 14660
@@ -76,12 +76,12 @@
"entry_at": "2026-09-04T11:14:26.856101+09:00",
"stop": 2875,
"target": 3831,
"peak": 3285,
"peak": 3370,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 3,140 도달",
"cur_price": 3210,
"cur_price": 3265,
"tranches": 2,
"tranche_value": 4146153.6468727933,
"last_add_price": 3255
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 2135715.450247605,
"last_add_price": 7390
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,341 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2842559.6395269656,
"last_add_price": 20200
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,955 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4111186.507374883,
"last_add_price": 12170
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,155 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 1,
"tranche_value": 5205107.041859375,
"last_add_price": 6130
@@ -199,5 +199,5 @@
"004370": "2026-09-18"
},
"created_at": "2026-06-11T09:00:01.944290+09:00",
"updated_at": "2026-09-28T15:28:49.170536+09:00"
"updated_at": "2026-09-29T15:28:46.499341+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 5184250.1290937485,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 4675255.455593748,
"last_add_price": 120500
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4550435.925312498,
"last_add_price": 125200
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 4604300.898906248,
"last_add_price": 136000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4446388.7381874975,
"last_add_price": 13420
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 2315542.8746463708,
"last_add_price": 35800
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4361206.427093747,
"last_add_price": 32750
@@ -160,12 +160,12 @@
"entry_at": "2026-09-10T09:00:57.076883+09:00",
"stop": 10458,
"target": 22762,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,977 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 3390239.348206665,
"last_add_price": 13930
@@ -199,5 +199,5 @@
"161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.582771+09:00",
"updated_at": "2026-09-28T15:28:50.332258+09:00"
"updated_at": "2026-09-29T15:28:47.679166+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4920739.488124997,
"last_add_price": 13420
@@ -32,14 +32,14 @@
"qty": 147,
"entry_price": 34559.183673469386,
"entry_at": "2026-08-20T09:02:17.463463+09:00",
"stop": 43470,
"stop": 43636,
"target": 49982,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 2545799.7712668725,
"last_add_price": 35800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4784721.199968747,
"last_add_price": 32750
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4975122.724249996,
"last_add_price": 30200
@@ -95,14 +95,14 @@
"qty": 543,
"entry_price": 13534.364640883978,
"entry_at": "2026-09-10T09:00:57.191927+09:00",
"stop": 16563,
"stop": 17600,
"target": 18148,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,977 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 3681766.0445766635,
"last_add_price": 13930
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,977 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 5111363.335968746,
"last_add_price": 12170
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 1,
"tranche_value": 5117033.466531246,
"last_add_price": 339000
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 39,564 도달",
"cur_price": 38700,
"cur_price": 38000,
"tranches": 1,
"tranche_value": 5166557.9274999965,
"last_add_price": 39200
@@ -201,5 +201,5 @@
"012450": "2026-09-15"
},
"created_at": "2026-06-15T14:55:00.582787+09:00",
"updated_at": "2026-09-28T15:28:50.349581+09:00"
"updated_at": "2026-09-29T15:28:47.694108+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 19508149.522499956,
"cash": 23649657.802499957,
"initial": 100000000,
"positions": {
"086790": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4697478.874937497,
"last_add_price": 125200
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4594021.1274374975,
"last_add_price": 13420
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 2377721.795719703,
"last_add_price": 35800
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4467750.718124997,
"last_add_price": 32750
@@ -95,39 +95,18 @@
"qty": 501,
"entry_price": 13647.724550898203,
"entry_at": "2026-09-09T14:22:31.922572+09:00",
"stop": 10572,
"stop": 17600,
"target": 19800,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,936 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 3428684.1695128847,
"last_add_price": 14070
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 52,
"entry_price": 89700,
"entry_at": "2026-09-10T09:00:57.309498+09:00",
"stop": 78721,
"target": 111658,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 4704444.468062498,
"last_add_price": 89700
},
"078930": {
"code": "078930",
"name": "GS",
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 1,
"tranche_value": 4675233.334531248,
"last_add_price": 117800
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 1,
"tranche_value": 4832581.963906247,
"last_add_price": 339000
}
},
"realized_pnl": -27573113.85750004,
"closed_trades": 46,
"realized_pnl": -28096705.237500038,
"closed_trades": 47,
"wins": 6,
"peak_equity": 103066363.367,
"max_drawdown": 0.31212123491203,
@@ -198,8 +177,9 @@
"090850": "2026-08-05",
"161890": "2026-07-30",
"138040": "2026-09-08",
"012450": "2026-09-15"
"012450": "2026-09-15",
"034020": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.582803+09:00",
"updated_at": "2026-09-28T15:28:50.358602+09:00"
"updated_at": "2026-09-29T15:28:47.703823+09:00"
}
@@ -130,3 +130,4 @@
{"ts": "2026-09-10T14:02:38.272726+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 117800, "qty": 39, "cost": 4594889, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 101849, "target": 149701, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "117,700 vs 76,545"}, {"label": "정배열(5>20)", "ok": true, "detail": "88,900 / 76,545"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "88,900 / 75,550"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +196 · 기 -113 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.95% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "884,443 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.95% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "82"}]}
{"ts": "2026-09-15T10:28:40.921701+09:00", "side": "SELL", "code": "012450", "name": "한화에어로스페이스", "price": 1063000, "qty": 8, "proceeds": 8487417, "entry_price": 1049000, "pnl": 94158, "pnl_pct": 1.33, "hold_from": "2026-09-09T09:02:32.847713+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,064,063 (현재 1,064,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": false, "detail": "1,089,400"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +88 · 기 -20"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-15T10:28:40.923178+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 339000, "qty": 14, "cost": 4746712, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 298363, "target": 420274, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "338,500 vs 296,050"}, {"label": "정배열(5>20)", "ok": true, "detail": "313,900 / 296,050"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "313,900 / 305,392"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+15.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +151 · 기 -226 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+53%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.77% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "183,551 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "1.77% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "64"}]}
{"ts": "2026-09-29T09:04:45.501854+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79800, "qty": 52, "proceeds": 4141508, "entry_price": 89700, "pnl": -523591, "pnl_pct": -11.04, "hold_from": "2026-09-10T09:00:57.309498+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "78,721 (현재 79,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,658"}, {"label": "추세(20일선)", "ok": false, "detail": "79,745"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,073"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4929642.288776176,
"last_add_price": 125200
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4296364.655919675,
"last_add_price": 13420
@@ -53,14 +53,14 @@
"qty": 100,
"entry_price": 34552.0,
"entry_at": "2026-08-20T09:02:17.470693+09:00",
"stop": 43470,
"stop": 43636,
"target": 49975,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1744609.622982949,
"last_add_price": 35800
@@ -74,14 +74,14 @@
"qty": 346,
"entry_price": 14066.936416184972,
"entry_at": "2026-09-03T09:02:25.006986+09:00",
"stop": 16563,
"stop": 17600,
"target": 18597,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,982 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2434547.9721527454,
"last_add_price": 14660
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 1,
"tranche_value": 4627244.071259187,
"last_add_price": 339000
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,358 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2897546.077914521,
"last_add_price": 20400
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,155 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 1,
"tranche_value": 5190716.56796875,
"last_add_price": 6130
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 39,564 도달",
"cur_price": 38700,
"cur_price": 38000,
"tranches": 1,
"tranche_value": 3271475.3092826386,
"last_add_price": 39150
@@ -204,5 +204,5 @@
"034020": "2026-09-23"
},
"created_at": "2026-06-15T14:55:00.582834+09:00",
"updated_at": "2026-09-28T15:28:50.365587+09:00"
"updated_at": "2026-09-29T15:28:47.712068+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 31495582.38794992,
"cash": 26646855.187949922,
"initial": 100000000,
"positions": {
"194370": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4489026.732352336,
"last_add_price": 13420
@@ -32,14 +32,14 @@
"qty": 102,
"entry_price": 34552.94117647059,
"entry_at": "2026-08-20T09:02:17.473909+09:00",
"stop": 43470,
"stop": 43636,
"target": 46120,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1773404.3510667775,
"last_add_price": 35800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 4928101.458627134,
"last_add_price": 50000
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4133528.1959721213,
"last_add_price": 11930
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,342 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 2547466.077043123,
"last_add_price": 4795
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,361 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2705294.1080848053,
"last_add_price": 20200
@@ -134,20 +134,20 @@
"sources": [
"auto"
],
"qty": 12,
"entry_price": 392500,
"qty": 24,
"entry_price": 398250.0,
"entry_at": "2026-09-17T09:08:41.275045+09:00",
"stop": 372500,
"target": 422500,
"peak": 399000,
"target": 436875,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,907 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4952859.68257812,
"last_add_price": 392500
"last_add_price": 404000
},
"307870": {
"code": "307870",
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,186 도달",
"cur_price": 1259,
"cur_price": 1200,
"tranches": 2,
"tranche_value": 2987167.71407031,
"last_add_price": 1235
@@ -203,5 +203,5 @@
"034020": "2026-09-23"
},
"created_at": "2026-06-15T14:55:00.582849+09:00",
"updated_at": "2026-09-28T15:28:50.371493+09:00"
"updated_at": "2026-09-29T15:28:47.718385+09:00"
}
@@ -158,3 +158,4 @@
{"ts": "2026-09-23T11:02:53.753443+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 81300, "qty": 49, "proceeds": 3975932, "entry_price": 89700, "pnl": -420028, "pnl_pct": -9.36, "hold_from": "2026-09-10T09:00:57.526385+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "81,466 (현재 81,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 102,051"}, {"label": "추세(20일선)", "ok": true, "detail": "79,835"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -1,638 · 기 -467"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,280"}]}
{"ts": "2026-09-23T11:02:53.754521+09:00", "side": "BUY", "code": "307870", "name": "비투엔", "price": 1183, "qty": 2524, "cost": 2986340, "path": "pullback", "reason": "눌림목 지정가 1,186 도달", "stop": 1027, "target": 1417, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "1,183 vs 1,140"}, {"label": "정배열(5>20)", "ok": true, "detail": "1,310 / 1,140"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,310 / 1,000"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -138 · 기 +1 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 1.90% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,390"}, {"label": "거래량 급증", "ok": false, "detail": "344,349 (환산) vs 평균 1,410,399"}, {"label": "회전율 급증", "ok": false, "detail": "0.46% (환산) vs 평균 1.90%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,186 (현재 1,183)"}]}
{"ts": "2026-09-23T15:12:49.485646+09:00", "side": "BUY", "code": "307870", "name": "비투엔", "price": 1235, "qty": 2418, "cost": 2986678, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 1027, "target": 1417, "signals": [{"label": "손절선", "ok": true, "detail": "1,027 (현재 1,235)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,417"}, {"label": "추세(20일선)", "ok": true, "detail": "1,142"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -132 · 기 +1"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 1,235"}]}
{"ts": "2026-09-29T09:30:45.982248+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 404000, "qty": 12, "cost": 4848727, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 422500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 402,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 422,500"}, {"label": "추세(20일선)", "ok": true, "detail": "383,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 401,537"}]}
@@ -1,5 +1,5 @@
{
"cash": 26136845.34599997,
"cash": 21692178.74599997,
"initial": 100000000,
"positions": {
"194370": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4188989.7646745183,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1684859.3510976394,
"last_add_price": 35800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 4686399.784966664,
"last_add_price": 50000
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,563 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3841219.293311723,
"last_add_price": 11890
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,342 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 2440070.444136775,
"last_add_price": 4795
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 1,
"tranche_value": 3791358.59699398,
"last_add_price": 117800
@@ -134,20 +134,20 @@
"sources": [
"auto"
],
"qty": 12,
"entry_price": 392500,
"qty": 23,
"entry_price": 398000.0,
"entry_at": "2026-09-17T09:08:41.281141+09:00",
"stop": 372500,
"target": 452500,
"peak": 399000,
"target": 474500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,907 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4768466.620374998,
"last_add_price": 392500
"last_add_price": 404000
},
"048910": {
"code": "048910",
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 4730360.187249998,
"last_add_price": 6950
@@ -202,5 +202,5 @@
"034020": "2026-09-23"
},
"created_at": "2026-06-15T14:55:00.582864+09:00",
"updated_at": "2026-09-28T15:28:50.376877+09:00"
"updated_at": "2026-09-29T15:28:47.723819+09:00"
}
@@ -150,3 +150,4 @@
{"ts": "2026-09-23T10:50:50.020949+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 81900, "qty": 46, "proceeds": 3760054, "entry_price": 90400, "pnl": -398970, "pnl_pct": -9.4, "hold_from": "2026-09-10T14:02:38.294281+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "82,166 (현재 81,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 115,103"}, {"label": "추세(20일선)", "ok": true, "detail": "79,860"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -1,708 · 기 -509"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,980"}]}
{"ts": "2026-09-23T10:50:50.021693+09:00", "side": "BUY", "code": "048910", "name": "대원미디어", "price": 6750, "qty": 700, "cost": 4725709, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 6269, "target": 8192, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,750 vs 4,793"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,502 / 4,793"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,502 / 4,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+48.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +6 · 기 +13 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+63%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 0.30% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,630"}, {"label": "거래량 급증", "ok": true, "detail": "57,615 (환산) vs 평균 38,349"}, {"label": "회전율 급증", "ok": true, "detail": "0.46% (환산) vs 평균 0.30%"}, {"label": "RSI", "ok": true, "detail": "85"}]}
{"ts": "2026-09-23T13:24:49.531640+09:00", "side": "BUY", "code": "048910", "name": "대원미디어", "price": 6950, "qty": 680, "cost": 4726709, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 6269, "target": 8192, "signals": [{"label": "손절선", "ok": true, "detail": "6,269 (현재 6,970)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,192"}, {"label": "추세(20일선)", "ok": true, "detail": "4,804"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +13"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,918"}]}
{"ts": "2026-09-29T09:30:45.988203+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 404000, "qty": 11, "cost": 4444667, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 452500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 402,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 452,500"}, {"label": "추세(20일선)", "ok": true, "detail": "383,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 401,537"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3813943.0504600187,
"last_add_price": 350000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3759463.8630866953,
"last_add_price": 136000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3342042.065213833,
"last_add_price": 13420
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 2850,
"cur_price": 2840,
"tranches": 1,
"tranche_value": 5363811.392406253,
"last_add_price": 2960
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3177696.924168879,
"last_add_price": 11930
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 2,
"tranche_value": 3233975.9230847433,
"last_add_price": 152000
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4302231.2098323405,
"last_add_price": 31150
@@ -198,5 +198,5 @@
"327260": "2026-09-07"
},
"created_at": "2026-06-15T14:55:00.582879+09:00",
"updated_at": "2026-09-28T15:28:50.972430+09:00"
"updated_at": "2026-09-29T15:28:48.315076+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3342042.065213833,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 2850,
"cur_price": 2840,
"tranches": 1,
"tranche_value": 5343166.925093753,
"last_add_price": 2960
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3169899.6784588406,
"last_add_price": 11930
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 2,
"tranche_value": 3225992.8046420617,
"last_add_price": 152000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4294882.6988680065,
"last_add_price": 31150
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 4287737.740777487,
"last_add_price": 6830
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 271750,
"cur_price": 272500,
"tranches": 1,
"tranche_value": 4716650.125500064,
"last_add_price": 283500
@@ -199,5 +199,5 @@
"004370": "2026-09-21"
},
"created_at": "2026-06-15T14:55:00.582910+09:00",
"updated_at": "2026-09-28T15:28:50.995494+09:00"
"updated_at": "2026-09-29T15:28:48.330763+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3393650.506937234,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 2850,
"cur_price": 2840,
"tranches": 1,
"tranche_value": 5376321.98103125,
"last_add_price": 2960
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3188265.499071182,
"last_add_price": 11930
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4425264.84827894,
"last_add_price": 30200
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 2,
"tranche_value": 3217490.050630382,
"last_add_price": 152000
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 124600,
"cur_price": 117000,
"tranches": 2,
"tranche_value": 2972315.521438034,
"last_add_price": 133000
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 22950,
"cur_price": 23250,
"tranches": 2,
"tranche_value": 2877279.885443339,
"last_add_price": 25000
@@ -198,5 +198,5 @@
"327260": "2026-09-07"
},
"created_at": "2026-06-15T14:55:00.582926+09:00",
"updated_at": "2026-09-28T15:28:51.003709+09:00"
"updated_at": "2026-09-29T15:28:48.340106+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4271897.688361821,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1725875.4362712654,
"last_add_price": 35800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,563 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3922687.5648087934,
"last_add_price": 11890
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,342 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 2474296.0650329688,
"last_add_price": 4795
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4981802.023234375,
"last_add_price": 411000
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,104 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 1,
"tranche_value": 4892789.090421874,
"last_add_price": 16140
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 271750,
"cur_price": 272500,
"tranches": 1,
"tranche_value": 4927580.232015625,
"last_add_price": 282500
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,362 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2651624.2370578027,
"last_add_price": 19940
@@ -202,5 +202,5 @@
"034020": "2026-09-23"
},
"created_at": "2026-06-15T14:55:00.583136+09:00",
"updated_at": "2026-09-28T15:28:51.010322+09:00"
"updated_at": "2026-09-29T15:28:48.352919+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3889733.683715179,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 5327150.576000001,
"last_add_price": 120500
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4940372.790080874,
"last_add_price": 125200
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3791237.2526261737,
"last_add_price": 136000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5133126.668375,
"last_add_price": 32750
@@ -118,12 +118,12 @@
"entry_at": "2026-09-04T11:14:28.093854+09:00",
"stop": 11084,
"target": 23166,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,946 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1870914.8665673207,
"last_add_price": 14660
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4478278.821943787,
"last_add_price": 31000
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,358 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2222419.950014418,
"last_add_price": 20800
@@ -199,5 +199,5 @@
"327260": "2026-09-07"
},
"created_at": "2026-06-15T14:55:00.583184+09:00",
"updated_at": "2026-09-28T15:28:51.015678+09:00"
"updated_at": "2026-09-29T15:28:48.358808+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 35161422.02949999,
"cash": 38267553.23949999,
"initial": 100000000,
"positions": {
"086790": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 5075960.404438956,
"last_add_price": 125200
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3433240.983007488,
"last_add_price": 13420
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1369448.2358109318,
"last_add_price": 35800
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5207054.06571875,
"last_add_price": 32750
@@ -95,39 +95,18 @@
"qty": 299,
"entry_price": 13533.411371237458,
"entry_at": "2026-09-10T09:00:59.533567+09:00",
"stop": 10457,
"stop": 17600,
"target": 19685,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,977 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2028063.468468333,
"last_add_price": 13930
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 39,
"entry_price": 90400,
"entry_at": "2026-09-10T14:02:38.927922+09:00",
"stop": 79421,
"target": 112358,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 3559282.5485596135,
"last_add_price": 90400
},
"004370": {
"code": "004370",
"name": "농심",
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 420,141 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 5110932.165583902,
"last_add_price": 410500
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,977 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3423153.5325177917,
"last_add_price": 12300
}
},
"realized_pnl": -15605464.11100003,
"closed_trades": 43,
"realized_pnl": -16025461.74100003,
"closed_trades": 44,
"wins": 6,
"peak_equity": 101368884.75700004,
"max_drawdown": 0.18244887903556523,
@@ -196,8 +175,9 @@
"161890": "2026-07-30",
"078930": "2026-07-31",
"138040": "2026-09-08",
"012450": "2026-09-15"
"012450": "2026-09-15",
"034020": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.583198+09:00",
"updated_at": "2026-09-28T15:28:51.020528+09:00"
"updated_at": "2026-09-29T15:28:48.364191+09:00"
}
@@ -126,3 +126,4 @@
{"ts": "2026-09-15T10:28:42.145061+09:00", "side": "SELL", "code": "012450", "name": "한화에어로스페이스", "price": 1063000, "qty": 10, "proceeds": 10609272, "entry_price": 1049000, "pnl": 117698, "pnl_pct": 1.33, "hold_from": "2026-09-09T09:02:33.499991+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,064,063 (현재 1,064,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": false, "detail": "1,089,400"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +88 · 기 -20"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-15T10:28:42.212273+09:00", "side": "BUY", "code": "041520", "name": "이엘씨", "price": 11810, "qty": 289, "cost": 3413602, "path": "pullback", "reason": "눌림목 지정가 11,977 도달", "stop": 10284, "target": 14862, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "11,810 vs 10,153"}, {"label": "정배열(5>20)", "ok": true, "detail": "11,792 / 10,153"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "11,792 / 9,430"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +26 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.06% (환산) vs 평균 0.30% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 13,450"}, {"label": "거래량 급증", "ok": false, "detail": "6,791 (환산) vs 평균 36,789"}, {"label": "회전율 급증", "ok": false, "detail": "0.06% (환산) vs 평균 0.30%"}, {"label": "RSI", "ok": true, "detail": "65"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 11,977 (현재 11,810)"}]}
{"ts": "2026-09-18T09:06:44.365930+09:00", "side": "BUY", "code": "041520", "name": "이엘씨", "price": 12300, "qty": 278, "cost": 3419913, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 10284, "target": 14862, "signals": [{"label": "손절선", "ok": true, "detail": "10,284 (현재 12,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,862"}, {"label": "추세(20일선)", "ok": true, "detail": "10,172"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +17 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 12,171"}]}
{"ts": "2026-09-29T09:04:46.164282+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79800, "qty": 39, "proceeds": 3106131, "entry_price": 90400, "pnl": -419998, "pnl_pct": -11.73, "hold_from": "2026-09-10T14:02:38.927922+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "79,421 (현재 79,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,358"}, {"label": "추세(20일선)", "ok": false, "detail": "79,745"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,773"}]}
@@ -1,5 +1,5 @@
{
"cash": 47904611.90450004,
"cash": 50931098.72450004,
"initial": 100000000,
"positions": {
"194370": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3393597.375168939,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1360762.8418676818,
"last_add_price": 35800
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,342 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 2667186.0151028302,
"last_add_price": 4795
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 38,
"entry_price": 90400,
"entry_at": "2026-09-10T14:02:38.933751+09:00",
"stop": 79421,
"target": 112358,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 3452170.020442301,
"last_add_price": 90400
},
"004370": {
"code": "004370",
"name": "농심",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,461 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4957124.381763087,
"last_add_price": 410500
@@ -118,12 +97,12 @@
"entry_at": "2026-09-15T10:28:42.222734+09:00",
"stop": 13984,
"target": 23028,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2314620.8603280014,
"last_add_price": 17350
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,361 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2104217.9889743566,
"last_add_price": 20200
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,592 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3193443.5587442005,
"last_add_price": 12330
}
},
"realized_pnl": -18523253.03050003,
"closed_trades": 48,
"realized_pnl": -18932481.49050003,
"closed_trades": 49,
"wins": 6,
"peak_equity": 100182695.41500005,
"max_drawdown": 0.18658896845473755,
@@ -198,8 +177,9 @@
"068270": "2026-09-04",
"440110": "2026-09-14",
"012450": "2026-09-15",
"060250": "2026-09-16"
"060250": "2026-09-16",
"034020": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.583212+09:00",
"updated_at": "2026-09-28T15:28:51.025231+09:00"
"updated_at": "2026-09-29T15:28:48.368788+09:00"
}
@@ -137,3 +137,4 @@
{"ts": "2026-09-17T09:08:42.400426+09:00", "side": "BUY", "code": "041520", "name": "이엘씨", "price": 11950, "qty": 267, "cost": 3191129, "path": "pullback", "reason": "눌림목 지정가 11,592 도달", "stop": 10420, "target": 15010, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "11,510 vs 10,138"}, {"label": "정배열(5>20)", "ok": true, "detail": "11,732 / 10,138"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "11,732 / 9,425"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +16 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.00% (환산) vs 평균 0.30% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 13,450"}, {"label": "거래량 급증", "ok": false, "detail": "13 (환산) vs 평균 36,789"}, {"label": "회전율 급증", "ok": false, "detail": "0.00% (환산) vs 평균 0.30%"}, {"label": "RSI", "ok": true, "detail": "62"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 11,592 (현재 11,510)"}]}
{"ts": "2026-09-18T09:12:44.059364+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 17350, "qty": 133, "cost": 2307896, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 13685, "target": 22609, "signals": [{"label": "손절선", "ok": true, "detail": "13,685 (현재 17,420)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 22,609"}, {"label": "추세(20일선)", "ok": true, "detail": "12,946"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +295 · 기 +67"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 17,414"}]}
{"ts": "2026-09-18T13:14:43.612832+09:00", "side": "BUY", "code": "041520", "name": "이엘씨", "price": 12330, "qty": 258, "cost": 3181617, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 10420, "target": 15010, "signals": [{"label": "손절선", "ok": true, "detail": "10,420 (현재 12,330)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,010"}, {"label": "추세(20일선)", "ok": true, "detail": "10,179"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +17 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 12,313"}]}
{"ts": "2026-09-29T09:04:46.170117+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79800, "qty": 38, "proceeds": 3026487, "entry_price": 90400, "pnl": -409228, "pnl_pct": -11.73, "hold_from": "2026-09-10T14:02:38.933751+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "79,421 (현재 79,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,358"}, {"label": "추세(20일선)", "ok": false, "detail": "79,745"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,773"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4940372.790080874,
"last_add_price": 125200
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5113659.21834375,
"last_add_price": 32750
@@ -53,14 +53,14 @@
"qty": 264,
"entry_price": 14104.734848484848,
"entry_at": "2026-09-04T11:14:28.107284+09:00",
"stop": 11084,
"stop": 17600,
"target": 20145,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,946 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1867525.9036903584,
"last_add_price": 14660
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4469498.464141663,
"last_add_price": 31000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 2073999.8646011376,
"last_add_price": 46800
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,358 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2239564.1285592173,
"last_add_price": 20800
@@ -139,12 +139,12 @@
"entry_at": "2026-09-22T09:02:49.895908+09:00",
"stop": 121395,
"target": 232866,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 157,986 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1710371.4944222153,
"last_add_price": 164000
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,148 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 1,
"tranche_value": 5227595.035531249,
"last_add_price": 6050
@@ -202,5 +202,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-15T14:55:00.583227+09:00",
"updated_at": "2026-09-28T15:28:51.029319+09:00"
"updated_at": "2026-09-29T15:28:48.372837+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 37275326.39069997,
"cash": 36079611.84069997,
"initial": 100000000,
"positions": {
"327260": {
@@ -11,14 +11,14 @@
"qty": 105,
"entry_price": 34565.71428571428,
"entry_at": "2026-08-20T09:02:18.579921+09:00",
"stop": 43470,
"stop": 43636,
"target": 46133,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1835134.7132164796,
"last_add_price": 35800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,563 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4188194.7669907366,
"last_add_price": 11890
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 5380475.415249998,
"last_add_price": 30000
@@ -74,39 +74,18 @@
"qty": 358,
"entry_price": 13434.525139664804,
"entry_at": "2026-09-09T09:04:30.445123+09:00",
"stop": 16563,
"stop": 17600,
"target": 16895,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,153 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2413342.693478599,
"last_add_price": 13820
},
"180640": {
"code": "180640",
"name": "한진칼",
"sources": [
"auto"
],
"qty": 30,
"entry_price": 142500,
"entry_at": "2026-09-09T09:56:28.798952+09:00",
"stop": 128259,
"target": 163861,
"peak": 145900,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"tranches": 1,
"tranche_value": 4372017.345337843,
"last_add_price": 142500
},
"372170": {
"code": "372170",
"name": "윤성에프앤씨",
@@ -123,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,361 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2964066.934819155,
"last_add_price": 20200
@@ -134,20 +113,20 @@
"sources": [
"auto"
],
"qty": 13,
"entry_price": 393000,
"qty": 26,
"entry_price": 398500.0,
"entry_at": "2026-09-22T09:02:49.904939+09:00",
"stop": 372500,
"target": 423750,
"peak": 398500,
"target": 437500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,961 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 5479109.772843748,
"last_add_price": 393000
"last_add_price": 404000
},
"307870": {
"code": "307870",
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,186 도달",
"cur_price": 1259,
"cur_price": 1200,
"tranches": 2,
"tranche_value": 3324577.898896041,
"last_add_price": 1235
}
},
"realized_pnl": -16186861.98450004,
"closed_trades": 61,
"realized_pnl": -16405429.98450004,
"closed_trades": 62,
"wins": 11,
"peak_equity": 100344662.275,
"max_drawdown": 0.17793081459150337,
@@ -201,8 +180,9 @@
"012450": "2026-09-15",
"060250": "2026-09-16",
"079650": "2026-09-21",
"034020": "2026-09-23"
"034020": "2026-09-23",
"180640": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.583241+09:00",
"updated_at": "2026-09-28T15:28:51.033168+09:00"
"updated_at": "2026-09-29T15:28:48.377005+09:00"
}
@@ -164,3 +164,5 @@
{"ts": "2026-09-23T10:50:50.061212+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 81900, "qty": 52, "proceeds": 4250495, "entry_price": 90400, "pnl": -451010, "pnl_pct": -9.4, "hold_from": "2026-09-10T14:02:38.943334+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "82,166 (현재 81,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 102,751"}, {"label": "추세(20일선)", "ok": true, "detail": "79,860"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -1,708 · 기 -509"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,980"}]}
{"ts": "2026-09-23T10:50:50.062029+09:00", "side": "BUY", "code": "307870", "name": "비투엔", "price": 1183, "qty": 2809, "cost": 3323545, "path": "pullback", "reason": "눌림목 지정가 1,186 도달", "stop": 1027, "target": 1417, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "1,182 vs 1,139"}, {"label": "정배열(5>20)", "ok": true, "detail": "1,309 / 1,139"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,309 / 1,000"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -138 · 기 +1 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.49% (환산) vs 평균 1.90% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,390"}, {"label": "거래량 급증", "ok": false, "detail": "361,831 (환산) vs 평균 1,410,399"}, {"label": "회전율 급증", "ok": false, "detail": "0.49% (환산) vs 평균 1.90%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,186 (현재 1,182)"}]}
{"ts": "2026-09-23T15:12:49.529346+09:00", "side": "BUY", "code": "307870", "name": "비투엔", "price": 1235, "qty": 2691, "cost": 3323884, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 1027, "target": 1417, "signals": [{"label": "손절선", "ok": true, "detail": "1,027 (현재 1,235)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,417"}, {"label": "추세(20일선)", "ok": true, "detail": "1,142"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -132 · 기 +1"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 1,235"}]}
{"ts": "2026-09-29T09:30:46.637959+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 404000, "qty": 13, "cost": 5252788, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 423750, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 402,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 423,750"}, {"label": "추세(20일선)", "ok": true, "detail": "383,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 402,037"}]}
{"ts": "2026-09-29T09:58:44.531058+09:00", "side": "SELL", "code": "180640", "name": "한진칼", "price": 135500, "qty": 30, "proceeds": 4057073, "entry_price": 142500, "pnl": -218568, "pnl_pct": -4.91, "hold_from": "2026-09-09T09:56:28.798952+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "128,259 (현재 135,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,861"}, {"label": "추세(20일선)", "ok": true, "detail": "114,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +23"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 147,000"}]}
@@ -1,5 +1,5 @@
{
"cash": 47792794.89450002,
"cash": 49736503.90000001,
"initial": 100000000,
"positions": {
"327260": {
@@ -11,14 +11,14 @@
"qty": 81,
"entry_price": 34555.555555555555,
"entry_at": "2026-08-20T09:02:18.583985+09:00",
"stop": 43470,
"stop": 43636,
"target": 49979,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1405152.4684093075,
"last_add_price": 35800
@@ -32,39 +32,18 @@
"qty": 275,
"entry_price": 14067.2,
"entry_at": "2026-09-03T09:02:26.582362+09:00",
"stop": 16563,
"stop": 17600,
"target": 18598,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,982 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1936750.8143745721,
"last_add_price": 14660
},
"004370": {
"code": "004370",
"name": "농심",
"sources": [
"auto"
],
"qty": 12,
"entry_price": 418500,
"entry_at": "2026-09-09T09:04:30.450598+09:00",
"stop": 384996,
"target": 468756,
"peak": 420500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 420,748 도달",
"cur_price": 396500,
"tranches": 1,
"tranche_value": 5407643.370014776,
"last_add_price": 418500
},
"041520": {
"code": "041520",
"name": "이엘씨",
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 12,003 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3508251.3322146544,
"last_add_price": 12290
@@ -92,20 +71,20 @@
"sources": [
"watch"
],
"qty": 546,
"entry_price": 5100,
"qty": 1063,
"entry_price": 5241.0442144873,
"entry_at": "2026-09-15T10:28:42.648525+09:00",
"stop": 4297,
"target": 6305,
"peak": 5410,
"stop": 4448,
"target": 6431,
"peak": 5710,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 5,108 도달",
"cur_price": 5200,
"tranches": 1,
"cur_price": 5650,
"tranches": 2,
"tranche_value": 2789847.3916354305,
"last_add_price": 5100
"last_add_price": 5390
},
"372170": {
"code": "372170",
@@ -123,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,341 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2236369.174025517,
"last_add_price": 20200
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,156 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 2,
"tranche_value": 5435662.905375001,
"last_add_price": 6250
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 39,546 도달",
"cur_price": 38700,
"cur_price": 38000,
"tranches": 1,
"tranche_value": 3020596.3217385407,
"last_add_price": 39150
}
},
"realized_pnl": -14617697.525000038,
"closed_trades": 56,
"realized_pnl": -14909693.825000038,
"closed_trades": 57,
"wins": 9,
"peak_equity": 101368884.75700004,
"max_drawdown": 0.16324454094733756,
@@ -201,8 +180,9 @@
"012450": "2026-09-15",
"011780": "2026-09-15",
"060250": "2026-09-16",
"088350": "2026-09-28"
"088350": "2026-09-28",
"004370": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.583273+09:00",
"updated_at": "2026-09-28T15:28:51.037074+09:00"
"updated_at": "2026-09-29T15:28:48.380829+09:00"
}
@@ -156,3 +156,5 @@
{"ts": "2026-09-18T11:26:43.754104+09:00", "side": "BUY", "code": "025860", "name": "남해화학", "price": 6250, "qty": 869, "cost": 5432065, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5730, "target": 6680, "signals": [{"label": "손절선", "ok": true, "detail": "5,730 (현재 6,250)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,680"}, {"label": "추세(20일선)", "ok": true, "detail": "5,898"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +27 · 기 +66"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,248"}]}
{"ts": "2026-09-28T09:01:02.496319+09:00", "side": "SELL", "code": "088350", "name": "한화생명", "price": 5630, "qty": 1323, "proceeds": 7433965, "entry_price": 5888, "pnl": -356433, "pnl_pct": -4.37, "hold_from": "2026-09-04T13:56:29.903270+09:00", "reason": "시간손절 — 23일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "5,248 (현재 5,640)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,847"}, {"label": "추세(20일선)", "ok": true, "detail": "4,594"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -477 · 기 -624"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T09:01:02.918529+09:00", "side": "BUY", "code": "257720", "name": "실리콘투", "price": 39150, "qty": 77, "cost": 3015002, "path": "pullback", "reason": "눌림목 지정가 39,546 도달", "stop": 33500, "target": 47625, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "39,150 vs 37,645"}, {"label": "정배열(5>20)", "ok": true, "detail": "41,620 / 37,645"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "41,620 / 36,093"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+12.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +372 · 기 -892 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+52%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.74% (환산) vs 평균 1.56% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 48,250"}, {"label": "거래량 급증", "ok": false, "detail": "486,240 (환산) vs 평균 1,023,767"}, {"label": "회전율 급증", "ok": false, "detail": "0.74% (환산) vs 평균 1.56%"}, {"label": "RSI", "ok": true, "detail": "52"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 39,546 (현재 39,150)"}]}
{"ts": "2026-09-29T09:06:49.340101+09:00", "side": "SELL", "code": "004370", "name": "농심", "price": 395000, "qty": 12, "proceeds": 4730757, "entry_price": 418500, "pnl": -291996, "pnl_pct": -5.62, "hold_from": "2026-09-09T09:04:30.450598+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "384,996 (현재 395,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 468,756"}, {"label": "추세(20일선)", "ok": true, "detail": "383,000"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 427,537"}]}
{"ts": "2026-09-29T11:06:45.468454+09:00", "side": "BUY", "code": "261520", "name": "이지스", "price": 5390, "qty": 517, "cost": 2787048, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4297, "target": 6305, "signals": [{"label": "손절선", "ok": true, "detail": "4,297 (현재 5,350)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,305"}, {"label": "추세(20일선)", "ok": true, "detail": "4,490"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -18 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 5,298"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3377559.3310465557,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 2850,
"cur_price": 2840,
"tranches": 1,
"tranche_value": 5376462.657906253,
"last_add_price": 2945
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3207769.240733453,
"last_add_price": 11930
@@ -95,14 +95,14 @@
"qty": 295,
"entry_price": 13497.186440677966,
"entry_at": "2026-09-07T15:06:37.205681+09:00",
"stop": 10421,
"stop": 17600,
"target": 19649,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,160 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1999967.3303914513,
"last_add_price": 13930
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 2072539.7610259354,
"last_add_price": 46800
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 75100,
"cur_price": 76600,
"tranches": 2,
"tranche_value": 5282905.658046878,
"last_add_price": 70400
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 17280,
"cur_price": 16580,
"tranches": 2,
"tranche_value": 2861142.595753686,
"last_add_price": 18560
@@ -198,5 +198,5 @@
"004370": "2026-09-21"
},
"created_at": "2026-06-15T14:55:00.583289+09:00",
"updated_at": "2026-09-28T15:28:51.040549+09:00"
"updated_at": "2026-09-29T15:28:48.384197+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3428336.7554835076,
"last_add_price": 13420
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 2850,
"cur_price": 2840,
"tranches": 1,
"tranche_value": 5467963.193781251,
"last_add_price": 2945
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3262304.762250248,
"last_add_price": 11930
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4492093.16528453,
"last_add_price": 30000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1623025.8813087621,
"last_add_price": 7390
@@ -137,14 +137,14 @@
"qty": 299,
"entry_price": 13497.357859531772,
"entry_at": "2026-09-07T15:06:37.209053+09:00",
"stop": 16563,
"stop": 17600,
"target": 18111,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,160 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2022912.4075034007,
"last_add_price": 13930
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 271750,
"cur_price": 272500,
"tranches": 1,
"tranche_value": 4896292.538324105,
"last_add_price": 282500
@@ -198,5 +198,5 @@
"004370": "2026-09-21"
},
"created_at": "2026-06-15T14:55:00.583304+09:00",
"updated_at": "2026-09-28T15:28:51.043844+09:00"
"updated_at": "2026-09-29T15:28:48.387446+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,939 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5220757.257031252,
"last_add_price": 32750
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4580366.904239814,
"last_add_price": 30000
@@ -53,14 +53,14 @@
"qty": 266,
"entry_price": 14104.887218045113,
"entry_at": "2026-09-04T11:14:28.125177+09:00",
"stop": 16563,
"stop": 17600,
"target": 18635,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,946 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1889084.2845179967,
"last_add_price": 14660
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1621037.6222288562,
"last_add_price": 7390
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,358 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2273315.5710422248,
"last_add_price": 20800
@@ -118,12 +118,12 @@
"entry_at": "2026-09-22T09:02:49.920117+09:00",
"stop": 121395,
"target": 214288,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 157,986 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1724127.0503401707,
"last_add_price": 164000
@@ -139,12 +139,12 @@
"entry_at": "2026-09-23T12:32:49.233139+09:00",
"stop": 2793,
"target": 3858,
"peak": 3275,
"peak": 3370,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 3,143 도달",
"cur_price": 3210,
"cur_price": 3265,
"tranches": 2,
"tranche_value": 3161018.580691236,
"last_add_price": 3275
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,148 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 1,
"tranche_value": 5296647.055406252,
"last_add_price": 6050
@@ -202,5 +202,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-15T14:55:00.583318+09:00",
"updated_at": "2026-09-28T15:28:51.047030+09:00"
"updated_at": "2026-09-29T15:28:48.390529+09:00"
}
@@ -11,14 +11,14 @@
"qty": 101,
"entry_price": 34564.35643564357,
"entry_at": "2026-08-20T09:02:18.598460+09:00",
"stop": 43470,
"stop": 43636,
"target": 49987,
"peak": 50300,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1761589.922015132,
"last_add_price": 35800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 31,946 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5016181.869037499,
"last_add_price": 32400
@@ -53,14 +53,14 @@
"qty": 344,
"entry_price": 14066.802325581395,
"entry_at": "2026-09-03T09:02:26.595154+09:00",
"stop": 16563,
"stop": 17600,
"target": 18597,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,982 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2433888.3605985767,
"last_add_price": 14660
@@ -76,12 +76,12 @@
"entry_at": "2026-09-09T09:10:30.121434+09:00",
"stop": 2838,
"target": 3818,
"peak": 3275,
"peak": 3370,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 3,136 도달",
"cur_price": 3210,
"cur_price": 3265,
"tranches": 2,
"tranche_value": 3860262.073953841,
"last_add_price": 3210
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 1,
"tranche_value": 4029288.693393851,
"last_add_price": 117800
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,977 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4301175.50574383,
"last_add_price": 12300
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,341 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2831252.2401680327,
"last_add_price": 20200
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,386 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 1,
"tranche_value": 5154404.266803124,
"last_add_price": 16170
@@ -203,5 +203,5 @@
"004370": "2026-09-17"
},
"created_at": "2026-06-15T14:55:00.583333+09:00",
"updated_at": "2026-09-28T15:28:51.050268+09:00"
"updated_at": "2026-09-29T15:28:48.393697+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 24657573.474249993,
"cash": 21460013.912249994,
"initial": 100000000,
"positions": {
"086790": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 122,665 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 5051285.121721717,
"last_add_price": 125200
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 4362596.463271157,
"last_add_price": 13420
@@ -53,14 +53,14 @@
"qty": 344,
"entry_price": 14066.802325581395,
"entry_at": "2026-09-03T09:02:26.597960+09:00",
"stop": 16563,
"stop": 17600,
"target": 18597,
"peak": 18990,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,982 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2432613.4618839705,
"last_add_price": 14660
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,404 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 2,
"tranche_value": 3058381.8542864355,
"last_add_price": 22300
@@ -97,12 +97,12 @@
"entry_at": "2026-09-04T11:14:28.131726+09:00",
"stop": 2875,
"target": 3831,
"peak": 3285,
"peak": 3370,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 3,140 도달",
"cur_price": 3210,
"cur_price": 3265,
"tranches": 2,
"tranche_value": 4008637.751201471,
"last_add_price": 3255
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,955 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3954670.320777218,
"last_add_price": 12170
@@ -134,20 +134,20 @@
"sources": [
"watch"
],
"qty": 648,
"entry_price": 4930,
"qty": 1270,
"entry_price": 5032.850393700787,
"entry_at": "2026-09-16T13:08:42.157933+09:00",
"stop": 4317,
"target": 6155,
"peak": 5410,
"stop": 4455,
"target": 6189,
"peak": 5710,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 5,102 도달",
"cur_price": 5200,
"tranches": 1,
"cur_price": 5650,
"tranches": 2,
"tranche_value": 3199498.373584197,
"last_add_price": 4930
"last_add_price": 5140
},
"025860": {
"code": "025860",
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 6,155 도달",
"cur_price": 6130,
"cur_price": 6100,
"tranches": 1,
"tranche_value": 5017816.601578125,
"last_add_price": 6130
@@ -202,5 +202,5 @@
"004370": "2026-09-18"
},
"created_at": "2026-06-15T14:55:00.583347+09:00",
"updated_at": "2026-09-28T15:28:51.053211+09:00"
"updated_at": "2026-09-29T15:28:48.396619+09:00"
}
@@ -151,3 +151,4 @@
{"ts": "2026-09-17T13:50:41.711365+09:00", "side": "BUY", "code": "041520", "name": "이엘씨", "price": 12170, "qty": 324, "cost": 3943671, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 10532, "target": 14065, "signals": [{"label": "손절선", "ok": true, "detail": "10,532 (현재 12,170)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,065"}, {"label": "추세(10일선)", "ok": true, "detail": "11,385"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +16 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 12,093"}]}
{"ts": "2026-09-18T09:14:44.764487+09:00", "side": "SELL", "code": "004370", "name": "농심", "price": 387500, "qty": 12, "proceeds": 4640932, "entry_price": 414000, "pnl": -327813, "pnl_pct": -6.4, "hold_from": "2026-09-08T09:18:28.852944+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "388,711 (현재 388,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 464,578"}, {"label": "추세(10일선)", "ok": false, "detail": "394,550"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +11 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 423,340"}]}
{"ts": "2026-09-18T09:14:44.764997+09:00", "side": "BUY", "code": "025860", "name": "남해화학", "price": 6130, "qty": 818, "cost": 5015092, "path": "pullback", "reason": "눌림목 지정가 6,155 도달", "stop": 5730, "target": 6930, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,130 vs 6,034"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,112 / 6,034"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,112 / 5,900"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +4 · 기 +62 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.13% (환산) vs 평균 1.53% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 6,700"}, {"label": "거래량 급증", "ok": false, "detail": "62,267 (환산) vs 평균 758,257"}, {"label": "회전율 급증", "ok": false, "detail": "0.13% (환산) vs 평균 1.53%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 6,155 (현재 6,130)"}]}
{"ts": "2026-09-29T09:01:22.639321+09:00", "side": "BUY", "code": "261520", "name": "이지스", "price": 5140, "qty": 622, "cost": 3197560, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4317, "target": 6155, "signals": [{"label": "손절선", "ok": true, "detail": "4,317 (현재 5,170)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,155"}, {"label": "추세(10일선)", "ok": true, "detail": "4,830"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -18 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 5,123"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3627364.7637924887,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3547525.853504033,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:09.540195+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1688085.214726109,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 3967368.72635773,
"last_add_price": 112800
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2862100.411366492,
"last_add_price": 135100
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4185836.328126983,
"last_add_price": 30200
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 1,
"tranche_value": 2940234.9193805554,
"last_add_price": 143200
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4452166.016150367,
"last_add_price": 411000
@@ -210,5 +210,5 @@
"257720": "2026-09-10"
},
"created_at": "2026-06-15T14:40:00.621011+09:00",
"updated_at": "2026-09-28T15:28:56.604998+09:00"
"updated_at": "2026-09-29T15:28:53.588838+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 28484965.62199999,
"cash": 24029297.37199999,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3627364.7637924887,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3470885.263866936,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.144403+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1668794.556510239,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3062184.227151159,
"last_add_price": 13420
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3007474.6079847123,
"last_add_price": 101700
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1249060.2562777183,
"last_add_price": 35800
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"cur_price": 1011000,
"tranches": 2,
"tranche_value": 4826843.2429375,
"last_add_price": 1094000
@@ -155,20 +155,20 @@
"sources": [
"auto"
],
"qty": 12,
"entry_price": 394000,
"qty": 23,
"entry_price": 399260.8695652174,
"entry_at": "2026-09-28T09:20:57.736992+09:00",
"stop": 372500,
"target": 458500,
"peak": 398500,
"target": 479543,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,425 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4738145.301375,
"last_add_price": 394000
"last_add_price": 405000
}
},
"realized_pnl": -26748590.418500055,
@@ -213,5 +213,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-15T14:55:00.583395+09:00",
"updated_at": "2026-09-28T15:28:57.677440+09:00"
"updated_at": "2026-09-29T15:28:54.154397+09:00"
}
@@ -259,3 +259,4 @@
{"ts": "2026-09-28T09:18:56.908694+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 33, "cost": 4686703, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:57.329774+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 33, "proceeds": 4673569, "entry_price": 142000, "pnl": -13134, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:56.908677+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:57.737008+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 394000, "qty": 12, "cost": 4728709, "path": "pullback", "reason": "눌림목 지정가 409,425 도달", "stop": 372500, "target": 458500, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "393,000 vs 369,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +5 · 기 -6 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.29% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "17,467 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.29% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,425 (현재 393,000)"}]}
{"ts": "2026-09-29T10:02:57.891572+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 405000, "qty": 11, "cost": 4455668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 458500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 404,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,500"}, {"label": "추세(60일선)", "ok": true, "detail": "369,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 403,037"}]}
@@ -1,5 +1,5 @@
{
"cash": 28192992.674999975,
"cash": 38490672.964999974,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2892213.1259382935,
"last_add_price": 135100
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3261176.5302310046,
"last_add_price": 145300
@@ -60,53 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4176661.959968715,
"last_add_price": 30200
},
"180640": {
"code": "180640",
"name": "한진칼",
"sources": [
"auto"
],
"qty": 20,
"entry_price": 143200,
"entry_at": "2026-09-09T09:38:36.612938+09:00",
"stop": 124212,
"target": 200163,
"peak": 145900,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"tranches": 1,
"tranche_value": 2932587.5188024,
"last_add_price": 143200
},
"086790": {
"code": "086790",
"name": "하나금융지주",
"sources": [
"auto"
],
"qty": 57,
"entry_price": 135871.9298245614,
"entry_at": "2026-09-09T09:56:32.327266+09:00",
"stop": 122744,
"target": 175256,
"peak": 141800,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 135300,
"tranches": 2,
"tranche_value": 3961540.240576688,
"last_add_price": 137500
},
"138040": {
"code": "138040",
"name": "메리츠금융지주",
@@ -123,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 4611339.344683614,
"last_add_price": 127800
@@ -144,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4481449.565928179,
"last_add_price": 411000
@@ -160,25 +118,25 @@
"entry_at": "2026-09-15T09:04:46.797435+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1555563.4787240115,
"last_add_price": 144600
}
},
"realized_pnl": -24586675.33750005,
"closed_trades": 135,
"realized_pnl": -24899286.35250005,
"closed_trades": 137,
"wins": 4,
"peak_equity": 100000000,
"max_drawdown": 0.24471290425000028,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
"086790": "2026-09-29",
"005930": "2026-06-23",
"033640": "2026-07-01",
"307950": "2026-07-01",
@@ -208,8 +166,9 @@
"161890": "2026-07-31",
"078930": "2026-09-03",
"252990": "2026-08-21",
"257720": "2026-09-09"
"257720": "2026-09-09",
"180640": "2026-09-29"
},
"created_at": "2026-06-15T14:40:00.621059+09:00",
"updated_at": "2026-09-28T15:28:57.692187+09:00"
"updated_at": "2026-09-29T15:28:54.165914+09:00"
}
@@ -309,3 +309,5 @@
{"ts": "2026-09-14T09:02:42.595350+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 134700, "qty": 19, "proceeds": 2554309, "entry_price": 142379, "pnl": -151296, "pnl_pct": -5.39, "hold_from": "2026-08-24T09:02:26.350420+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "102,936 (현재 135,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 260,707"}, {"label": "추세(60일선)", "ok": true, "detail": "99,373"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -750 · 기 +948"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-15T09:04:46.797451+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 133600, "qty": 11, "cost": 1469820, "path": "pullback", "reason": "눌림목 지정가 146,218 도달", "stop": 100700, "target": 232300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "133,700 vs 99,345"}, {"label": "정배열(5>60)", "ok": true, "detail": "167,380 / 99,345"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "167,380 / 99,345"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+16.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -836 · 기 +961 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "60,587 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "0.31% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 146,218 (현재 133,700)"}]}
{"ts": "2026-09-21T09:52:51.043710+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 144600, "qty": 10, "cost": 1446217, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 100700, "target": 232300, "signals": [{"label": "손절선", "ok": true, "detail": "100,700 (현재 144,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 232,300"}, {"label": "추세(60일선)", "ok": true, "detail": "99,527"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +59 · 기 -54"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 143,611"}]}
{"ts": "2026-09-29T09:40:54.706622+09:00", "side": "SELL", "code": "180640", "name": "한진칼", "price": 135700, "qty": 20, "proceeds": 2708708, "entry_price": 143200, "pnl": -155722, "pnl_pct": -5.24, "hold_from": "2026-09-09T09:38:36.612938+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "124,212 (현재 135,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,163"}, {"label": "추세(60일선)", "ok": true, "detail": "117,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +23"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 147,700"}]}
{"ts": "2026-09-29T09:58:52.746015+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 133400, "qty": 57, "proceeds": 7588973, "entry_price": 135872, "pnl": -156889, "pnl_pct": -1.82, "hold_from": "2026-09-09T09:56:32.327266+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "122,744 (현재 133,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 175,256"}, {"label": "추세(60일선)", "ok": true, "detail": "118,623"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -184 · 기 +189"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -1,5 +1,5 @@
{
"cash": 28145320.873499945,
"cash": 35327015.428499945,
"initial": 100000000,
"positions": {
"078930": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3042388.163482306,
"last_add_price": 101700
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1267059.834384944,
"last_add_price": 35800
@@ -60,53 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4047548.093650061,
"last_add_price": 30200
},
"012450": {
"code": "012450",
"name": "한화에어로스페이스",
"sources": [
"interest"
],
"qty": 8,
"entry_price": 1073000.0,
"entry_at": "2026-09-09T09:12:36.800477+09:00",
"stop": 998000,
"target": 1298000,
"peak": 1152000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"tranches": 2,
"tranche_value": 4742672.546312497,
"last_add_price": 1094000
},
"003550": {
"code": "003550",
"name": "LG",
"sources": [
"watch"
],
"qty": 31,
"entry_price": 119600,
"entry_at": "2026-09-09T09:38:36.665536+09:00",
"stop": 107512,
"target": 155863,
"peak": 120500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 114000,
"tranches": 1,
"tranche_value": 3757574.4583486076,
"last_add_price": 119600
},
"316140": {
"code": "316140",
"name": "우리금융지주",
@@ -123,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4063919.2077500755,
"last_add_price": 35950
@@ -139,12 +97,12 @@
"entry_at": "2026-09-15T09:04:46.810142+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1510162.3677440109,
"last_add_price": 144600
@@ -155,24 +113,24 @@
"sources": [
"auto"
],
"qty": 11,
"entry_price": 394000,
"qty": 22,
"entry_price": 399500.0,
"entry_at": "2026-09-28T09:20:58.251790+09:00",
"stop": 372500,
"target": 458500,
"peak": 398500,
"target": 480500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,425 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4658782.560843747,
"last_add_price": 394000
"last_add_price": 405000
}
},
"realized_pnl": -27638947.761500068,
"closed_trades": 133,
"realized_pnl": -28295028.69650007,
"closed_trades": 135,
"wins": 4,
"peak_equity": 100000000,
"max_drawdown": 0.2669266310650006,
@@ -212,10 +170,11 @@
"138040": "2026-09-08",
"194370": "2026-08-24",
"068270": "2026-08-26",
"012450": "2026-09-02",
"012450": "2026-09-29",
"257720": "2026-09-08",
"000720": "2026-09-28"
"000720": "2026-09-28",
"003550": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.583512+09:00",
"updated_at": "2026-09-28T15:28:57.702841+09:00"
"updated_at": "2026-09-29T15:28:54.175089+09:00"
}
@@ -310,3 +310,6 @@
{"ts": "2026-09-28T09:18:57.408101+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 32, "cost": 4544682, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.250213+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 32, "proceeds": 4531945, "entry_price": 142000, "pnl": -12736, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.408098+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.251793+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 394000, "qty": 11, "cost": 4334650, "path": "pullback", "reason": "눌림목 지정가 409,425 도달", "stop": 372500, "target": 458500, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "393,000 vs 369,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +5 · 기 -6 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.29% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "17,467 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.29% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,425 (현재 393,000)"}]}
{"ts": "2026-09-29T09:14:54.941413+09:00", "side": "SELL", "code": "012450", "name": "한화에어로스페이스", "price": 1027000, "qty": 8, "proceeds": 8199979, "entry_price": 1073000, "pnl": -385309, "pnl_pct": -4.29, "hold_from": "2026-09-09T09:12:36.800477+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "998,000 (현재 1,028,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,298,000"}, {"label": "추세(60일선)", "ok": false, "detail": "1,039,417"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -67 · 기 +3"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-29T09:40:55.096660+09:00", "side": "SELL", "code": "003550", "name": "LG", "price": 111100, "qty": 31, "proceeds": 3437384, "entry_price": 119600, "pnl": -270772, "pnl_pct": -7.11, "hold_from": "2026-09-09T09:38:36.665536+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "107,512 (현재 111,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 155,863"}, {"label": "추세(60일선)", "ok": true, "detail": "106,347"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -67 · 기 +90"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 122,201"}]}
{"ts": "2026-09-29T10:02:59.673923+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 405000, "qty": 11, "cost": 4455668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 458500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 404,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,500"}, {"label": "추세(60일선)", "ok": true, "detail": "369,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 403,037"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3546894.320639113,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.162967+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1687768.019262798,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 3966630.036179657,
"last_add_price": 112800
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2861643.9610576206,
"last_add_price": 135100
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4185204.743405741,
"last_add_price": 30200
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 1,
"tranche_value": 2939786.4219278474,
"last_add_price": 143200
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4451467.75105609,
"last_add_price": 411000
@@ -211,5 +211,5 @@
"257720": "2026-09-10"
},
"created_at": "2026-06-15T14:40:00.621103+09:00",
"updated_at": "2026-09-28T15:28:57.710749+09:00"
"updated_at": "2026-09-29T15:28:54.181877+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 28451971.805499967,
"cash": 23996303.555499967,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3468191.0592600796,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.167956+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1667469.2912320814,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3059768.9052410396,
"last_add_price": 13420
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3005090.6555779856,
"last_add_price": 101700
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1248111.8252958565,
"last_add_price": 35800
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"cur_price": 1011000,
"tranches": 2,
"tranche_value": 4823227.379406248,
"last_add_price": 1094000
@@ -155,20 +155,20 @@
"sources": [
"auto"
],
"qty": 12,
"entry_price": 394000,
"qty": 23,
"entry_price": 399260.8695652174,
"entry_at": "2026-09-28T09:20:58.268274+09:00",
"stop": 372500,
"target": 458500,
"peak": 398500,
"target": 479543,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,425 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4734491.937843747,
"last_add_price": 394000
"last_add_price": 405000
}
},
"realized_pnl": -26807918.184500057,
@@ -214,5 +214,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-15T14:55:00.583628+09:00",
"updated_at": "2026-09-28T15:28:57.717616+09:00"
"updated_at": "2026-09-29T15:28:54.188303+09:00"
}
@@ -261,3 +261,4 @@
{"ts": "2026-09-28T09:18:57.424843+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 33, "cost": 4686703, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.267284+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 33, "proceeds": 4673569, "entry_price": 142000, "pnl": -13134, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.424840+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.268277+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 394000, "qty": 12, "cost": 4728709, "path": "pullback", "reason": "눌림목 지정가 409,425 도달", "stop": 372500, "target": 458500, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "393,000 vs 369,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +5 · 기 -6 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.29% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "17,467 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.29% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,425 (현재 393,000)"}]}
{"ts": "2026-09-29T10:02:59.688723+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 405000, "qty": 11, "cost": 4455668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 458500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 404,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,500"}, {"label": "추세(60일선)", "ok": true, "detail": "369,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 403,037"}]}
@@ -1,5 +1,5 @@
{
"cash": 28192992.674999975,
"cash": 38490672.964999974,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2892213.1259382935,
"last_add_price": 135100
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3261176.5302310046,
"last_add_price": 145300
@@ -60,53 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4176661.959968715,
"last_add_price": 30200
},
"180640": {
"code": "180640",
"name": "한진칼",
"sources": [
"auto"
],
"qty": 20,
"entry_price": 143200,
"entry_at": "2026-09-09T09:38:36.689100+09:00",
"stop": 124212,
"target": 200163,
"peak": 145900,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"tranches": 1,
"tranche_value": 2932587.5188024,
"last_add_price": 143200
},
"086790": {
"code": "086790",
"name": "하나금융지주",
"sources": [
"auto"
],
"qty": 57,
"entry_price": 135871.9298245614,
"entry_at": "2026-09-09T09:56:32.357237+09:00",
"stop": 122744,
"target": 175256,
"peak": 141800,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 135300,
"tranches": 2,
"tranche_value": 3961540.240576688,
"last_add_price": 137500
},
"138040": {
"code": "138040",
"name": "메리츠금융지주",
@@ -123,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 4611339.344683614,
"last_add_price": 127800
@@ -144,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4481449.565928179,
"last_add_price": 411000
@@ -160,25 +118,25 @@
"entry_at": "2026-09-15T09:04:46.830348+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1555563.4787240115,
"last_add_price": 144600
}
},
"realized_pnl": -24586675.33750005,
"closed_trades": 135,
"realized_pnl": -24899286.35250005,
"closed_trades": 137,
"wins": 4,
"peak_equity": 100000000,
"max_drawdown": 0.24471290425000028,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
"086790": "2026-09-29",
"005930": "2026-06-23",
"033640": "2026-07-01",
"307950": "2026-07-01",
@@ -208,8 +166,9 @@
"161890": "2026-07-31",
"078930": "2026-09-03",
"252990": "2026-08-21",
"257720": "2026-09-09"
"257720": "2026-09-09",
"180640": "2026-09-29"
},
"created_at": "2026-06-15T14:40:00.621148+09:00",
"updated_at": "2026-09-28T15:28:57.722944+09:00"
"updated_at": "2026-09-29T15:28:54.193395+09:00"
}
@@ -309,3 +309,5 @@
{"ts": "2026-09-14T09:02:42.626979+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 134700, "qty": 19, "proceeds": 2554309, "entry_price": 142379, "pnl": -151296, "pnl_pct": -5.39, "hold_from": "2026-08-24T09:02:26.376579+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "102,936 (현재 135,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 260,707"}, {"label": "추세(60일선)", "ok": true, "detail": "99,373"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -750 · 기 +948"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-15T09:04:46.830351+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 133600, "qty": 11, "cost": 1469820, "path": "pullback", "reason": "눌림목 지정가 146,218 도달", "stop": 100700, "target": 232300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "133,700 vs 99,345"}, {"label": "정배열(5>60)", "ok": true, "detail": "167,380 / 99,345"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "167,380 / 99,345"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+16.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -836 · 기 +961 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "60,587 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "0.31% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 146,218 (현재 133,700)"}]}
{"ts": "2026-09-21T09:52:51.085416+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 144600, "qty": 10, "cost": 1446217, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 100700, "target": 232300, "signals": [{"label": "손절선", "ok": true, "detail": "100,700 (현재 144,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 232,300"}, {"label": "추세(60일선)", "ok": true, "detail": "99,527"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +59 · 기 -54"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 143,611"}]}
{"ts": "2026-09-29T09:40:55.133141+09:00", "side": "SELL", "code": "180640", "name": "한진칼", "price": 135700, "qty": 20, "proceeds": 2708708, "entry_price": 143200, "pnl": -155722, "pnl_pct": -5.24, "hold_from": "2026-09-09T09:38:36.689100+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "124,212 (현재 135,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,163"}, {"label": "추세(60일선)", "ok": true, "detail": "117,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +23"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 147,700"}]}
{"ts": "2026-09-29T09:58:52.783695+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 133400, "qty": 57, "proceeds": 7588973, "entry_price": 135872, "pnl": -156889, "pnl_pct": -1.82, "hold_from": "2026-09-09T09:56:32.357237+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "122,744 (현재 133,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 175,256"}, {"label": "추세(60일선)", "ok": true, "detail": "118,623"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -184 · 기 +189"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -1,5 +1,5 @@
{
"cash": 28145320.873499945,
"cash": 35327015.428499945,
"initial": 100000000,
"positions": {
"078930": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3042388.163482306,
"last_add_price": 101700
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1267059.834384944,
"last_add_price": 35800
@@ -60,53 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4047548.093650061,
"last_add_price": 30200
},
"012450": {
"code": "012450",
"name": "한화에어로스페이스",
"sources": [
"interest"
],
"qty": 8,
"entry_price": 1073000.0,
"entry_at": "2026-09-09T09:12:37.164608+09:00",
"stop": 998000,
"target": 1298000,
"peak": 1152000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"tranches": 2,
"tranche_value": 4742672.546312497,
"last_add_price": 1094000
},
"003550": {
"code": "003550",
"name": "LG",
"sources": [
"watch"
],
"qty": 31,
"entry_price": 119600,
"entry_at": "2026-09-09T09:38:36.692911+09:00",
"stop": 107512,
"target": 155863,
"peak": 120500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 114000,
"tranches": 1,
"tranche_value": 3757574.4583486076,
"last_add_price": 119600
},
"316140": {
"code": "316140",
"name": "우리금융지주",
@@ -123,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4063919.2077500755,
"last_add_price": 35950
@@ -139,12 +97,12 @@
"entry_at": "2026-09-15T09:04:46.835417+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1510162.3677440109,
"last_add_price": 144600
@@ -155,24 +113,24 @@
"sources": [
"auto"
],
"qty": 11,
"entry_price": 394000,
"qty": 22,
"entry_price": 399500.0,
"entry_at": "2026-09-28T09:20:58.279807+09:00",
"stop": 372500,
"target": 458500,
"peak": 398500,
"target": 480500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,425 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4658782.560843747,
"last_add_price": 394000
"last_add_price": 405000
}
},
"realized_pnl": -27638947.761500068,
"closed_trades": 133,
"realized_pnl": -28295028.69650007,
"closed_trades": 135,
"wins": 4,
"peak_equity": 100000000,
"max_drawdown": 0.2669266310650006,
@@ -212,10 +170,11 @@
"138040": "2026-09-08",
"194370": "2026-08-24",
"068270": "2026-08-26",
"012450": "2026-09-02",
"012450": "2026-09-29",
"257720": "2026-09-08",
"000720": "2026-09-28"
"000720": "2026-09-28",
"003550": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.583751+09:00",
"updated_at": "2026-09-28T15:28:57.728211+09:00"
"updated_at": "2026-09-29T15:28:54.198346+09:00"
}
@@ -310,3 +310,6 @@
{"ts": "2026-09-28T09:18:57.435699+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 32, "cost": 4544682, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.279152+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 32, "proceeds": 4531945, "entry_price": 142000, "pnl": -12736, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.435697+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.279809+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 394000, "qty": 11, "cost": 4334650, "path": "pullback", "reason": "눌림목 지정가 409,425 도달", "stop": 372500, "target": 458500, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "393,000 vs 369,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +5 · 기 -6 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.29% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "17,467 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.29% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,425 (현재 393,000)"}]}
{"ts": "2026-09-29T09:14:54.984570+09:00", "side": "SELL", "code": "012450", "name": "한화에어로스페이스", "price": 1027000, "qty": 8, "proceeds": 8199979, "entry_price": 1073000, "pnl": -385309, "pnl_pct": -4.29, "hold_from": "2026-09-09T09:12:37.164608+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "998,000 (현재 1,028,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,298,000"}, {"label": "추세(60일선)", "ok": false, "detail": "1,039,417"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -67 · 기 +3"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-29T09:40:55.138413+09:00", "side": "SELL", "code": "003550", "name": "LG", "price": 111100, "qty": 31, "proceeds": 3437384, "entry_price": 119600, "pnl": -270772, "pnl_pct": -7.11, "hold_from": "2026-09-09T09:38:36.692911+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "107,512 (현재 111,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 155,863"}, {"label": "추세(60일선)", "ok": true, "detail": "106,347"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -67 · 기 +90"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 122,201"}]}
{"ts": "2026-09-29T10:02:59.700062+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 405000, "qty": 11, "cost": 4455668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 458500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 404,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,500"}, {"label": "추세(60일선)", "ok": true, "detail": "369,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 403,037"}]}
@@ -1,5 +1,5 @@
{
"cash": 36140619.825499974,
"cash": 48019810.14549997,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3229829.7909181127,
"last_add_price": 145300
@@ -39,53 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4114454.4034401365,
"last_add_price": 30200
},
"001450": {
"code": "001450",
"name": "현대해상",
"sources": [
"auto"
],
"qty": 140,
"entry_price": 50213.92857142857,
"entry_at": "2026-09-09T09:26:36.622713+09:00",
"stop": 44634,
"target": 66953,
"peak": 52500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"tranches": 2,
"tranche_value": 3527023.225691173,
"last_add_price": 51000
},
"078930": {
"code": "078930",
"name": "GS",
"sources": [
"auto"
],
"qty": 23,
"entry_price": 120700,
"entry_at": "2026-09-09T09:38:37.089699+09:00",
"stop": 104221,
"target": 170138,
"peak": 124200,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"tranches": 1,
"tranche_value": 2831922.2510831044,
"last_add_price": 120700
},
"004370": {
"code": "004370",
"name": "농심",
@@ -102,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4435147.047639696,
"last_add_price": 411000
@@ -118,12 +76,12 @@
"entry_at": "2026-09-15T09:04:46.840761+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1520913.5675996346,
"last_add_price": 144600
@@ -139,40 +97,19 @@
"entry_at": "2026-09-15T09:42:47.219722+09:00",
"stop": 14364,
"target": 26645,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2134348.726385529,
"last_add_price": 17900
},
"295310": {
"code": "295310",
"name": "에이치브이엠",
"sources": [
"watch"
],
"qty": 46,
"entry_price": 61900,
"entry_at": "2026-09-28T09:01:21.171445+09:00",
"stop": 53834,
"target": 86097,
"peak": 62000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 58000,
"tranches": 1,
"tranche_value": 2895922.621688227,
"last_add_price": 61900
}
},
"realized_pnl": -25413764.197000053,
"closed_trades": 137,
"realized_pnl": -26189921.894500054,
"closed_trades": 140,
"wins": 4,
"peak_equity": 100000000,
"max_drawdown": 0.2616004480150002,
@@ -206,11 +143,13 @@
"138040": "2026-09-08",
"010950": "2026-08-26",
"161890": "2026-09-15",
"078930": "2026-09-03",
"078930": "2026-09-29",
"252990": "2026-08-21",
"004370": "2026-09-07",
"079650": "2026-09-28"
"079650": "2026-09-28",
"001450": "2026-09-29",
"295310": "2026-09-29"
},
"created_at": "2026-06-15T14:40:00.621367+09:00",
"updated_at": "2026-09-28T15:28:57.732361+09:00"
"updated_at": "2026-09-29T15:28:54.202293+09:00"
}
@@ -314,3 +314,6 @@
{"ts": "2026-09-21T09:52:51.096423+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 144600, "qty": 10, "cost": 1446217, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 100700, "target": 232300, "signals": [{"label": "손절선", "ok": true, "detail": "100,700 (현재 144,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 232,300"}, {"label": "추세(60일선)", "ok": true, "detail": "99,527"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +59 · 기 -54"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 143,611"}]}
{"ts": "2026-09-28T09:01:20.681336+09:00", "side": "SELL", "code": "079650", "name": "서산", "price": 6270, "qty": 432, "proceeds": 2703358, "entry_price": 7445, "pnl": -513534, "pnl_pct": -15.79, "hold_from": "2026-09-07T09:16:31.812124+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "5,651 (현재 6,240)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 12,829"}, {"label": "추세(60일선)", "ok": true, "detail": "4,355"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +111 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T09:01:21.171466+09:00", "side": "BUY", "code": "295310", "name": "에이치브이엠", "price": 61900, "qty": 46, "cost": 2847827, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 53834, "target": 86097, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "62,100 vs 47,762"}, {"label": "정배열(5>60)", "ok": true, "detail": "59,660 / 47,762"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "59,660 / 47,762"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -95 · 기 +88 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.47% (환산) vs 평균 0.97% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 61,900"}, {"label": "거래량 급증", "ok": true, "detail": "182,840 (환산) vs 평균 120,414"}, {"label": "회전율 급증", "ok": true, "detail": "1.47% (환산) vs 평균 0.97%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
{"ts": "2026-09-29T09:28:50.403111+09:00", "side": "SELL", "code": "001450", "name": "현대해상", "price": 49400, "qty": 140, "proceeds": 6902514, "entry_price": 50214, "pnl": -128491, "pnl_pct": -1.62, "hold_from": "2026-09-09T09:26:36.622713+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "44,634 (현재 49,475)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 66,953"}, {"label": "추세(60일선)", "ok": true, "detail": "37,613"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +356 · 기 -272"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-29T09:40:55.547549+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 109600, "qty": 23, "proceeds": 2515884, "entry_price": 120700, "pnl": -260632, "pnl_pct": -9.2, "hold_from": "2026-09-09T09:38:37.089699+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "104,221 (현재 109,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 170,138"}, {"label": "추세(60일선)", "ok": true, "detail": "75,415"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +378 · 기 -339"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,306"}]}
{"ts": "2026-09-29T09:48:53.823794+09:00", "side": "SELL", "code": "295310", "name": "에이치브이엠", "price": 53600, "qty": 46, "proceeds": 2460792, "entry_price": 61900, "pnl": -387035, "pnl_pct": -13.41, "hold_from": "2026-09-28T09:01:21.171445+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "53,834 (현재 53,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 86,097"}, {"label": "추세(60일선)", "ok": true, "detail": "47,622"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -85 · 기 +30"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 63,970"}]}
@@ -1,5 +1,5 @@
{
"cash": 29429405.45699997,
"cash": 37605431.05699997,
"initial": 100000000,
"positions": {
"078930": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3042388.163482306,
"last_add_price": 101700
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1267059.834384944,
"last_add_price": 35800
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 3881914.001622301,
"last_add_price": 6830
},
"012450": {
"code": "012450",
"name": "한화에어로스페이스",
"sources": [
"interest"
],
"qty": 8,
"entry_price": 1076000.0,
"entry_at": "2026-09-09T09:14:37.107169+09:00",
"stop": 998000,
"target": 1310000,
"peak": 1152000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"tranches": 2,
"tranche_value": 4745116.755187498,
"last_add_price": 1097000
},
"003490": {
"code": "003490",
"name": "대한항공",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4079729.186576085,
"last_add_price": 29450
@@ -118,12 +97,12 @@
"entry_at": "2026-09-15T09:04:46.845888+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1518714.2537293003,
"last_add_price": 144600
@@ -139,12 +118,12 @@
"entry_at": "2026-09-15T09:42:47.233763+09:00",
"stop": 14362,
"target": 26643,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2126392.023682259,
"last_add_price": 17900
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 1,
"tranche_value": 3193330.2718670745,
"last_add_price": 160900
}
},
"realized_pnl": -27405010.67650007,
"closed_trades": 127,
"realized_pnl": -27838276.276500072,
"closed_trades": 128,
"wins": 3,
"peak_equity": 100000000,
"max_drawdown": 0.2643100330700004,
@@ -213,8 +192,9 @@
"194370": "2026-08-24",
"068270": "2026-08-26",
"257720": "2026-09-08",
"000720": "2026-09-28"
"000720": "2026-09-28",
"012450": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.584337+09:00",
"updated_at": "2026-09-28T15:28:57.736753+09:00"
"updated_at": "2026-09-29T15:28:54.206469+09:00"
}
@@ -299,3 +299,4 @@
{"ts": "2026-09-28T09:18:57.444613+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 33, "cost": 4686703, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.288324+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 33, "proceeds": 4673569, "entry_price": 142000, "pnl": -13134, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.444610+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.328842+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 160900, "qty": 19, "cost": 3057559, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 141844, "target": 218069, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "161,400 vs 113,720"}, {"label": "정배열(5>60)", "ok": true, "detail": "121,460 / 113,720"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "121,460 / 113,720"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +214 · 기 -31 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+11%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.52% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "588,467 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.52% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "79"}]}
{"ts": "2026-09-29T09:16:55.437493+09:00", "side": "SELL", "code": "012450", "name": "한화에어로스페이스", "price": 1024000, "qty": 8, "proceeds": 8176026, "entry_price": 1076000, "pnl": -433266, "pnl_pct": -4.83, "hold_from": "2026-09-09T09:14:37.107169+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "998,000 (현재 1,025,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,310,000"}, {"label": "추세(60일선)", "ok": false, "detail": "1,039,367"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -67 · 기 +3"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -1,5 +1,5 @@
{
"cash": 36140619.825499974,
"cash": 48019810.14549997,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3229829.7909181127,
"last_add_price": 145300
@@ -39,53 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4114454.4034401365,
"last_add_price": 30200
},
"001450": {
"code": "001450",
"name": "현대해상",
"sources": [
"auto"
],
"qty": 140,
"entry_price": 50213.92857142857,
"entry_at": "2026-09-09T09:26:36.632446+09:00",
"stop": 44634,
"target": 66953,
"peak": 52500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"tranches": 2,
"tranche_value": 3527023.225691173,
"last_add_price": 51000
},
"078930": {
"code": "078930",
"name": "GS",
"sources": [
"auto"
],
"qty": 23,
"entry_price": 120700,
"entry_at": "2026-09-09T09:38:37.113349+09:00",
"stop": 104221,
"target": 170138,
"peak": 124200,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"tranches": 1,
"tranche_value": 2831922.2510831044,
"last_add_price": 120700
},
"004370": {
"code": "004370",
"name": "농심",
@@ -102,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 4435147.047639696,
"last_add_price": 411000
@@ -118,12 +76,12 @@
"entry_at": "2026-09-15T09:04:46.850539+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1520913.5675996346,
"last_add_price": 144600
@@ -139,40 +97,19 @@
"entry_at": "2026-09-15T09:42:47.242387+09:00",
"stop": 14364,
"target": 26645,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2134348.726385529,
"last_add_price": 17900
},
"295310": {
"code": "295310",
"name": "에이치브이엠",
"sources": [
"watch"
],
"qty": 46,
"entry_price": 61900,
"entry_at": "2026-09-28T09:01:21.471784+09:00",
"stop": 53834,
"target": 86097,
"peak": 62000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 58000,
"tranches": 1,
"tranche_value": 2895922.621688227,
"last_add_price": 61900
}
},
"realized_pnl": -25413764.197000053,
"closed_trades": 137,
"realized_pnl": -26189921.894500054,
"closed_trades": 140,
"wins": 4,
"peak_equity": 100000000,
"max_drawdown": 0.2616004480150002,
@@ -206,11 +143,13 @@
"138040": "2026-09-08",
"010950": "2026-08-26",
"161890": "2026-09-15",
"078930": "2026-09-03",
"078930": "2026-09-29",
"252990": "2026-08-21",
"004370": "2026-09-07",
"079650": "2026-09-28"
"079650": "2026-09-28",
"001450": "2026-09-29",
"295310": "2026-09-29"
},
"created_at": "2026-06-15T14:40:00.621411+09:00",
"updated_at": "2026-09-28T15:28:57.740399+09:00"
"updated_at": "2026-09-29T15:28:54.209996+09:00"
}
@@ -314,3 +314,6 @@
{"ts": "2026-09-21T09:52:51.105243+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 144600, "qty": 10, "cost": 1446217, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 100700, "target": 232300, "signals": [{"label": "손절선", "ok": true, "detail": "100,700 (현재 144,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 232,300"}, {"label": "추세(60일선)", "ok": true, "detail": "99,527"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +59 · 기 -54"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 143,611"}]}
{"ts": "2026-09-28T09:01:21.467369+09:00", "side": "SELL", "code": "079650", "name": "서산", "price": 6270, "qty": 432, "proceeds": 2703358, "entry_price": 7445, "pnl": -513534, "pnl_pct": -15.79, "hold_from": "2026-09-07T09:16:31.831872+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "5,651 (현재 6,240)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 12,829"}, {"label": "추세(60일선)", "ok": true, "detail": "4,355"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +111 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T09:01:21.471792+09:00", "side": "BUY", "code": "295310", "name": "에이치브이엠", "price": 61900, "qty": 46, "cost": 2847827, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 53834, "target": 86097, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "62,100 vs 47,762"}, {"label": "정배열(5>60)", "ok": true, "detail": "59,660 / 47,762"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "59,660 / 47,762"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -95 · 기 +88 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.47% (환산) vs 평균 0.97% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 61,900"}, {"label": "거래량 급증", "ok": true, "detail": "182,840 (환산) vs 평균 120,414"}, {"label": "회전율 급증", "ok": true, "detail": "1.47% (환산) vs 평균 0.97%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
{"ts": "2026-09-29T09:28:50.415174+09:00", "side": "SELL", "code": "001450", "name": "현대해상", "price": 49400, "qty": 140, "proceeds": 6902514, "entry_price": 50214, "pnl": -128491, "pnl_pct": -1.62, "hold_from": "2026-09-09T09:26:36.632446+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "44,634 (현재 49,475)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 66,953"}, {"label": "추세(60일선)", "ok": true, "detail": "37,613"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +356 · 기 -272"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-29T09:40:55.574459+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 109600, "qty": 23, "proceeds": 2515884, "entry_price": 120700, "pnl": -260632, "pnl_pct": -9.2, "hold_from": "2026-09-09T09:38:37.113349+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "104,221 (현재 109,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 170,138"}, {"label": "추세(60일선)", "ok": true, "detail": "75,415"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +378 · 기 -339"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,306"}]}
{"ts": "2026-09-29T09:48:53.834637+09:00", "side": "SELL", "code": "295310", "name": "에이치브이엠", "price": 53600, "qty": 46, "proceeds": 2460792, "entry_price": 61900, "pnl": -387035, "pnl_pct": -13.41, "hold_from": "2026-09-28T09:01:21.471784+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "53,834 (현재 53,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 86,097"}, {"label": "추세(60일선)", "ok": true, "detail": "47,622"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -85 · 기 +30"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 63,970"}]}
@@ -1,5 +1,5 @@
{
"cash": 29429405.45699997,
"cash": 37605431.05699997,
"initial": 100000000,
"positions": {
"078930": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3042388.163482306,
"last_add_price": 101700
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1267059.834384944,
"last_add_price": 35800
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 3881914.001622301,
"last_add_price": 6830
},
"012450": {
"code": "012450",
"name": "한화에어로스페이스",
"sources": [
"interest"
],
"qty": 8,
"entry_price": 1076000.0,
"entry_at": "2026-09-09T09:14:37.115591+09:00",
"stop": 998000,
"target": 1310000,
"peak": 1152000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"tranches": 2,
"tranche_value": 4745116.755187498,
"last_add_price": 1097000
},
"003490": {
"code": "003490",
"name": "대한항공",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4079729.186576085,
"last_add_price": 29450
@@ -118,12 +97,12 @@
"entry_at": "2026-09-15T09:04:46.855157+09:00",
"stop": 100700,
"target": 253252,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1518714.2537293003,
"last_add_price": 144600
@@ -139,12 +118,12 @@
"entry_at": "2026-09-15T09:42:47.250207+09:00",
"stop": 14362,
"target": 26643,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2126392.023682259,
"last_add_price": 17900
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 1,
"tranche_value": 3193330.2718670745,
"last_add_price": 160900
}
},
"realized_pnl": -27405010.67650007,
"closed_trades": 127,
"realized_pnl": -27838276.276500072,
"closed_trades": 128,
"wins": 3,
"peak_equity": 100000000,
"max_drawdown": 0.2643100330700004,
@@ -213,8 +192,9 @@
"194370": "2026-08-24",
"068270": "2026-08-26",
"257720": "2026-09-08",
"000720": "2026-09-28"
"000720": "2026-09-28",
"012450": "2026-09-29"
},
"created_at": "2026-06-15T14:55:00.584451+09:00",
"updated_at": "2026-09-28T15:28:57.744152+09:00"
"updated_at": "2026-09-29T15:28:54.213615+09:00"
}
@@ -299,3 +299,4 @@
{"ts": "2026-09-28T09:18:57.452442+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 33, "cost": 4686703, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.338371+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 33, "proceeds": 4673569, "entry_price": 142000, "pnl": -13134, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.452440+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.338542+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 160900, "qty": 19, "cost": 3057559, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 141844, "target": 218069, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "161,400 vs 113,720"}, {"label": "정배열(5>60)", "ok": true, "detail": "121,460 / 113,720"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "121,460 / 113,720"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +214 · 기 -31 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+11%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.52% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "588,467 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.52% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "79"}]}
{"ts": "2026-09-29T09:16:55.448583+09:00", "side": "SELL", "code": "012450", "name": "한화에어로스페이스", "price": 1024000, "qty": 8, "proceeds": 8176026, "entry_price": 1076000, "pnl": -433266, "pnl_pct": -4.83, "hold_from": "2026-09-09T09:14:37.115591+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "998,000 (현재 1,025,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,310,000"}, {"label": "추세(60일선)", "ok": false, "detail": "1,039,367"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -67 · 기 +3"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3546894.320639113,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.191677+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1687768.019262798,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 3966630.036179657,
"last_add_price": 112800
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4104392.319035925,
"last_add_price": 30200
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1613925.865525043,
"last_add_price": 7850
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 3521468.04972381,
"last_add_price": 51000
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2751857.4030862907,
"last_add_price": 146300
@@ -212,5 +212,5 @@
"257720": "2026-09-10"
},
"created_at": "2026-06-15T14:40:00.621453+09:00",
"updated_at": "2026-09-28T15:28:57.747357+09:00"
"updated_at": "2026-09-29T15:28:54.216784+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 28451971.805499967,
"cash": 23996303.555499967,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3468191.0592600796,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.194352+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1667469.2912320814,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3059768.9052410396,
"last_add_price": 13420
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3005090.6555779856,
"last_add_price": 101700
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1248111.8252958565,
"last_add_price": 35800
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"cur_price": 1011000,
"tranches": 2,
"tranche_value": 4823227.379406248,
"last_add_price": 1094000
@@ -155,20 +155,20 @@
"sources": [
"auto"
],
"qty": 12,
"entry_price": 394000,
"qty": 23,
"entry_price": 399260.8695652174,
"entry_at": "2026-09-28T09:20:58.346984+09:00",
"stop": 372500,
"target": 458500,
"peak": 398500,
"target": 479543,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,425 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4734491.937843747,
"last_add_price": 394000
"last_add_price": 405000
}
},
"realized_pnl": -26807918.184500057,
@@ -214,5 +214,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-15T14:55:00.584565+09:00",
"updated_at": "2026-09-28T15:28:57.750816+09:00"
"updated_at": "2026-09-29T15:28:54.220138+09:00"
}
@@ -261,3 +261,4 @@
{"ts": "2026-09-28T09:18:57.459368+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 33, "cost": 4686703, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.346521+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 33, "proceeds": 4673569, "entry_price": 142000, "pnl": -13134, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.459366+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.346986+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 394000, "qty": 12, "cost": 4728709, "path": "pullback", "reason": "눌림목 지정가 409,425 도달", "stop": 372500, "target": 458500, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "393,000 vs 369,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +5 · 기 -6 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.29% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "17,467 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.29% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,425 (현재 393,000)"}]}
{"ts": "2026-09-29T10:02:59.723747+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 405000, "qty": 11, "cost": 4455668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 458500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 404,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,500"}, {"label": "추세(60일선)", "ok": true, "detail": "369,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 403,037"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3546894.320639113,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.196890+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1687768.019262798,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 3966630.036179657,
"last_add_price": 112800
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4104392.319035925,
"last_add_price": 30200
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1613925.865525043,
"last_add_price": 7850
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 3521468.04972381,
"last_add_price": 51000
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2751857.4030862907,
"last_add_price": 146300
@@ -212,5 +212,5 @@
"257720": "2026-09-10"
},
"created_at": "2026-06-15T14:40:00.621497+09:00",
"updated_at": "2026-09-28T15:28:57.753957+09:00"
"updated_at": "2026-09-29T15:28:54.223024+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 28451971.805499967,
"cash": 23996303.555499967,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3468191.0592600796,
"last_add_price": 136000
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.199406+09:00",
"stop": 100700,
"target": 251570,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1667469.2912320814,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3059768.9052410396,
"last_add_price": 13420
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 3005090.6555779856,
"last_add_price": 101700
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1248111.8252958565,
"last_add_price": 35800
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,053,984 도달",
"cur_price": 1039000,
"cur_price": 1011000,
"tranches": 2,
"tranche_value": 4823227.379406248,
"last_add_price": 1094000
@@ -155,20 +155,20 @@
"sources": [
"auto"
],
"qty": 12,
"entry_price": 394000,
"qty": 23,
"entry_price": 399260.8695652174,
"entry_at": "2026-09-28T09:20:58.354375+09:00",
"stop": 372500,
"target": 458500,
"peak": 398500,
"target": 479543,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,425 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4734491.937843747,
"last_add_price": 394000
"last_add_price": 405000
}
},
"realized_pnl": -26807918.184500057,
@@ -214,5 +214,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-15T14:55:00.584680+09:00",
"updated_at": "2026-09-28T15:28:57.757118+09:00"
"updated_at": "2026-09-29T15:28:54.226107+09:00"
}
@@ -261,3 +261,4 @@
{"ts": "2026-09-28T09:18:57.465708+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 142000, "qty": 33, "cost": 4686703, "path": "pullback", "reason": "눌림목 지정가 157,446 도달", "stop": 141999, "target": 142003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "142,000 vs 112,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "166,040 / 112,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+42.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +32 · 기 +116 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+38%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "315,073 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.09% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 157,446 (현재 142,000)"}]}
{"ts": "2026-09-28T09:20:58.353971+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 141900, "qty": 33, "proceeds": 4673569, "entry_price": 142000, "pnl": -13134, "pnl_pct": -0.07, "hold_from": "2026-09-28T09:18:57.465706+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "141,999 (현재 141,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,003"}, {"label": "추세(60일선)", "ok": true, "detail": "112,917"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +32 · 기 +116"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 152,251"}]}
{"ts": "2026-09-28T09:20:58.354377+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 394000, "qty": 12, "cost": 4728709, "path": "pullback", "reason": "눌림목 지정가 409,425 도달", "stop": 372500, "target": 458500, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "393,000 vs 369,608"}, {"label": "정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,100 / 369,608"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +5 · 기 -6 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.29% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "17,467 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.29% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,425 (현재 393,000)"}]}
{"ts": "2026-09-29T10:02:59.730674+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 405000, "qty": 11, "cost": 4455668, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 458500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 404,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,500"}, {"label": "추세(60일선)", "ok": true, "detail": "369,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 403,037"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 4371332.168068898,
"last_add_price": 105800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3448434.606240806,
"last_add_price": 130800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4425860.654266699,
"last_add_price": 125200
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 218500,
"cur_price": 215500,
"tranches": 2,
"tranche_value": 2243002.5784807494,
"last_add_price": 244500
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2796943.490474186,
"last_add_price": 133800
@@ -118,12 +118,12 @@
"entry_at": "2026-08-20T09:04:23.376147+09:00",
"stop": 113467,
"target": 266209,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 147,729 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1467735.2954887256,
"last_add_price": 157600
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 2,
"tranche_value": 3093167.6730282507,
"last_add_price": 134900
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 12650,
"cur_price": 12170,
"tranches": 1,
"tranche_value": 2288070.2774689887,
"last_add_price": 13090
@@ -221,5 +221,5 @@
"003680": "2026-08-24"
},
"created_at": "2026-06-16T09:00:03.113416+09:00",
"updated_at": "2026-09-28T15:28:58.339275+09:00"
"updated_at": "2026-09-29T15:28:54.814276+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 5402457.352781249,
"last_add_price": 104900
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 4939827.041843749,
"last_add_price": 130800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 4504266.321593748,
"last_add_price": 125200
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 4268049.827468748,
"last_add_price": 122900
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 4349667.340562498,
"last_add_price": 118900
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4532714.182749998,
"last_add_price": 34350
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 4617879.361156248,
"last_add_price": 6330
@@ -160,12 +160,12 @@
"entry_at": "2026-09-21T15:00:50.060288+09:00",
"stop": 7041,
"target": 11318,
"peak": 8210,
"peak": 8240,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7800,
"cur_price": 8170,
"tranches": 1,
"tranche_value": 4456984.8542187475,
"last_add_price": 8110
@@ -205,5 +205,5 @@
"079650": "2026-09-21"
},
"created_at": "2026-06-16T09:00:03.113433+09:00",
"updated_at": "2026-09-28T15:28:58.353997+09:00"
"updated_at": "2026-09-29T15:28:54.827139+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 5385166.371499957,
"cash": 2521936.951499956,
"initial": 100000000,
"positions": {
"055550": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 5666061.52171875,
"last_add_price": 99700
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 4789675.2297187485,
"last_add_price": 130800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 291000,
"cur_price": 279000,
"tranches": 2,
"tranche_value": 4236521.005156248,
"last_add_price": 295000
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 113700,
"cur_price": 107900,
"tranches": 2,
"tranche_value": 4279461.011749998,
"last_add_price": 101700
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 4367140.436124997,
"last_add_price": 135000
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 4637315.235843748,
"last_add_price": 34350
@@ -139,12 +139,12 @@
"entry_at": "2026-09-21T15:00:50.077544+09:00",
"stop": 7041,
"target": 11318,
"peak": 8210,
"peak": 8240,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7800,
"cur_price": 8170,
"tranches": 1,
"tranche_value": 4411518.207562497,
"last_add_price": 8110
@@ -155,20 +155,20 @@
"sources": [
"auto"
],
"qty": 18,
"entry_price": 157700,
"qty": 35,
"entry_price": 162897.14285714287,
"entry_at": "2026-09-28T09:04:56.208686+09:00",
"stop": 120543,
"target": 269171,
"peak": 165800,
"stop": 126140,
"target": 273168,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 158,422 도달",
"cur_price": 162900,
"tranches": 1,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 2951850.2265706444,
"last_add_price": 157700
"last_add_price": 168400
}
},
"realized_pnl": -35927001.774000034,
@@ -213,5 +213,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-16T09:00:03.113489+09:00",
"updated_at": "2026-09-28T15:28:58.363197+09:00"
"updated_at": "2026-09-29T15:28:54.837079+09:00"
}
@@ -134,3 +134,4 @@
{"ts": "2026-09-21T15:00:50.077549+09:00", "side": "BUY", "code": "200470", "name": "에이팩트", "price": 8110, "qty": 543, "cost": 4404391, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 7041, "target": 11318, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "8,140 vs 6,418"}, {"label": "정배열(5>20)", "ok": true, "detail": "7,034 / 6,418"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "7,034 / 5,883"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +402 · 기 +386 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.41% (환산) vs 평균 1.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 7,420"}, {"label": "거래량 급증", "ok": true, "detail": "1,931,630 (환산) vs 평균 834,624"}, {"label": "회전율 급증", "ok": true, "detail": "4.41% (환산) vs 평균 1.93%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-09-28T09:04:56.153380+09:00", "side": "SELL", "code": "000720", "name": "현대건설", "price": 119200, "qty": 65, "proceeds": 7732891, "entry_price": 138758, "pnl": -1287761, "pnl_pct": -14.1, "hold_from": "2026-09-09T09:00:49.386367+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,450 (현재 119,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 196,685"}, {"label": "추세(20일선)", "ok": true, "detail": "107,440"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -440 · 기 -358"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T09:04:56.208700+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 157700, "qty": 18, "cost": 2839026, "path": "pullback", "reason": "눌림목 지정가 158,422 도달", "stop": 120543, "target": 269171, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,300 vs 136,330"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,300 / 136,330"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,300 / 99,755"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +222 · 기 -12 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "73,727 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "0.38% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,422 (현재 158,300)"}]}
{"ts": "2026-09-29T09:02:53.136283+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 168400, "qty": 17, "cost": 2863229, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 120543, "target": 269171, "signals": [{"label": "손절선", "ok": true, "detail": "120,543 (현재 168,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 269,171"}, {"label": "추세(20일선)", "ok": true, "detail": "136,850"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +236 · 기 -7"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 166,889"}]}
@@ -13,12 +13,12 @@
"entry_at": "2026-07-31T12:36:11.212064+09:00",
"stop": 108279,
"target": 227508,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 2602335.520457338,
"last_add_price": 147600
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3682720.3330000006,
"last_add_price": 13420
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 3788581.3199375006,
"last_add_price": 50400
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,581 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3822139.0130625004,
"last_add_price": 11930
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,350 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 3773712.918396452,
"last_add_price": 4810
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 3798944.7854062505,
"last_add_price": 144100
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 3730753.9550937507,
"last_add_price": 6830
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 1007,
"cur_price": 1000,
"tranches": 1,
"tranche_value": 3720793.6927812505,
"last_add_price": 1046
@@ -209,5 +209,5 @@
"257720": "2026-09-09"
},
"created_at": "2026-06-16T10:45:02.136776+09:00",
"updated_at": "2026-09-28T15:28:58.919712+09:00"
"updated_at": "2026-09-29T15:28:55.912053+09:00"
}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 4497110.087925,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 4537990.22125,
"last_add_price": 353000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3916421.3406499997,
"last_add_price": 13420
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 3939438.35845,
"last_add_price": 135000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 3906404.1509499997,
"last_add_price": 50500
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,601 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 4014765.8981999992,
"last_add_price": 11970
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 124600,
"cur_price": 117000,
"tranches": 2,
"tranche_value": 3960548.7447749996,
"last_add_price": 133000
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 3880908.2525249994,
"last_add_price": 6740
@@ -186,7 +186,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 1,
"tranche_value": 3788155.7863749997,
"last_add_price": 36450
@@ -241,5 +241,5 @@
"003550": "2026-09-15"
},
"created_at": "2026-06-16T14:30:00.114884+09:00",
"updated_at": "2026-09-28T15:28:58.926295+09:00"
"updated_at": "2026-09-29T15:28:55.923911+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 5063350.51975001,
"cash": 1426805.1197500098,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 4360729.7882,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 4542977.951950001,
"last_add_price": 353000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12780,
"cur_price": 12610,
"tranches": 2,
"tranche_value": 3756374.284550001,
"last_add_price": 13420
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 49050,
"cur_price": 50000,
"tranches": 2,
"tranche_value": 3779374.505025001,
"last_add_price": 50500
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 3753616.173025001,
"last_add_price": 135000
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,047 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 2355344.402237601,
"last_add_price": 35650
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,342 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 3832048.9757250003,
"last_add_price": 4795
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 3818388.2761875005,
"last_add_price": 32000
@@ -186,7 +186,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7030,
"cur_price": 7200,
"tranches": 2,
"tranche_value": 3751556.2420625,
"last_add_price": 6830
@@ -197,20 +197,20 @@
"sources": [
"auto"
],
"qty": 9,
"entry_price": 392500,
"qty": 18,
"entry_price": 398250.0,
"entry_at": "2026-09-17T09:08:47.427321+09:00",
"stop": 372500,
"target": 452500,
"peak": 399000,
"target": 475500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,907 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 3737257.7022625008,
"last_add_price": 392500
"last_add_price": 404000
}
},
"realized_pnl": -28238701.288500033,
@@ -243,5 +243,5 @@
"004370": "2026-09-07"
},
"created_at": "2026-06-16T14:30:00.114893+09:00",
"updated_at": "2026-09-28T15:28:58.932064+09:00"
"updated_at": "2026-09-29T15:28:55.932602+09:00"
}
@@ -128,3 +128,4 @@
{"ts": "2026-09-17T09:08:47.427322+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 392500, "qty": 9, "cost": 3533030, "path": "pullback", "reason": "눌림목 지정가 409,907 도달", "stop": 372500, "target": 452500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "392,500 vs 382,850"}, {"label": "정배열(5>20)", "ok": true, "detail": "401,000 / 382,850"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "401,000 / 369,600"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +1 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.36% (환산) vs 평균 0.51% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 440,000"}, {"label": "거래량 급증", "ok": false, "detail": "22,067 (환산) vs 평균 31,191"}, {"label": "회전율 급증", "ok": false, "detail": "0.36% (환산) vs 평균 0.51%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 409,907 (현재 392,500)"}]}
{"ts": "2026-09-23T09:10:58.084536+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 32000, "qty": 119, "cost": 3808571, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 27920, "target": 39641, "signals": [{"label": "손절선", "ok": true, "detail": "27,920 (현재 31,850)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 39,641"}, {"label": "추세(20일선)", "ok": true, "detail": "26,098"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +2,051 · 기 +1,570"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 31,618"}]}
{"ts": "2026-09-23T11:12:56.553358+09:00", "side": "BUY", "code": "048910", "name": "대원미디어", "price": 6830, "qty": 549, "cost": 3750232, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 6012, "target": 8643, "signals": [{"label": "손절선", "ok": true, "detail": "6,012 (현재 6,850)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,643"}, {"label": "추세(20일선)", "ok": true, "detail": "4,798"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +13"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,834"}]}
{"ts": "2026-09-29T09:30:57.004863+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 404000, "qty": 9, "cost": 3636545, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 452500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 402,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 452,500"}, {"label": "추세(20일선)", "ok": true, "detail": "383,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 401,537"}]}
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3561275.575471075,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 2,
"tranche_value": 3616873.7658032966,
"last_add_price": 349500
@@ -55,12 +55,12 @@
"entry_at": "2026-07-31T12:36:11.219851+09:00",
"stop": 100700,
"target": 250167,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 144,129 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1695866.1189129704,
"last_add_price": 147600
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 3896691.6945500015,
"last_add_price": 112800
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2745363.955329169,
"last_add_price": 132000
@@ -123,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,365 도달",
"cur_price": 4615,
"cur_price": 4595,
"tranches": 1,
"tranche_value": 2237058.4160459745,
"last_add_price": 4895
@@ -144,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 3946598.3595250016,
"last_add_price": 30200
@@ -165,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 6560,
"cur_price": 6010,
"tranches": 2,
"tranche_value": 1617867.8531665015,
"last_add_price": 6580
@@ -186,7 +186,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"cur_price": 135700,
"tranches": 1,
"tranche_value": 2963407.3031992856,
"last_add_price": 143200
@@ -207,7 +207,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1901666.048918765,
"last_add_price": 46500
@@ -253,5 +253,5 @@
"257720": "2026-09-10"
},
"created_at": "2026-06-16T14:30:00.114901+09:00",
"updated_at": "2026-09-28T15:28:58.937209+09:00"
"updated_at": "2026-09-29T15:28:55.938709+09:00"
}
@@ -1,5 +1,5 @@
{
"cash": 62422297.23074991,
"cash": 64505984.18274991,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 1302564.8461088152,
"last_add_price": 135000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 1481365.9160708203,
"last_add_price": 145300
@@ -53,60 +53,18 @@
"qty": 142,
"entry_price": 13828.028169014084,
"entry_at": "2026-09-03T13:38:33.380609+09:00",
"stop": 10340,
"stop": 17600,
"target": 19060,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,939 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 988188.6519627835,
"last_add_price": 14370
},
"004370": {
"code": "004370",
"name": "농심",
"sources": [
"auto"
],
"qty": 5,
"entry_price": 418500,
"entry_at": "2026-09-09T09:04:34.651068+09:00",
"stop": 376620,
"target": 481321,
"peak": 420500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 420,748 도달",
"cur_price": 396500,
"tranches": 1,
"tranche_value": 2190803.55608851,
"last_add_price": 418500
},
"180640": {
"code": "180640",
"name": "한진칼",
"sources": [
"auto"
],
"qty": 9,
"entry_price": 144000,
"entry_at": "2026-09-09T09:36:39.083412+09:00",
"stop": 120266,
"target": 179602,
"peak": 145900,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"tranches": 1,
"tranche_value": 1327917.140914299,
"last_add_price": 144000
},
"095610": {
"code": "095610",
"name": "테스",
@@ -118,12 +76,12 @@
"entry_at": "2026-09-15T09:04:46.899527+09:00",
"stop": 100700,
"target": 196700,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 156,479 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 888103.2638242849,
"last_add_price": 144600
@@ -134,20 +92,20 @@
"sources": [
"watch"
],
"qty": 217,
"entry_price": 5070,
"qty": 426,
"entry_price": 5173.028169014085,
"entry_at": "2026-09-15T09:22:44.343877+09:00",
"stop": 4066,
"target": 6576,
"peak": 5410,
"stop": 4181,
"target": 6661,
"peak": 5710,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 5,108 도달",
"cur_price": 5200,
"tranches": 1,
"cur_price": 5650,
"tranches": 2,
"tranche_value": 1104635.9623891795,
"last_add_price": 5070
"last_add_price": 5280
},
"327260": {
"code": "327260",
@@ -165,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 853163.9032473661,
"last_add_price": 47000
@@ -181,12 +139,12 @@
"entry_at": "2026-09-16T15:22:45.015024+09:00",
"stop": 2579,
"target": 3940,
"peak": 3275,
"peak": 3370,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 3,133 도달",
"cur_price": 3210,
"cur_price": 3265,
"tranches": 2,
"tranche_value": 1199694.5417108096,
"last_add_price": 3195
@@ -207,7 +165,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 17280,
"cur_price": 16580,
"tranches": 2,
"tranche_value": 1197077.8466134714,
"last_add_price": 18560
@@ -228,7 +186,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,397 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 1,
"tranche_value": 2583251.5484106448,
"last_add_price": 16280
@@ -249,14 +207,14 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 39,585 도달",
"cur_price": 38700,
"cur_price": 38000,
"tranches": 1,
"tranche_value": 1498127.2623570368,
"last_add_price": 39250
}
},
"realized_pnl": -13579288.547000073,
"closed_trades": 226,
"realized_pnl": -13780924.342000073,
"closed_trades": 228,
"wins": 7,
"peak_equity": 100036582.48,
"max_drawdown": 0.15270831167742246,
@@ -296,12 +254,13 @@
"161890": "2026-08-13",
"078930": "2026-09-03",
"138040": "2026-09-08",
"180640": "2026-08-19",
"180640": "2026-09-29",
"439090": "2026-09-03",
"001450": "2026-09-07",
"257720": "2026-09-14",
"001790": "2026-09-21"
"001790": "2026-09-21",
"004370": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885275+09:00",
"updated_at": "2026-09-28T15:28:58.941660+09:00"
"updated_at": "2026-09-29T15:28:55.943771+09:00"
}
@@ -505,3 +505,6 @@
{"ts": "2026-09-23T09:36:51.150033+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 138900, "qty": 26, "proceeds": 3604358, "entry_price": 140000, "pnl": -36188, "pnl_pct": -0.79, "hold_from": "2026-09-23T09:34:57.604569+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "139,999 (현재 139,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 140,002"}, {"label": "추세(60일선)", "ok": true, "detail": "112,883"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +20 · 기 -14"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 150,441"}]}
{"ts": "2026-09-23T09:36:51.574859+09:00", "side": "BUY", "code": "257720", "name": "실리콘투", "price": 39250, "qty": 38, "cost": 1491724, "path": "pullback", "reason": "눌림목 지정가 39,585 도달", "stop": 33500, "target": 47875, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "39,250 vs 36,095"}, {"label": "정배열(5>60)", "ok": true, "detail": "41,640 / 36,095"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "41,640 / 36,095"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+12.0%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +292 · 기 -662 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+52%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.29% (환산) vs 평균 1.56% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 48,250"}, {"label": "거래량 급증", "ok": true, "detail": "1,503,420 (환산) vs 평균 1,023,767"}, {"label": "회전율 급증", "ok": true, "detail": "2.29% (환산) vs 평균 1.56%"}, {"label": "RSI", "ok": true, "detail": "52"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 39,585 (현재 39,250)"}]}
{"ts": "2026-09-28T09:08:58.192466+09:00", "side": "BUY", "code": "010170", "name": "대한광통신", "price": 18560, "qty": 64, "cost": 1188018, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 14532, "target": 22676, "signals": [{"label": "손절선", "ok": true, "detail": "14,532 (현재 18,610)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 22,676"}, {"label": "추세(60일선)", "ok": true, "detail": "12,373"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +544 · 기 +462"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 18,445"}]}
{"ts": "2026-09-29T09:06:59.041290+09:00", "side": "SELL", "code": "004370", "name": "농심", "price": 395000, "qty": 5, "proceeds": 1971149, "entry_price": 418500, "pnl": -121665, "pnl_pct": -5.62, "hold_from": "2026-09-09T09:04:34.651068+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "376,620 (현재 395,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 481,321"}, {"label": "추세(60일선)", "ok": true, "detail": "369,650"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 427,537"}]}
{"ts": "2026-09-29T09:38:52.011497+09:00", "side": "SELL", "code": "180640", "name": "한진칼", "price": 135400, "qty": 9, "proceeds": 1216224, "entry_price": 144000, "pnl": -79971, "pnl_pct": -5.97, "hold_from": "2026-09-09T09:36:39.083412+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "120,266 (현재 135,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 179,602"}, {"label": "추세(60일선)", "ok": true, "detail": "117,517"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +23"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 148,500"}]}
{"ts": "2026-09-29T11:00:55.903223+09:00", "side": "BUY", "code": "261520", "name": "이지스", "price": 5280, "qty": 209, "cost": 1103686, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4066, "target": 6576, "signals": [{"label": "손절선", "ok": true, "detail": "4,066 (현재 5,290)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,576"}, {"label": "추세(60일선)", "ok": true, "detail": "4,261"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -18 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 5,268"}]}
@@ -1,5 +1,5 @@
{
"cash": 44519684.75649999,
"cash": 43224655.52649999,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 2055644.4533983106,
"last_add_price": 132000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 2440249.8896798776,
"last_add_price": 145300
@@ -55,37 +55,16 @@
"entry_at": "2026-09-03T13:06:31.272281+09:00",
"stop": 10542,
"target": 20306,
"peak": 18990,
"peak": 20150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 13,939 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 1448661.5729395074,
"last_add_price": 14370
},
"004370": {
"code": "004370",
"name": "농심",
"sources": [
"auto"
],
"qty": 8,
"entry_price": 418500,
"entry_at": "2026-09-09T09:04:34.653218+09:00",
"stop": 381645,
"target": 492209,
"peak": 420500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 420,748 도달",
"cur_price": 396500,
"tranches": 1,
"tranche_value": 3607796.163008242,
"last_add_price": 418500
},
"327260": {
"code": "327260",
"name": "RF머트리얼즈",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1438578.7331247122,
"last_add_price": 47000
@@ -118,12 +97,12 @@
"entry_at": "2026-09-16T13:08:48.759982+09:00",
"stop": 100700,
"target": 213200,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 156,257 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1304118.2847785852,
"last_add_price": 143800
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 17280,
"cur_price": 16580,
"tranches": 2,
"tranche_value": 1964912.7448622035,
"last_add_price": 18560
@@ -165,7 +144,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 1,
"tranche_value": 2900140.3534760317,
"last_add_price": 31350
@@ -186,7 +165,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,386 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 2,
"tranche_value": 4094046.242354855,
"last_add_price": 16390
@@ -202,19 +181,40 @@
"entry_at": "2026-09-28T14:36:59.346650+09:00",
"stop": 33500,
"target": 49250,
"peak": 38750,
"peak": 39150,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 39,546 도달",
"cur_price": 38700,
"cur_price": 38000,
"tranches": 1,
"tranche_value": 2342411.5791977677,
"last_add_price": 38750
},
"077360": {
"code": "077360",
"name": "덕산하이메탈",
"sources": [
"watch"
],
"qty": 325,
"entry_price": 13686.76923076923,
"entry_at": "2026-09-29T09:20:56.769258+09:00",
"stop": 11730,
"target": 17600,
"peak": 14130,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 14000,
"tranches": 2,
"tranche_value": 2226895.6330068237,
"last_add_price": 13900
}
},
"realized_pnl": -17960148.062500082,
"closed_trades": 195,
"realized_pnl": -18154812.26250008,
"closed_trades": 196,
"wins": 6,
"peak_equity": 100139236.48850003,
"max_drawdown": 0.19573051570800562,
@@ -259,8 +259,9 @@
"257720": "2026-09-14",
"001790": "2026-09-21",
"306200": "2026-09-23",
"079650": "2026-09-28"
"079650": "2026-09-28",
"004370": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885286+09:00",
"updated_at": "2026-09-28T15:28:58.945763+09:00"
"updated_at": "2026-09-29T15:28:55.948593+09:00"
}
@@ -442,3 +442,6 @@
{"ts": "2026-09-28T10:40:56.436974+09:00", "side": "BUY", "code": "300720", "name": "한일시멘트", "price": 16390, "qty": 249, "cost": 4081722, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 14859, "target": 18581, "signals": [{"label": "손절선", "ok": true, "detail": "14,859 (현재 16,390)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,581"}, {"label": "추세(60일선)", "ok": true, "detail": "14,440"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -43 · 기 +44"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 16,382"}]}
{"ts": "2026-09-28T14:36:58.922150+09:00", "side": "SELL", "code": "214450", "name": "파마리서치", "price": 319500, "qty": 6, "proceeds": 1913262, "entry_price": 370000, "pnl": -307071, "pnl_pct": -13.65, "hold_from": "2026-09-08T15:22:34.243711+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "319,563 (현재 319,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 470,873"}, {"label": "추세(60일선)", "ok": true, "detail": "305,075"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +39 · 기 -46"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 379,499"}]}
{"ts": "2026-09-28T14:36:59.346663+09:00", "side": "BUY", "code": "257720", "name": "실리콘투", "price": 38750, "qty": 60, "cost": 2325349, "path": "pullback", "reason": "눌림목 지정가 39,546 도달", "stop": 33500, "target": 49250, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "38,700 vs 36,086"}, {"label": "정배열(5>60)", "ok": true, "detail": "41,530 / 36,086"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "41,530 / 36,086"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.9%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +350 · 기 -905 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+54%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.50% (환산) vs 평균 1.56% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 48,250"}, {"label": "거래량 급증", "ok": false, "detail": "982,040 (환산) vs 평균 1,023,767"}, {"label": "회전율 급증", "ok": false, "detail": "1.50% (환산) vs 평균 1.56%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 39,546 (현재 38,700)"}]}
{"ts": "2026-09-29T09:06:59.047094+09:00", "side": "SELL", "code": "004370", "name": "농심", "price": 395000, "qty": 8, "proceeds": 3153838, "entry_price": 418500, "pnl": -194664, "pnl_pct": -5.62, "hold_from": "2026-09-09T09:04:34.653218+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "381,645 (현재 395,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 492,209"}, {"label": "추세(60일선)", "ok": true, "detail": "369,650"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 427,537"}]}
{"ts": "2026-09-29T09:20:56.769262+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13480, "qty": 165, "cost": 2224534, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11564, "target": 17312, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "13,380 vs 9,747"}, {"label": "정배열(5>60)", "ok": true, "detail": "11,852 / 9,747"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "11,852 / 9,747"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.5%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -494 · 기 +357 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+40%"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.21% (환산) vs 평균 1.87% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,590"}, {"label": "거래량 급증", "ok": true, "detail": "1,457,720 (환산) vs 평균 848,026"}, {"label": "회전율 급증", "ok": true, "detail": "3.21% (환산) vs 평균 1.87%"}, {"label": "RSI", "ok": true, "detail": "74"}]}
{"ts": "2026-09-29T12:46:52.747930+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13900, "qty": 160, "cost": 2224334, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11564, "target": 17312, "signals": [{"label": "손절선", "ok": true, "detail": "11,564 (현재 13,930)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,312"}, {"label": "추세(60일선)", "ok": true, "detail": "9,756"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -509 · 기 +435"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,925"}]}
@@ -1,5 +1,5 @@
{
"cash": 47935892.29654996,
"cash": 38154838.27354996,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 3112377.8236046005,
"last_add_price": 136000
@@ -39,32 +39,11 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1369462.9055232927,
"last_add_price": 35800
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 38,
"entry_price": 89700,
"entry_at": "2026-09-10T09:01:09.455659+09:00",
"stop": 78721,
"target": 111658,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 3422958.2281204336,
"last_add_price": 89700
},
"041520": {
"code": "041520",
"name": "이엘씨",
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,977 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 3213033.799832977,
"last_add_price": 12180
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 282500,
"cur_price": 285500,
"tranches": 1,
"tranche_value": 2696407.517061467,
"last_add_price": 319500
@@ -113,20 +92,20 @@
"sources": [
"auto"
],
"qty": 13,
"entry_price": 391000,
"qty": 25,
"entry_price": 395800.0,
"entry_at": "2026-09-23T09:30:56.354867+09:00",
"stop": 372500,
"target": 428000,
"peak": 398500,
"target": 442400,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 419,069 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 5153141.020656248,
"last_add_price": 391000
"last_add_price": 401000
},
"307870": {
"code": "307870",
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 1,238 도달",
"cur_price": 1259,
"cur_price": 1200,
"tranches": 2,
"tranche_value": 2355715.3719631354,
"last_add_price": 1278
@@ -155,27 +134,48 @@
"sources": [
"auto"
],
"qty": 10,
"entry_price": 157700,
"qty": 20,
"entry_price": 163050.0,
"entry_at": "2026-09-28T09:04:57.303460+09:00",
"stop": 120543,
"target": 232014,
"peak": 165800,
"stop": 126293,
"target": 236564,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 158,422 도달",
"cur_price": 162900,
"tranches": 1,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1734111.3114757552,
"last_add_price": 157700
"last_add_price": 168400
},
"077360": {
"code": "077360",
"name": "덕산하이메탈",
"sources": [
"watch"
],
"qty": 461,
"entry_price": 13686.811279826465,
"entry_at": "2026-09-29T09:20:56.775971+09:00",
"stop": 11908,
"target": 17245,
"peak": 14130,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 14000,
"tranches": 2,
"tranche_value": 3160676.8227413706,
"last_add_price": 13900
}
},
"realized_pnl": -19601796.087000042,
"closed_trades": 50,
"realized_pnl": -19984420.55700004,
"closed_trades": 51,
"wins": 2,
"peak_equity": 102728958.65750001,
"max_drawdown": 0.20523936615813007,
"max_drawdown": 0.2052576738293513,
"last_exit": {
"403870": "2026-07-07",
"009150": "2026-07-06",
@@ -205,8 +205,9 @@
"011780": "2026-09-15",
"024110": "2026-09-16",
"092790": "2026-09-23",
"000720": "2026-09-28"
"000720": "2026-09-28",
"034020": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885297+09:00",
"updated_at": "2026-09-28T15:28:58.950050+09:00"
"updated_at": "2026-09-29T15:28:55.953219+09:00"
}
@@ -147,3 +147,8 @@
{"ts": "2026-09-23T15:18:50.538705+09:00", "side": "BUY", "code": "307870", "name": "비투엔", "price": 1278, "qty": 1843, "cost": 2355707, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 989, "target": 1612, "signals": [{"label": "손절선", "ok": true, "detail": "989 (현재 1,264)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,612"}, {"label": "추세(20일선)", "ok": true, "detail": "1,144"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -132 · 기 +1"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 1,249"}]}
{"ts": "2026-09-28T09:04:57.302845+09:00", "side": "SELL", "code": "000720", "name": "현대건설", "price": 119200, "qty": 43, "proceeds": 5115605, "entry_price": 138481, "pnl": -839988, "pnl_pct": -13.92, "hold_from": "2026-09-08T14:34:41.046668+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,173 (현재 119,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 177,099"}, {"label": "추세(20일선)", "ok": true, "detail": "107,440"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -440 · 기 -358"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T09:04:57.303462+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 157700, "qty": 10, "cost": 1577237, "path": "pullback", "reason": "눌림목 지정가 158,422 도달", "stop": 120543, "target": 232014, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,300 vs 136,330"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,300 / 136,330"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,300 / 99,755"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +222 · 기 -12 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "73,727 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "0.38% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,422 (현재 158,300)"}]}
{"ts": "2026-09-29T09:02:54.941237+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 168400, "qty": 10, "cost": 1684253, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 120543, "target": 232014, "signals": [{"label": "손절선", "ok": true, "detail": "120,543 (현재 168,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 232,014"}, {"label": "추세(20일선)", "ok": true, "detail": "136,850"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +236 · 기 -7"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 166,889"}]}
{"ts": "2026-09-29T09:04:56.070764+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79800, "qty": 38, "proceeds": 3026487, "entry_price": 89700, "pnl": -382624, "pnl_pct": -11.04, "hold_from": "2026-09-10T09:01:09.455659+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "78,721 (현재 79,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,658"}, {"label": "추세(20일선)", "ok": false, "detail": "79,745"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,073"}]}
{"ts": "2026-09-29T09:20:56.775974+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13480, "qty": 234, "cost": 3154793, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11738, "target": 16963, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "13,380 vs 10,498"}, {"label": "정배열(5>20)", "ok": true, "detail": "11,852 / 10,498"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "11,852 / 9,747"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -494 · 기 +357 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+40%"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.21% (환산) vs 평균 1.87% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,590"}, {"label": "거래량 급증", "ok": true, "detail": "1,457,720 (환산) vs 평균 848,026"}, {"label": "회전율 급증", "ok": true, "detail": "3.21% (환산) vs 평균 1.87%"}, {"label": "RSI", "ok": true, "detail": "74"}]}
{"ts": "2026-09-29T09:22:57.718503+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 401000, "qty": 12, "cost": 4812722, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 428000, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 400,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 428,000"}, {"label": "추세(20일선)", "ok": true, "detail": "383,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 400,037"}]}
{"ts": "2026-09-29T12:46:52.755224+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13900, "qty": 227, "cost": 3155773, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11738, "target": 16963, "signals": [{"label": "손절선", "ok": true, "detail": "11,738 (현재 13,930)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,963"}, {"label": "추세(20일선)", "ok": true, "detail": "10,525"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -509 · 기 +435"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,925"}]}
@@ -1,5 +1,5 @@
{
"cash": 52938733.33199991,
"cash": 59625568.52699991,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 1879557.3308712046,
"last_add_price": 135000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 2119787.0272304374,
"last_add_price": 145300
@@ -60,53 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 2730942.1302758893,
"last_add_price": 30200
},
"180640": {
"code": "180640",
"name": "한진칼",
"sources": [
"auto"
],
"qty": 13,
"entry_price": 143900,
"entry_at": "2026-09-09T09:34:31.904535+09:00",
"stop": 124912,
"target": 181875,
"peak": 145900,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"tranches": 1,
"tranche_value": 1940371.9507704265,
"last_add_price": 143900
},
"086790": {
"code": "086790",
"name": "하나금융지주",
"sources": [
"auto"
],
"qty": 37,
"entry_price": 137091.8918918919,
"entry_at": "2026-09-09T09:44:36.625767+09:00",
"stop": 123821,
"target": 163634,
"peak": 141800,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 135300,
"tranches": 2,
"tranche_value": 2625647.016824501,
"last_add_price": 139300
},
"138040": {
"code": "138040",
"name": "메리츠금융지주",
@@ -123,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 3050406.2025119783,
"last_add_price": 128500
@@ -144,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,247 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 1,
"tranche_value": 2968861.567423891,
"last_add_price": 411000
@@ -160,19 +118,19 @@
"entry_at": "2026-09-15T09:04:47.244160+09:00",
"stop": 100700,
"target": 215900,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1028691.8844119626,
"last_add_price": 144600
}
},
"realized_pnl": -16251245.858000081,
"closed_trades": 143,
"realized_pnl": -16508552.12800008,
"closed_trades": 145,
"wins": 5,
"peak_equity": 100266527.41749999,
"max_drawdown": 0.16501361602568418,
@@ -198,7 +156,7 @@
"105560": "2026-07-20",
"089970": "2026-08-13",
"095610": "2026-09-14",
"086790": "2026-07-27",
"086790": "2026-09-29",
"003680": "2026-09-09",
"010950": "2026-08-26",
"138040": "2026-09-08",
@@ -206,8 +164,9 @@
"078930": "2026-09-03",
"475150": "2026-08-03",
"252990": "2026-08-21",
"257720": "2026-09-09"
"257720": "2026-09-09",
"180640": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885305+09:00",
"updated_at": "2026-09-28T15:28:58.953675+09:00"
"updated_at": "2026-09-29T15:28:55.957122+09:00"
}
@@ -327,3 +327,5 @@
{"ts": "2026-09-14T09:26:43.829914+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 139300, "qty": 18, "cost": 2507776, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 121843, "target": 161313, "signals": [{"label": "손절선", "ok": true, "detail": "121,843 (현재 138,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 161,313"}, {"label": "추세(60일선)", "ok": true, "detail": "118,707"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +334 · 기 -305"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 138,318"}]}
{"ts": "2026-09-15T09:04:47.244164+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 133600, "qty": 7, "cost": 935340, "path": "pullback", "reason": "눌림목 지정가 146,218 도달", "stop": 100700, "target": 199400, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "133,700 vs 99,345"}, {"label": "정배열(5>60)", "ok": true, "detail": "167,380 / 99,345"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "167,380 / 99,345"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+16.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -836 · 기 +961 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "60,587 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "0.31% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 146,218 (현재 133,700)"}]}
{"ts": "2026-09-21T09:52:51.777912+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 144600, "qty": 7, "cost": 1012352, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 100700, "target": 199400, "signals": [{"label": "손절선", "ok": true, "detail": "100,700 (현재 144,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 199,400"}, {"label": "추세(60일선)", "ok": true, "detail": "99,527"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +59 · 기 -54"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 143,611"}]}
{"ts": "2026-09-29T09:36:56.927641+09:00", "side": "SELL", "code": "180640", "name": "한진칼", "price": 135700, "qty": 13, "proceeds": 1760660, "entry_price": 143900, "pnl": -110321, "pnl_pct": -5.7, "hold_from": "2026-09-09T09:34:31.904535+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "124,912 (현재 135,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 181,875"}, {"label": "추세(60일선)", "ok": true, "detail": "117,518"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +23"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 148,400"}]}
{"ts": "2026-09-29T09:46:55.274334+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 133400, "qty": 37, "proceeds": 4926175, "entry_price": 137092, "pnl": -146986, "pnl_pct": -2.69, "hold_from": "2026-09-09T09:44:36.625767+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "123,821 (현재 133,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,634"}, {"label": "추세(60일선)", "ok": true, "detail": "118,623"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -184 · 기 +189"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -1,5 +1,5 @@
{
"cash": 48269986.02349991,
"cash": 44644296.854499914,
"initial": 100000000,
"positions": {
"327260": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 35,709 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1449597.1229143601,
"last_add_price": 35800
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 40,
"entry_price": 89700,
"entry_at": "2026-09-10T09:01:09.720428+09:00",
"stop": 79819,
"target": 109462,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 3646874.570375844,
"last_add_price": 89700
},
"010950": {
"code": "010950",
"name": "S-Oil",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 3502770.0196038075,
"last_add_price": 150200
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 14000,
"cur_price": 14100,
"tranches": 1,
"tranche_value": 3145303.58774031,
"last_add_price": 14780
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 21,369 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2340657.5506936996,
"last_add_price": 20400
@@ -123,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,388 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 1,
"tranche_value": 4974765.724749995,
"last_add_price": 16150
@@ -139,12 +118,12 @@
"entry_at": "2026-09-23T11:04:56.063347+09:00",
"stop": 126883,
"target": 227206,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 157,922 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1791140.9751977646,
"last_add_price": 165300
@@ -165,14 +144,35 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81700,
"cur_price": 83700,
"tranches": 1,
"tranche_value": 2765643.6783186207,
"last_add_price": 84900
},
"077360": {
"code": "077360",
"name": "덕산하이메탈",
"sources": [
"watch"
],
"qty": 497,
"entry_price": 13687.042253521127,
"entry_at": "2026-09-29T09:20:56.786635+09:00",
"stop": 12086,
"target": 16889,
"peak": 14130,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 14000,
"tranches": 2,
"tranche_value": 3407878.85259177,
"last_add_price": 13900
}
},
"realized_pnl": -21838920.985000037,
"closed_trades": 66,
"realized_pnl": -22249667.985000037,
"closed_trades": 67,
"wins": 8,
"peak_equity": 103214817.49949999,
"max_drawdown": 0.23682054917762618,
@@ -209,8 +209,9 @@
"011780": "2026-09-16",
"257720": "2026-09-18",
"000720": "2026-09-23",
"004370": "2026-09-28"
"004370": "2026-09-28",
"034020": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885314+09:00",
"updated_at": "2026-09-28T15:28:58.957299+09:00"
"updated_at": "2026-09-29T15:28:55.961112+09:00"
}
@@ -183,3 +183,6 @@
{"ts": "2026-09-28T09:12:59.343779+09:00", "side": "SELL", "code": "004370", "name": "농심", "price": 390500, "qty": 12, "proceeds": 4676862, "entry_price": 416500, "pnl": -321887, "pnl_pct": -6.24, "hold_from": "2026-09-08T09:10:36.969598+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "386,668 (현재 391,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 476,165"}, {"label": "추세(20일선)", "ok": true, "detail": "382,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 -6"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 425,858"}]}
{"ts": "2026-09-28T09:12:59.779442+09:00", "side": "BUY", "code": "440110", "name": "파두", "price": 84900, "qty": 32, "cost": 2717208, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 72714, "target": 109271, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "85,200 vs 67,005"}, {"label": "정배열(5>20)", "ok": true, "detail": "69,520 / 67,005"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "69,520 / 67,132"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +97 · 기 +244 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.68% (환산) vs 평균 0.85% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 80,800"}, {"label": "거래량 급증", "ok": true, "detail": "844,967 (환산) vs 평균 429,129"}, {"label": "회전율 급증", "ok": true, "detail": "1.68% (환산) vs 평균 0.85%"}, {"label": "RSI", "ok": true, "detail": "65"}]}
{"ts": "2026-09-28T09:22:57.939007+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 165300, "qty": 10, "cost": 1653248, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 121459, "target": 224483, "signals": [{"label": "손절선", "ok": true, "detail": "121,459 (현재 165,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 224,483"}, {"label": "추세(20일선)", "ok": true, "detail": "136,705"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -12"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 165,089"}]}
{"ts": "2026-09-29T09:02:55.083475+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79600, "qty": 40, "proceeds": 3177791, "entry_price": 89700, "pnl": -410747, "pnl_pct": -11.26, "hold_from": "2026-09-10T09:01:09.720428+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "79,819 (현재 79,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,462"}, {"label": "추세(20일선)", "ok": true, "detail": "79,755"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,073"}]}
{"ts": "2026-09-29T09:20:56.786638+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13480, "qty": 252, "cost": 3397470, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11912, "target": 16615, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "13,380 vs 10,498"}, {"label": "정배열(5>20)", "ok": true, "detail": "11,852 / 10,498"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "11,852 / 9,747"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -494 · 기 +357 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+40%"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.21% (환산) vs 평균 1.87% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,590"}, {"label": "거래량 급증", "ok": true, "detail": "1,457,720 (환산) vs 평균 848,026"}, {"label": "회전율 급증", "ok": true, "detail": "3.21% (환산) vs 평균 1.87%"}, {"label": "RSI", "ok": true, "detail": "74"}]}
{"ts": "2026-09-29T12:46:52.766313+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13900, "qty": 245, "cost": 3406011, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 11912, "target": 16615, "signals": [{"label": "손절선", "ok": true, "detail": "11,912 (현재 13,930)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 16,615"}, {"label": "추세(20일선)", "ok": true, "detail": "10,525"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -509 · 기 +435"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,925"}]}
@@ -1,5 +1,5 @@
{
"cash": 24510031.584499955,
"cash": 36440721.28449996,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 4806997.344940743,
"last_add_price": 135800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 6651621.94570833,
"last_add_price": 123300
@@ -53,39 +53,18 @@
"qty": 414,
"entry_price": 13298.985507246376,
"entry_at": "2026-09-08T09:10:37.312187+09:00",
"stop": 10992,
"stop": 17600,
"target": 19066,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 14,250 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 2756420.9418846015,
"last_add_price": 13690
},
"051900": {
"code": "051900",
"name": "LG생활건강",
"sources": [
"auto"
],
"qty": 43,
"entry_price": 295162.79069767444,
"entry_at": "2026-09-09T14:52:38.451653+09:00",
"stop": 274550,
"target": 346694,
"peak": 311000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 291000,
"tranches": 2,
"tranche_value": 6508957.26983333,
"last_add_price": 299000
},
"055550": {
"code": "055550",
"name": "신한지주",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 1,
"tranche_value": 6538768.702041663,
"last_add_price": 112200
@@ -123,14 +102,14 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81700,
"cur_price": 83700,
"tranches": 1,
"tranche_value": 4179621.8180606444,
"last_add_price": 86300
}
},
"realized_pnl": -24043272.56850003,
"closed_trades": 45,
"realized_pnl": -24806486.668500036,
"closed_trades": 46,
"wins": 3,
"peak_equity": 100204129.27299997,
"max_drawdown": 0.2284917488392297,
@@ -162,8 +141,9 @@
"194370": "2026-09-02",
"257720": "2026-09-08",
"003550": "2026-09-11",
"372170": "2026-09-28"
"372170": "2026-09-28",
"051900": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885323+09:00",
"updated_at": "2026-09-28T15:28:58.960683+09:00"
"updated_at": "2026-09-29T15:28:55.964699+09:00"
}
@@ -126,3 +126,4 @@
{"ts": "2026-09-14T10:38:41.183632+09:00", "side": "BUY", "code": "051900", "name": "LG생활건강", "price": 299000, "qty": 21, "cost": 6279942, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 271048, "target": 342629, "signals": [{"label": "손절선", "ok": true, "detail": "271,048 (현재 299,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 342,629"}, {"label": "추세(10일선)", "ok": true, "detail": "259,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +40 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 298,371"}]}
{"ts": "2026-09-28T09:18:59.365867+09:00", "side": "SELL", "code": "372170", "name": "윤성에프앤씨", "price": 20100, "qty": 182, "proceeds": 3651067, "entry_price": 22300, "pnl": -408142, "pnl_pct": -9.87, "hold_from": "2026-09-08T09:16:34.953412+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "19,590 (현재 20,050)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 29,074"}, {"label": "추세(10일선)", "ok": true, "detail": "19,063"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -1 · 기 -1"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 23,283"}]}
{"ts": "2026-09-28T09:18:59.790417+09:00", "side": "BUY", "code": "440110", "name": "파두", "price": 86300, "qty": 48, "cost": 4143021, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76049, "target": 111928, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "86,500 vs 67,790"}, {"label": "정배열(5>10)", "ok": true, "detail": "69,780 / 67,790"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "69,780 / 67,153"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+36.0%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +97 · 기 +244 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+39%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.45% (환산) vs 평균 0.85% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 80,800"}, {"label": "거래량 급증", "ok": true, "detail": "1,231,580 (환산) vs 평균 429,129"}, {"label": "회전율 급증", "ok": true, "detail": "2.45% (환산) vs 평균 0.85%"}, {"label": "RSI", "ok": true, "detail": "66"}]}
{"ts": "2026-09-29T14:54:52.120306+09:00", "side": "SELL", "code": "051900", "name": "LG생활건강", "price": 278000, "qty": 43, "proceeds": 11930690, "entry_price": 295163, "pnl": -763214, "pnl_pct": -5.81, "hold_from": "2026-09-09T14:52:38.451653+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "274,550 (현재 278,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 346,694"}, {"label": "추세(10일선)", "ok": true, "detail": "257,550"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -11 · 기 +20"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -1,5 +1,5 @@
{
"cash": 48958210.17549995,
"cash": 54942018.95049995,
"initial": 100000000,
"positions": {
"055550": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 99,600 도달",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 3798555.0123003162,
"last_add_price": 101000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 129,300 도달",
"cur_price": 135300,
"cur_price": 135200,
"tranches": 2,
"tranche_value": 2967341.7108377954,
"last_add_price": 130100
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 26,600 도달",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 3075924.51097547,
"last_add_price": 26850
@@ -76,37 +76,16 @@
"entry_at": "2026-09-04T09:08:34.212964+09:00",
"stop": 113765,
"target": 243596,
"peak": 166300,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 177,000 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1033801.29869291,
"last_add_price": 155000
},
"051900": {
"code": "051900",
"name": "LG생활건강",
"sources": [
"auto"
],
"qty": 21,
"entry_price": 293047.61904761905,
"entry_at": "2026-09-09T09:06:37.734983+09:00",
"stop": 269869,
"target": 362583,
"peak": 311000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 292,000 도달",
"cur_price": 291000,
"tranches": 2,
"tranche_value": 3244419.3281071694,
"last_add_price": 297500
},
"024840": {
"code": "024840",
"name": "KBI메탈",
@@ -129,8 +108,8 @@
"last_add_price": 5780
}
},
"realized_pnl": -17916061.710500058,
"closed_trades": 95,
"realized_pnl": -18087176.035500057,
"closed_trades": 96,
"wins": 2,
"peak_equity": 100000000,
"max_drawdown": 0.18479414810500056,
@@ -175,8 +154,9 @@
"078930": "2026-07-31",
"138040": "2026-09-08",
"180640": "2026-08-19",
"252990": "2026-08-25"
"252990": "2026-08-25",
"051900": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885332+09:00",
"updated_at": "2026-09-28T15:28:58.972170+09:00"
"updated_at": "2026-09-29T15:28:55.976953+09:00"
}
@@ -224,3 +224,4 @@
{"ts": "2026-09-15T09:24:45.980395+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 119300, "qty": 58, "proceeds": 6905907, "entry_price": 119500, "pnl": -26132, "pnl_pct": -0.17, "hold_from": "2026-09-15T09:22:44.766495+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,499 (현재 119,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,503"}, {"label": "추세(60일선)", "ok": true, "detail": "112,545"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -583 · 기 +556"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 130,551"}]}
{"ts": "2026-09-15T09:24:46.408697+09:00", "side": "BUY", "code": "024840", "name": "KBI메탈", "price": 5400, "qty": 527, "cost": 2846227, "path": "pullback", "reason": "눌림목 지정가 5,940 도달", "stop": 4920, "target": 6840, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "5,390 vs 4,712"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,580 / 4,712"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,580 / 4,712"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+50.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +36 · 기 -1 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.69% (환산) vs 평균 16.46% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 6,425"}, {"label": "거래량 급증", "ok": false, "detail": "731,393 (환산) vs 평균 7,105,148"}, {"label": "회전율 급증", "ok": false, "detail": "1.69% (환산) vs 평균 16.46%"}, {"label": "RSI", "ok": true, "detail": "52"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 5,940 (현재 5,390)"}]}
{"ts": "2026-09-17T09:02:47.436905+09:00", "side": "BUY", "code": "024840", "name": "KBI메탈", "price": 5780, "qty": 492, "cost": 2844187, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4920, "target": 6840, "signals": [{"label": "손절선", "ok": true, "detail": "4,920 (현재 5,750)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,840"}, {"label": "추세(60일선)", "ok": true, "detail": "4,718"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +175 · 기 -5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 5,685"}]}
{"ts": "2026-09-29T09:08:58.321348+09:00", "side": "SELL", "code": "051900", "name": "LG생활건강", "price": 285500, "qty": 21, "proceeds": 5983809, "entry_price": 293048, "pnl": -171114, "pnl_pct": -2.58, "hold_from": "2026-09-09T09:06:37.734983+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "269,869 (현재 286,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 362,583"}, {"label": "추세(60일선)", "ok": true, "detail": "249,208"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -12 · 기 +20"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
@@ -1,5 +1,5 @@
{
"cash": 27102557.54649998,
"cash": 22517420.267499976,
"initial": 100000000,
"positions": {
"055550": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 99,600 도달",
"cur_price": 111300,
"cur_price": 110100,
"tranches": 2,
"tranche_value": 6198757.029677045,
"last_add_price": 101000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 3936709.9183330103,
"last_add_price": 133800
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 5820974.793529634,
"last_add_price": 35200
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 49,
"entry_price": 88500,
"entry_at": "2026-09-14T09:01:21.731620+09:00",
"stop": 80212,
"target": 113363,
"peak": 89700,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 4404535.175002412,
"last_add_price": 88500
},
"004370": {
"code": "004370",
"name": "농심",
@@ -97,12 +76,12 @@
"entry_at": "2026-09-28T09:01:25.322713+09:00",
"stop": 372500,
"target": 457500,
"peak": 398500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 437,500 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 6807620.85033333,
"last_add_price": 398500
@@ -123,14 +102,35 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 42,850 도달",
"cur_price": 38700,
"cur_price": 38000,
"tranches": 1,
"tranche_value": 3272714.077684775,
"last_add_price": 39350
},
"077360": {
"code": "077360",
"name": "덕산하이메탈",
"sources": [
"watch"
],
"qty": 618,
"entry_price": 13716.278317152104,
"entry_at": "2026-09-29T09:28:52.241075+09:00",
"stop": 12382,
"target": 17719,
"peak": 14130,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 14000,
"tranches": 2,
"tranche_value": 4246814.260452085,
"last_add_price": 13950
}
},
"realized_pnl": -20187887.206000037,
"closed_trades": 49,
"realized_pnl": -20632243.46100004,
"closed_trades": 50,
"wins": 2,
"peak_equity": 100133491.83,
"max_drawdown": 0.18484209870982204,
@@ -161,8 +161,9 @@
"068270": "2026-08-27",
"252990": "2026-09-01",
"051900": "2026-09-28",
"086280": "2026-09-28"
"086280": "2026-09-28",
"034020": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885342+09:00",
"updated_at": "2026-09-28T15:28:58.975159+09:00"
"updated_at": "2026-09-29T15:28:55.980065+09:00"
}
@@ -135,3 +135,6 @@
{"ts": "2026-09-28T10:52:59.999774+09:00", "side": "SELL", "code": "051900", "name": "LG생활건강", "price": 292500, "qty": 39, "proceeds": 11385255, "entry_price": 293141, "pnl": -48960, "pnl_pct": -0.22, "hold_from": "2026-09-08T09:22:36.627821+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "272,689 (현재 293,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 354,496"}, {"label": "추세(20일선)", "ok": true, "detail": "252,800"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -11 · 기 +19"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T10:53:00.401248+09:00", "side": "BUY", "code": "257720", "name": "실리콘투", "price": 39350, "qty": 83, "cost": 3266540, "path": "pullback", "reason": "눌림목 지정가 42,850 도달", "stop": 34394, "target": 54217, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "39,350 vs 37,655"}, {"label": "정배열(5>20)", "ok": true, "detail": "41,660 / 37,655"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "41,660 / 36,097"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+12.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +390 · 기 -892 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+52%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.94% (환산) vs 평균 1.56% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 48,250"}, {"label": "거래량 급증", "ok": false, "detail": "1,928,422 (환산) vs 평균 1,023,767"}, {"label": "회전율 급증", "ok": true, "detail": "2.94% (환산) vs 평균 1.56%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 42,850 (현재 39,350)"}]}
{"ts": "2026-09-28T12:37:00.921631+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 398500, "qty": 17, "cost": 6775516, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 438500, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 398,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 438,500"}, {"label": "추세(20일선)", "ok": true, "detail": "383,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 -6"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 398,358"}]}
{"ts": "2026-09-29T09:02:55.133886+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79600, "qty": 49, "proceeds": 3892794, "entry_price": 88500, "pnl": -444356, "pnl_pct": -10.06, "hold_from": "2026-09-14T09:01:21.731620+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "80,212 (현재 79,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,363"}, {"label": "추세(20일선)", "ok": true, "detail": "79,755"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,873"}]}
{"ts": "2026-09-29T09:28:52.241077+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13490, "qty": 314, "cost": 4236495, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12184, "target": 17409, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "13,450 vs 10,501"}, {"label": "정배열(5>20)", "ok": true, "detail": "11,866 / 10,501"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "11,866 / 9,748"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+36.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -494 · 기 +357 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+39%"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.36% (환산) vs 평균 1.87% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 12,590"}, {"label": "거래량 급증", "ok": true, "detail": "1,977,553 (환산) vs 평균 848,026"}, {"label": "회전율 급증", "ok": true, "detail": "4.36% (환산) vs 평균 1.87%"}, {"label": "RSI", "ok": true, "detail": "75"}]}
{"ts": "2026-09-29T14:32:56.248252+09:00", "side": "BUY", "code": "077360", "name": "덕산하이메탈", "price": 13950, "qty": 304, "cost": 4241436, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 12184, "target": 17409, "signals": [{"label": "손절선", "ok": true, "detail": "12,184 (현재 13,940)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,409"}, {"label": "추세(20일선)", "ok": true, "detail": "10,526"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -522 · 기 +488"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 13,935"}]}
@@ -1,5 +1,5 @@
{
"cash": 20995716.28299998,
"cash": 17795636.34299998,
"initial": 100000000,
"positions": {
"088350": {
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 123,300 도달",
"cur_price": 133400,
"cur_price": 132700,
"tranches": 2,
"tranche_value": 7954457.869899998,
"last_add_price": 123300
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,600 도달",
"cur_price": 36400,
"cur_price": 36350,
"tranches": 2,
"tranche_value": 7954339.168899998,
"last_add_price": 34050
@@ -74,14 +74,14 @@
"qty": 483,
"entry_price": 13356.95652173913,
"entry_at": "2026-09-08T09:18:33.326196+09:00",
"stop": 11358,
"stop": 17600,
"target": 19355,
"peak": 18990,
"trailing_on": false,
"peak": 20150,
"trailing_on": true,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 15,500 도달",
"cur_price": 18560,
"cur_price": 19940,
"tranches": 2,
"tranche_value": 3232197.24058738,
"last_add_price": 13790
@@ -92,20 +92,20 @@
"sources": [
"auto"
],
"qty": 20,
"entry_price": 157700,
"qty": 39,
"entry_price": 162912.8205128205,
"entry_at": "2026-09-28T09:04:57.339276+09:00",
"stop": 133548,
"target": 230156,
"peak": 165800,
"stop": 139021,
"target": 234589,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 177,000 도달",
"cur_price": 162900,
"tranches": 1,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 3287927.770655406,
"last_add_price": 157700
"last_add_price": 168400
}
},
"realized_pnl": -23646291.26350005,
@@ -141,5 +141,5 @@
"000720": "2026-09-28"
},
"created_at": "2026-06-22T09:00:04.885351+09:00",
"updated_at": "2026-09-28T15:28:58.984805+09:00"
"updated_at": "2026-09-29T15:28:55.989994+09:00"
}
@@ -116,3 +116,4 @@
{"ts": "2026-09-11T09:46:41.059735+09:00", "side": "BUY", "code": "000720", "name": "현대건설", "price": 131900, "qty": 42, "cost": 5540631, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120111, "target": 167268, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "131,950 vs 114,815"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,650 / 114,815"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,650 / 113,789"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.6%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -277 · 기 +832 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+27%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.58% (환산) vs 평균 0.58% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 122,600"}, {"label": "거래량 급증", "ok": true, "detail": "2,872,800 (환산) vs 평균 648,608"}, {"label": "회전율 급증", "ok": true, "detail": "2.58% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "65"}]}
{"ts": "2026-09-28T09:04:57.338933+09:00", "side": "SELL", "code": "000720", "name": "현대건설", "price": 119200, "qty": 42, "proceeds": 4996638, "entry_price": 131900, "pnl": -543993, "pnl_pct": -9.63, "hold_from": "2026-09-11T09:46:41.059719+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,111 (현재 119,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 167,268"}, {"label": "추세(10일선)", "ok": true, "detail": "113,530"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -440 · 기 -358"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,177"}]}
{"ts": "2026-09-28T09:04:57.339278+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 157700, "qty": 20, "cost": 3154473, "path": "pullback", "reason": "눌림목 지정가 177,000 도달", "stop": 133548, "target": 230156, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "158,300 vs 153,410"}, {"label": "정배열(5>10)", "ok": true, "detail": "172,300 / 153,410"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,300 / 99,755"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.0%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +222 · 기 -12 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 3.06% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "73,727 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "0.38% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 177,000 (현재 158,300)"}]}
{"ts": "2026-09-29T09:02:55.143592+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 168400, "qty": 19, "cost": 3200080, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 133548, "target": 230156, "signals": [{"label": "손절선", "ok": true, "detail": "133,548 (현재 168,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 230,156"}, {"label": "추세(10일선)", "ok": true, "detail": "154,450"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +236 · 기 -7"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 166,889"}]}
@@ -1,5 +1,5 @@
{
"cash": 57285673.69099996,
"cash": 54374934.13999996,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 1565704.8516703448,
"last_add_price": 135100
@@ -39,53 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 162200,
"cur_price": 157500,
"tranches": 2,
"tranche_value": 1794750.344984049,
"last_add_price": 145300
},
"180640": {
"code": "180640",
"name": "한진칼",
"sources": [
"auto"
],
"qty": 11,
"entry_price": 143200,
"entry_at": "2026-09-09T09:38:37.202708+09:00",
"stop": 119466,
"target": 185922,
"peak": 145900,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 141300,
"tranches": 1,
"tranche_value": 1607329.4707070105,
"last_add_price": 143200
},
"214450": {
"code": "214450",
"name": "파마리서치",
"sources": [
"auto"
],
"qty": 4,
"entry_price": 367500,
"entry_at": "2026-09-09T09:48:37.066756+09:00",
"stop": 312507,
"target": 466487,
"peak": 369500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"tranches": 1,
"tranche_value": 1778505.5130547632,
"last_add_price": 367500
},
"095610": {
"code": "095610",
"name": "테스",
@@ -97,12 +55,12 @@
"entry_at": "2026-09-15T09:04:47.290375+09:00",
"stop": 100700,
"target": 208220,
"peak": 165800,
"peak": 171500,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 146,218 도달",
"cur_price": 162900,
"cur_price": 170700,
"tranches": 2,
"tranche_value": 1068670.3914512638,
"last_add_price": 144600
@@ -123,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 22950,
"cur_price": 23250,
"tranches": 2,
"tranche_value": 1490686.1619100037,
"last_add_price": 25000
@@ -134,20 +92,20 @@
"sources": [
"watch"
],
"qty": 337,
"entry_price": 4810,
"qty": 653,
"entry_price": 4969.69372128637,
"entry_at": "2026-09-17T09:02:48.284088+09:00",
"stop": 4035,
"target": 6205,
"peak": 5410,
"target": 6652,
"peak": 5710,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 4,889 도달",
"cur_price": 5200,
"tranches": 1,
"cur_price": 5650,
"tranches": 2,
"tranche_value": 1625998.4041680093,
"last_add_price": 4810
"last_add_price": 5140
},
"004370": {
"code": "004370",
@@ -155,20 +113,20 @@
"sources": [
"auto"
],
"qty": 11,
"entry_price": 392000,
"qty": 21,
"entry_price": 397000.0,
"entry_at": "2026-09-22T09:08:53.357136+09:00",
"stop": 372500,
"target": 427100,
"peak": 398500,
"target": 441100,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 409,854 도달",
"cur_price": 396500,
"tranches": 1,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 4397334.131474998,
"last_add_price": 392000
"last_add_price": 402500
},
"077360": {
"code": "077360",
@@ -181,12 +139,12 @@
"entry_at": "2026-09-23T09:38:54.126681+09:00",
"stop": 10973,
"target": 16934,
"peak": 13580,
"peak": 14130,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 12880,
"cur_price": 14000,
"tranches": 2,
"tranche_value": 1595334.1017781345,
"last_add_price": 13310
@@ -207,14 +165,14 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 16,104 도달",
"cur_price": 16310,
"cur_price": 16210,
"tranches": 2,
"tranche_value": 3005604.6167290416,
"last_add_price": 16390
}
},
"realized_pnl": -13090153.349500068,
"closed_trades": 158,
"realized_pnl": -13396462.294500068,
"closed_trades": 160,
"wins": 6,
"peak_equity": 100186518.14249998,
"max_drawdown": 0.12935489871318767,
@@ -234,7 +192,7 @@
"003490": "2026-09-16",
"004170": "2026-07-23",
"028260": "2026-09-04",
"214450": "2026-09-01",
"214450": "2026-09-29",
"222800": "2026-07-21",
"055550": "2026-08-27",
"089970": "2026-08-13",
@@ -250,8 +208,9 @@
"257720": "2026-09-14",
"042500": "2026-09-17",
"001790": "2026-09-21",
"079650": "2026-09-28"
"079650": "2026-09-28",
"180640": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885359+09:00",
"updated_at": "2026-09-28T15:28:58.987180+09:00"
"updated_at": "2026-09-29T15:28:55.992500+09:00"
}
@@ -355,3 +355,7 @@
{"ts": "2026-09-28T09:01:25.364070+09:00", "side": "SELL", "code": "079650", "name": "서산", "price": 6270, "qty": 233, "proceeds": 1458061, "entry_price": 7477, "pnl": -284290, "pnl_pct": -16.14, "hold_from": "2026-09-04T09:14:31.580430+09:00", "reason": "시간손절 — 23일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "5,155 (현재 6,240)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 11,656"}, {"label": "추세(60일선)", "ok": true, "detail": "4,355"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +111 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-28T09:01:25.364774+09:00", "side": "BUY", "code": "300720", "name": "한일시멘트", "price": 16100, "qty": 186, "cost": 2995049, "path": "pullback", "reason": "눌림목 지정가 16,104 도달", "stop": 14690, "target": 18637, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "16,030 vs 14,434"}, {"label": "정배열(5>60)", "ok": true, "detail": "16,288 / 14,434"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "16,288 / 14,434"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+12.9%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -44 · 기 +44 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+28%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.02% (환산) vs 평균 0.12% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 17,140"}, {"label": "거래량 급증", "ok": false, "detail": "13,333 (환산) vs 평균 89,609"}, {"label": "회전율 급증", "ok": false, "detail": "0.02% (환산) vs 평균 0.12%"}, {"label": "RSI", "ok": true, "detail": "60"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 16,104 (현재 16,030)"}]}
{"ts": "2026-09-28T10:40:56.484581+09:00", "side": "BUY", "code": "300720", "name": "한일시멘트", "price": 16390, "qty": 183, "cost": 2999820, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 14690, "target": 18637, "signals": [{"label": "손절선", "ok": true, "detail": "14,690 (현재 16,390)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,637"}, {"label": "추세(60일선)", "ok": true, "detail": "14,440"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -43 · 기 +44"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 16,382"}]}
{"ts": "2026-09-29T09:01:37.080328+09:00", "side": "BUY", "code": "261520", "name": "이지스", "price": 5140, "qty": 316, "cost": 1624484, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4035, "target": 6205, "signals": [{"label": "손절선", "ok": true, "detail": "4,035 (현재 5,170)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,205"}, {"label": "추세(60일선)", "ok": true, "detail": "4,259"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -18 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 5,003"}]}
{"ts": "2026-09-29T09:24:52.018573+09:00", "side": "BUY", "code": "004370", "name": "농심", "price": 402500, "qty": 10, "cost": 4025604, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 372500, "target": 427100, "signals": [{"label": "손절선", "ok": true, "detail": "372,500 (현재 401,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 427,100"}, {"label": "추세(60일선)", "ok": true, "detail": "369,750"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -2"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 401,037"}]}
{"ts": "2026-09-29T09:40:57.422866+09:00", "side": "SELL", "code": "180640", "name": "한진칼", "price": 135700, "qty": 11, "proceeds": 1489789, "entry_price": 143200, "pnl": -85647, "pnl_pct": -5.24, "hold_from": "2026-09-09T09:38:37.202708+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "119,466 (현재 135,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 185,922"}, {"label": "추세(60일선)", "ok": true, "detail": "117,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +23"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 147,700"}]}
{"ts": "2026-09-29T09:50:55.104031+09:00", "side": "SELL", "code": "214450", "name": "파마리서치", "price": 313000, "qty": 4, "proceeds": 1249559, "entry_price": 367500, "pnl": -220662, "pnl_pct": -14.83, "hold_from": "2026-09-09T09:48:37.066756+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "312,507 (현재 313,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 466,487"}, {"label": "추세(60일선)", "ok": true, "detail": "304,967"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +15 · 기 -14"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 377,177"}]}
@@ -1,5 +1,5 @@
{
"cash": 44855485.75325003,
"cash": 47722683.79325003,
"initial": 100000000,
"positions": {
"327260": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 33,138 도달",
"cur_price": 46100,
"cur_price": 48750,
"tranches": 2,
"tranche_value": 1295489.4529810352,
"last_add_price": 35800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 11,563 도달",
"cur_price": 12500,
"cur_price": 12600,
"tranches": 2,
"tranche_value": 2911004.1109875888,
"last_add_price": 11890
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 31450,
"cur_price": 31300,
"tranches": 2,
"tranche_value": 4244307.225767524,
"last_add_price": 30850
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 36,
"entry_price": 89700,
"entry_at": "2026-09-10T09:01:10.463541+09:00",
"stop": 77623,
"target": 113854,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 3260067.840603473,
"last_add_price": 89700
},
"004370": {
"code": "004370",
"name": "농심",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 411,568 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 5441389.490632502,
"last_add_price": 414500
@@ -123,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 320500,
"cur_price": 315500,
"tranches": 1,
"tranche_value": 3290595.6980217183,
"last_add_price": 339000
@@ -144,7 +123,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,361 도달",
"cur_price": 20250,
"cur_price": 19650,
"tranches": 1,
"tranche_value": 2006934.1779601518,
"last_add_price": 20200
@@ -165,14 +144,14 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 271750,
"cur_price": 272500,
"tranches": 1,
"tranche_value": 4562812.495500137,
"last_add_price": 284500
}
},
"realized_pnl": -14830958.120250028,
"closed_trades": 46,
"realized_pnl": -15193444.460250027,
"closed_trades": 47,
"wins": 5,
"peak_equity": 100961178.33000001,
"max_drawdown": 0.16041261972065946,
@@ -199,8 +178,9 @@
"012450": "2026-09-15",
"003550": "2026-09-15",
"060250": "2026-09-16",
"079650": "2026-09-23"
"079650": "2026-09-23",
"034020": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885367+09:00",
"updated_at": "2026-09-28T15:28:58.989686+09:00"
"updated_at": "2026-09-29T15:28:55.995127+09:00"
}
@@ -132,3 +132,4 @@
{"ts": "2026-09-22T13:10:55.594640+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 30850, "qty": 137, "cost": 4227084, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 26929, "target": 36292, "signals": [{"label": "손절선", "ok": true, "detail": "26,929 (현재 30,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 36,292"}, {"label": "추세(20일선)", "ok": true, "detail": "26,045"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -198 · 기 +430"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 30,779"}]}
{"ts": "2026-09-23T09:04:59.394917+09:00", "side": "SELL", "code": "079650", "name": "서산", "price": 5890, "qty": 435, "proceeds": 2557154, "entry_price": 7399, "pnl": -661749, "pnl_pct": -20.39, "hold_from": "2026-09-03T09:02:30.668450+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "5,407 (현재 5,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 11,381"}, {"label": "추세(20일선)", "ok": true, "detail": "4,832"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +22 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-09-23T09:06:58.839130+09:00", "side": "BUY", "code": "005930", "name": "삼성전자", "price": 284500, "qty": 16, "cost": 4552683, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 257721, "target": 338058, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "284,000 vs 262,125"}, {"label": "정배열(5>20)", "ok": true, "detail": "270,500 / 262,125"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "270,500 / 262,108"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+3.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +955 · 기 +7,390 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+71%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.52% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 283,500"}, {"label": "거래량 급증", "ok": true, "detail": "30,434,473 (환산) vs 평균 16,629,321"}, {"label": "회전율 급증", "ok": true, "detail": "0.52% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "61"}]}
{"ts": "2026-09-29T09:04:56.113462+09:00", "side": "SELL", "code": "034020", "name": "두산에너빌리티", "price": 79800, "qty": 36, "proceeds": 2867198, "entry_price": 89700, "pnl": -362486, "pnl_pct": -11.04, "hold_from": "2026-09-10T09:01:10.463541+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "77,623 (현재 79,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,854"}, {"label": "추세(20일선)", "ok": false, "detail": "79,745"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -2,599 · 기 -1,209"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,073"}]}
@@ -1,5 +1,5 @@
{
"cash": 39986040.81424992,
"cash": 35940438.986249916,
"initial": 100000000,
"positions": {
"161890": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 148300,
"cur_price": 149800,
"tranches": 2,
"tranche_value": 3850824.8781825085,
"last_add_price": 132000
},
"034020": {
"code": "034020",
"name": "두산에너빌리티",
"sources": [
"interest"
],
"qty": 47,
"entry_price": 89700,
"entry_at": "2026-09-10T09:01:10.573150+09:00",
"stop": 78721,
"target": 117147,
"peak": 91000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 81900,
"tranches": 1,
"tranche_value": 4295888.63301571,
"last_add_price": 89700
},
"108490": {
"code": "108490",
"name": "로보티즈",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 282500,
"cur_price": 285500,
"tranches": 2,
"tranche_value": 3463164.94193938,
"last_add_price": 327500
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 271750,
"cur_price": 272500,
"tranches": 1,
"tranche_value": 5966122.415280822,
"last_add_price": 284500
@@ -97,12 +76,12 @@
"entry_at": "2026-09-23T10:02:59.617258+09:00",
"stop": 7049,
"target": 10657,
"peak": 8210,
"peak": 8240,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 7800,
"cur_price": 8170,
"tranches": 1,
"tranche_value": 3981843.3185153934,
"last_add_price": 8080
@@ -118,22 +97,43 @@
"entry_at": "2026-09-28T09:02:58.823603+09:00",
"stop": 372500,
"target": 444621,
"peak": 398500,
"peak": 412000,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 400,281 도달",
"cur_price": 396500,
"cur_price": 410500,
"tranches": 2,
"tranche_value": 6754550.557437494,
"last_add_price": 398000
},
"077360": {
"code": "077360",
"name": "덕산하이메탈",
"sources": [
"watch"
],
"qty": 569,
"entry_price": 13686.678383128296,
"entry_at": "2026-09-29T09:20:56.831308+09:00",
"stop": 11908,
"target": 18134,
"peak": 14130,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
"cur_price": 14000,
"tranches": 2,
"tranche_value": 3897421.7892669663,
"last_add_price": 13900
}
},
"realized_pnl": -19088061.221750025,
"closed_trades": 36,
"realized_pnl": -19561307.276750024,
"closed_trades": 37,
"wins": 1,
"peak_equity": 102026100.45499997,
"max_drawdown": 0.2105484728412681,
"max_drawdown": 0.21112591008269227,
"last_exit": {
"403870": "2026-07-07",
"000660": "2026-06-29",
@@ -158,8 +158,9 @@
"003550": "2026-09-14",
"041520": "2026-09-14",
"079650": "2026-09-23",
"306200": "2026-09-23"
"306200": "2026-09-23",
"034020": "2026-09-29"
},
"created_at": "2026-06-22T09:00:04.885375+09:00",
"updated_at": "2026-09-28T15:28:58.992176+09:00"
"updated_at": "2026-09-29T15:28:55.997559+09:00"
}

Some files were not shown because too many files have changed in this diff Show More