auto: 일일 백업 2026-09-30 02:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -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
Reference in New Issue
Block a user