auto: 일일 백업 2026-06-13 02:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -68,7 +68,7 @@ PTR_HTML = """
|
||||
# 전체 리로드여도 보던 화면이 유지되게 한다 (자동·당겨서·수동 새로고침 공통).
|
||||
REFRESH_JS = """
|
||||
<script>(function(){
|
||||
var TABS=['lab','watch','market'],SUBS=['bt','cmp'];
|
||||
var TABS=['lab','watch','market'],SUBS=['bt','cmp','day'];
|
||||
var p=new URLSearchParams(location.search);
|
||||
var t=p.get('t'),s=p.get('s'),vw=p.get('view');
|
||||
if(SUBS.indexOf(t)>=0){s=t;t='lab';} /* 레거시 ?t=bt/cmp 하위호환 */
|
||||
@@ -79,7 +79,10 @@ REFRESH_JS = """
|
||||
function simURL(){
|
||||
var cur=TABS.find(function(x){var e=document.getElementById('tab-'+x);return e&&e.checked;});
|
||||
var sub=SUBS.find(function(x){var e=document.getElementById('sub-'+x);return e&&e.checked;});
|
||||
return '/?t='+(cur||'lab')+(cur==='lab'?'&s='+(sub||'cmp'):'')+((cur==='watch'&&vw)?'&view='+encodeURIComponent(vw):'');
|
||||
var u='/?t='+(cur||'lab')+(cur==='lab'?'&s='+(sub||'cmp'):'')+((cur==='watch'&&vw)?'&view='+encodeURIComponent(vw):'');
|
||||
if(cur==='lab'&&sub==='day'){var dd=new URLSearchParams(location.search).get('d');
|
||||
if(dd)u+='&d='+encodeURIComponent(dd);} /* 거래목록 선택 날짜 보존 */
|
||||
return u;
|
||||
}
|
||||
window._simURL=simURL;
|
||||
function syncUrl(){try{history.replaceState(null,'',simURL());}catch(e){}}
|
||||
@@ -914,6 +917,12 @@ def _compare_panel() -> str:
|
||||
# 스캔 시점 '노리는 종목' (variants_compare.json) — id별 매핑
|
||||
watch_map = {c['id']: c.get('watching', [])
|
||||
for c in (_load(vmod.COMPARE_PATH, {}) or {}).get('variants', [])}
|
||||
# 라이브 거래일수 — equity_history.json 에 거래일마다 (id,ph) 1점씩 → 등장한 거래일 수 (백테스트 제외)
|
||||
_eh = _load(config.STATE_DIR / 'equity_history.json', {}) or {}
|
||||
live_days: dict = {}
|
||||
for _d, _items in _eh.items():
|
||||
for _e in _items:
|
||||
live_days.setdefault((_e.get('id'), _e.get('ph')), set()).add(_d)
|
||||
|
||||
def _row(rid, name, params, pf, tpath):
|
||||
s = pf.summary()
|
||||
@@ -961,13 +970,12 @@ def _compare_panel() -> str:
|
||||
scanned = _load(config.LAST_SCAN_PATH, {}).get('scanned_at', '')[:16].replace('T', ' ')
|
||||
head = (f'<div class="sub">실시간 누적 비교 · 마지막 스캔 {scanned or "—"} '
|
||||
f'· 전략 {len(rows_data)}개</div>')
|
||||
clear_btn = ('' if not defs else
|
||||
'<form method="post" action="/variants_clear_all" style="display:inline;margin-left:8px" '
|
||||
'onsubmit="return confirm(\'메인을 제외한 비교군 변이를 전부 삭제할까요?\')">'
|
||||
f'<button type="submit" class="cmp-clear">🗑 전체삭제 {len(defs)}</button></form>')
|
||||
bt_btn = ('<label for="sub-bt" class="cmp-btlink" role="button" tabindex="0" '
|
||||
'title="백테스트 순위표 보기">📊 모의결과보기</label>')
|
||||
title = f'<h2 class="cmp-title">병렬 페이퍼 비교{clear_btn}{bt_btn}</h2>'
|
||||
day_btn = ('<label for="sub-day" class="cmp-btlink" role="button" tabindex="0" '
|
||||
'title="날짜별 거래 종목">📋 거래목록</label>')
|
||||
title = (f'<div class="cmp-title"><h2>병렬 페이퍼 비교</h2>'
|
||||
f'<div class="cmp-acts">{bt_btn}{day_btn}</div></div>')
|
||||
rows = ''
|
||||
for i, v in enumerate(rows_data):
|
||||
s = v['summary']
|
||||
@@ -982,6 +990,8 @@ def _compare_panel() -> str:
|
||||
mf_sum = _market_fit_summary(mp)
|
||||
mf_w = _market_fit_words(mp)
|
||||
bm = _bear_mode(mp)
|
||||
_ph = hashlib.md5(json.dumps(mp, sort_keys=True).encode()).hexdigest()[:8]
|
||||
ndays = len(live_days.get((v['id'], _ph), ()))
|
||||
w = watch_map.get(v['id'], [])
|
||||
_STL = {'BUY': '🟢 매수', 'ADD': '🟢 추격', 'WAIT': '🟡 대기'}
|
||||
watch_html = ''.join(
|
||||
@@ -1029,6 +1039,7 @@ def _compare_panel() -> str:
|
||||
f'<div class="kv"><span class="k">약세장대처</span><span><b>{_BEAR_NAME[bm]}</b>'
|
||||
f'<button type="button" class="chk-i" data-title="약세장대처 — {_BEAR_NAME[bm]}" '
|
||||
f'data-detail="{_esc(_BEAR_DESC[bm] + _BEAR_LEGEND)}">ⓘ</button></span></div>'
|
||||
f'<div class="kv"><span class="k">운영 기간</span><span>{ndays or "—"}거래일째 <span class="muted">(백테스트 제외)</span></span></div>'
|
||||
f'<div class="kv"><span class="k">평가자산</span><span>{s.get("equity",0):,}원</span></div>'
|
||||
f'<div class="kv"><span class="k">예수금 / 주식</span><span>{s.get("cash",0):,} / {s.get("held_value",0):,}</span></div>'
|
||||
f'<div class="kv"><span class="k">수익률</span><span style="color:{rc}">{ret:+g}%</span></div>'
|
||||
@@ -1262,7 +1273,7 @@ td:first-child,th:first-child{text-align:left}
|
||||
# 종합 코멘트 (결정론 — LLM 미경유)
|
||||
notes = []
|
||||
rk_s = f'#{rank}위/{len(ranked)}' if rank else '순위 산정 전'
|
||||
notes.append(f'운영 {len(series) or 1}일째 · 현재 {rk_s} · 누적 <b>{ret:+.2f}%</b>')
|
||||
notes.append(f'라이브 {len(series) or 1}거래일째(백테스트 제외) · 현재 {rk_s} · 누적 <b>{ret:+.2f}%</b>')
|
||||
ak = (bench.get('KOSPI') or {}).get('alpha')
|
||||
if ak is not None:
|
||||
notes.append(f'같은 기간 KOSPI 대비 <b>{ak:+.2f}%p</b> — '
|
||||
@@ -1359,6 +1370,201 @@ td:first-child,th:first-child{text-align:left}
|
||||
</body></html>"""
|
||||
|
||||
|
||||
_DAY_CAL_JS = """<script>(function(){
|
||||
var TD=__DATES__, SEL='__SEL__', TODAY='__TODAY__';
|
||||
var tset={}; TD.forEach(function(d){tset[d]=1;});
|
||||
var box=document.getElementById('day-cal'); if(!box)return;
|
||||
var cur=(SEL||TD[0]||'').slice(0,7); /* 표시 중인 YYYY-MM */
|
||||
var WD=['일','월','화','수','목','금','토'];
|
||||
function pad(n){return ('0'+n).slice(-2);}
|
||||
function render(){
|
||||
var p=cur.split('-'), y=+p[0], m=+p[1];
|
||||
var startDow=new Date(y,m-1,1).getDay(), ndays=new Date(y,m,0).getDate();
|
||||
var minYM=(TD[TD.length-1]||'').slice(0,7), maxYM=(TD[0]||'').slice(0,7);
|
||||
var h='<div class="cal-hd">'
|
||||
+'<button type="button" data-nav="-1"'+(cur<=minYM?' disabled':'')+'>‹</button>'
|
||||
+'<span>'+y+'.'+pad(m)+'</span>'
|
||||
+'<button type="button" data-nav="1"'+(cur>=maxYM?' disabled':'')+'>›</button></div>';
|
||||
h+='<div class="cal-grid">';
|
||||
WD.forEach(function(w){h+='<div class="cal-wd">'+w+'</div>';});
|
||||
for(var i=0;i<startDow;i++)h+='<div></div>';
|
||||
for(var d=1;d<=ndays;d++){
|
||||
var ds=y+'-'+pad(m)+'-'+pad(d);
|
||||
var cls='cal-d'+(ds===TODAY?' tdy':'');
|
||||
if(tset[ds]){h+='<a class="'+cls+' on'+(ds===SEL?' sel':'')+'" data-d="'+ds+'" href="/?t=lab&s=day&d='+ds+'">'+d+'</a>';}
|
||||
else{h+='<span class="'+cls+' off">'+d+'</span>';}
|
||||
}
|
||||
h+='</div>';
|
||||
box.innerHTML=h;
|
||||
box.querySelectorAll('[data-nav]').forEach(function(b){
|
||||
b.addEventListener('click',function(){
|
||||
if(b.disabled)return;
|
||||
var p=cur.split('-'), nm=+p[1]+(+b.dataset.nav), ny=+p[0];
|
||||
if(nm<1){nm=12;ny--;} if(nm>12){nm=1;ny++;}
|
||||
cur=ny+'-'+pad(nm); render();
|
||||
});
|
||||
});
|
||||
box.querySelectorAll('.cal-d.on').forEach(function(a){
|
||||
a.addEventListener('click',function(e){ e.preventDefault(); pick(a.getAttribute('data-d')); });
|
||||
});
|
||||
}
|
||||
var loading=false;
|
||||
function pick(ds){
|
||||
/* 날짜 선택 — 달력 닫지 않고 거래내역만 fetch 갱신. 로딩 표시로 진행 상태를 보여줌 */
|
||||
if(loading)return; loading=true;
|
||||
var url='/?t=lab&s=day&d='+ds;
|
||||
var clbl=document.getElementById('day-sel-label');
|
||||
if(clbl)clbl.innerHTML=ds+' <span class="day-load">⏳ 불러오는 중…</span>';
|
||||
var rowsEl=document.getElementById('day-rows');
|
||||
if(rowsEl)rowsEl.style.opacity='.35'; /* 갱신 중 흐리게 */
|
||||
SEL=ds; render(); /* 선택 하이라이트 즉시 이동(반응성) */
|
||||
fetch(url).then(function(r){return r.text();}).then(function(html){
|
||||
var doc=new DOMParser().parseFromString(html,'text/html');
|
||||
['day-rows','day-sub'].forEach(function(id){
|
||||
var nw=doc.getElementById(id), cu=document.getElementById(id);
|
||||
if(nw&&cu)cu.innerHTML=nw.innerHTML;
|
||||
});
|
||||
var lbl=doc.getElementById('day-sel-label');
|
||||
if(lbl&&clbl)clbl.innerHTML=lbl.innerHTML;
|
||||
if(rowsEl)rowsEl.style.opacity='';
|
||||
try{history.replaceState(null,'',url);}catch(e){}
|
||||
loading=false;
|
||||
}).catch(function(){
|
||||
if(clbl)clbl.innerHTML=ds+' <span class="day-load" style="color:#ef4444">불러오기 실패 · 다시 탭</span>';
|
||||
if(rowsEl)rowsEl.style.opacity='';
|
||||
loading=false;
|
||||
});
|
||||
}
|
||||
render();
|
||||
var cb=document.getElementById('day-cal-close');
|
||||
if(cb)cb.addEventListener('click',function(){
|
||||
var w=document.getElementById('day-cal-wrap'); if(w)w.open=false;
|
||||
});
|
||||
})();</script>"""
|
||||
|
||||
|
||||
def _day_trades_panel(sel_date: str | None = None) -> str:
|
||||
"""전 전략(변이)이 거래한 종목 — 날짜별 매수/매도 집계. sel_date=YYYY-MM-DD (없으면 최근 거래일)."""
|
||||
from . import variants as vmod
|
||||
# 순위맵 (비교 스냅샷) — 전략번호 옆 현재 순위
|
||||
cv = [c for c in (_load(vmod.COMPARE_PATH, {}) or {}).get('variants', []) if c.get('id') != 'main']
|
||||
ranked = sorted(cv, key=lambda c: c['summary'].get('total_return_pct', 0) or 0, reverse=True)
|
||||
rank_map = {c['id']: n + 1 for n, c in enumerate(ranked)}
|
||||
|
||||
# 전 전략 거래로그 1회 로드 — 날짜 목록 + 선택일 집계 동시 처리
|
||||
all_rows = [] # (date, vid, record)
|
||||
for v in vmod.load_variants():
|
||||
_, tp = vmod.variant_paths(v['id'])
|
||||
if not tp.exists():
|
||||
continue
|
||||
for ln in tp.read_text().splitlines():
|
||||
if not ln.strip():
|
||||
continue
|
||||
try:
|
||||
r = json.loads(ln)
|
||||
except Exception:
|
||||
continue
|
||||
d = str(r.get('ts', ''))[:10]
|
||||
if d:
|
||||
all_rows.append((d, v['id'], r))
|
||||
|
||||
dates = sorted({d for d, _, _ in all_rows}, reverse=True) # 최신순
|
||||
back = '<label for="sub-cmp" class="cmp-btlink" role="button" tabindex="0">← 비교로</label>'
|
||||
if not dates:
|
||||
return (f'<h2 class="cmp-title">📋 거래목록 {back}</h2>'
|
||||
'<div class="empty">아직 거래 기록이 없어요 — 스캔이 진입 조건을 기다리는 중</div>')
|
||||
if sel_date not in dates:
|
||||
sel_date = dates[0] # 기본 = 최근 거래일
|
||||
|
||||
# 달력형 날짜 선택 — 거래일만 밝게·클릭가능, 거래 없는 날은 어둡게. 월 이동은 JS(새로고침 X).
|
||||
is_today = sel_date == datetime.now(config.KST).strftime('%Y-%m-%d')
|
||||
cal_js = (_DAY_CAL_JS.replace('__DATES__', json.dumps(dates))
|
||||
.replace('__SEL__', sel_date)
|
||||
.replace('__TODAY__', datetime.now(config.KST).strftime('%Y-%m-%d')))
|
||||
picker = (f'<details class="day-cal-wrap" id="day-cal-wrap"><summary>'
|
||||
f'📅 <b id="day-sel-label">{sel_date}{" (오늘)" if is_today else ""}</b> '
|
||||
f'<span class="muted">▾ 날짜 선택</span>'
|
||||
f'</summary><div id="day-cal" class="day-cal"></div>'
|
||||
f'<button type="button" id="day-cal-close" class="day-cal-close">닫기</button>'
|
||||
f'{cal_js}</details>')
|
||||
head = (f'<h2 class="cmp-title"><span>📋 거래목록</span>'
|
||||
f'<div class="cmp-acts">{back}</div></h2>{picker}')
|
||||
|
||||
# 선택일 집계: (code, side) → {name, vids[], prices[], pnls[]}
|
||||
agg: dict = {}
|
||||
for d, vid, r in all_rows:
|
||||
if d != sel_date:
|
||||
continue
|
||||
key = (r.get('code'), r.get('side'))
|
||||
a = agg.setdefault(key, {'name': r.get('name', ''), 'vids': [],
|
||||
'prices': [], 'pnls': [], 'reason': r.get('reason', ''),
|
||||
'kinds': {}, 'time': r.get('ts', '')[11:16]})
|
||||
a['vids'].append(vid)
|
||||
if r.get('price'):
|
||||
a['prices'].append(r['price'])
|
||||
if r.get('side') == 'SELL':
|
||||
if r.get('pnl_pct') is not None:
|
||||
a['pnls'].append(r['pnl_pct'])
|
||||
rsn = r.get('reason', '') or ''
|
||||
kind = ('익절' if '익절' in rsn else '손절' if '손절' in rsn
|
||||
else '추세이탈' if '이탈' in rsn else '청산')
|
||||
a['kinds'][kind] = a['kinds'].get(kind, 0) + 1
|
||||
for a in agg.values():
|
||||
a['n'] = len(a['vids'])
|
||||
|
||||
if not agg:
|
||||
return head + '<div class="empty">이 날은 거래가 없어요</div>'
|
||||
|
||||
# (종목, 방향) 단위로 한 아이템 — 같은 종목에 매수·매도 동시면 2개 아이템으로 분리.
|
||||
# 정렬: 매도(청산) 먼저, 그다음 전략 수 많은 순.
|
||||
_SIDE = {'BUY': ('매수', '🟢', '#22c55e'), 'SELL': ('매도', '🔴', '#ef4444')}
|
||||
order = sorted(agg.items(),
|
||||
key=lambda kv: (0 if kv[0][1] == 'SELL' else 1, -kv[1]['n']))
|
||||
n_buy = sum(1 for (_, side) in agg if side == 'BUY')
|
||||
n_sell = sum(1 for (_, side) in agg if side == 'SELL')
|
||||
sub = (f'<div class="sub" id="day-sub">매수 {n_buy} · 매도 {n_sell} 아이템 (전 전략 합산, 종목·방향별 구분)</div>')
|
||||
rows = ''
|
||||
for (code, side), a in order:
|
||||
label, emo, color = _SIDE.get(side, (side, '', '#9ca3af'))
|
||||
ps = a['prices']
|
||||
prng = (f'{min(ps):,}' if len(set(ps)) == 1 else f'{min(ps):,}~{max(ps):,}') if ps else '—'
|
||||
extra = ''
|
||||
kind_badge = ''
|
||||
kind_row = ''
|
||||
if side == 'SELL':
|
||||
if a['pnls']:
|
||||
avg = sum(a['pnls']) / len(a['pnls'])
|
||||
pc = '#22c55e' if avg >= 0 else '#ef4444'
|
||||
extra = f' · <span style="color:{pc}">평균 {avg:+.1f}%</span>'
|
||||
# 익절/손절 분류 — 매도 사유 기반. 요약엔 대표 1개, 본문엔 전체 내역
|
||||
_KC = {'익절': '#22c55e', '손절': '#ef4444', '추세이탈': '#eab308', '청산': '#9ca3af'}
|
||||
kinds = sorted(a['kinds'].items(), key=lambda kv: -kv[1])
|
||||
if kinds:
|
||||
top = kinds[0][0]
|
||||
kind_badge = f'<span class="day-kind" style="color:{_KC[top]};border-color:{_KC[top]}">{top}</span> '
|
||||
parts = ' · '.join(f'<span style="color:{_KC[k]}">{k} {c}</span>' for k, c in kinds)
|
||||
kind_row = (f'<div class="kv"><span class="k">청산 유형</span><span>{parts}</span></div>')
|
||||
vids = sorted(a['vids'], key=lambda x: rank_map.get(x, 999))
|
||||
vid_str = ' '.join(
|
||||
f'<a href="/strategy?id={x}" class="vchip">{_vid_disp(x)}'
|
||||
+ (f'<span class="vr">{rank_map[x]}위</span>' if x in rank_map else '') + '</a>'
|
||||
for x in vids)
|
||||
rows += (
|
||||
f'<details class="row"><summary>'
|
||||
f'<span class="nm">{_esc(a["name"])}</span>'
|
||||
f'<span class="rt">{kind_badge}<span class="day-badge" style="color:{color};border-color:{color}">'
|
||||
f'{emo} {label} <b>{a["n"]}</b></span></span></summary>'
|
||||
f'<div class="body">'
|
||||
f'<div class="kv"><span class="k" style="color:{color}">{emo} {label} <b>{a["n"]}</b>개 전략</span>'
|
||||
f'<span>{prng}원{extra}</span></div>'
|
||||
f'{kind_row}'
|
||||
f'<div class="kv"><span class="k muted" style="font-size:11px">{a["time"]} · 사유</span>'
|
||||
f'<span class="muted" style="font-size:11px">{_esc(a["reason"])[:30]}</span></div>'
|
||||
f'<div class="vchips">{vid_str}</div>'
|
||||
f'</div></details>')
|
||||
return head + sub + f'<div id="day-rows">{rows}</div>'
|
||||
|
||||
|
||||
def _engine_status(snap, asset_line) -> tuple[str, str]:
|
||||
"""스캔 엔진 헬스 → (점 클래스 ok/idle/bad, 토스트 상세). 장중 최근스캔=초록, 장중 멈춤=빨강, 장외=대기."""
|
||||
now = datetime.now(config.KST)
|
||||
@@ -1394,6 +1600,7 @@ def _pos_table(pf) -> str:
|
||||
pnl_amt = int(round((cur - entry) * qty))
|
||||
pc = '#22c55e' if pnl >= 0 else '#ef4444'
|
||||
evalv = cur * qty
|
||||
costv = int(round(entry * qty))
|
||||
trail = ' <span class="tag">트레일링</span>' if p.get('trailing_on') else ''
|
||||
tr_n, tr_max = p.get('tranches', 1), config.ENTRY_TRANCHES
|
||||
scaled = ' <span class="tag">일부익절</span>' if p.get('scaled_out') else ''
|
||||
@@ -1405,6 +1612,7 @@ def _pos_table(pf) -> str:
|
||||
f'<div class="body">'
|
||||
f'<div class="kv"><span class="k">수량</span><span>{qty:,}주 <span class="muted">({tr_n}/{tr_max}분할)</span>{scaled}</span></div>'
|
||||
f'<div class="kv"><span class="k">평단</span><span>{entry:,.0f}원</span></div>'
|
||||
f'<div class="kv"><span class="k">매수금액</span><span>{costv:,}원</span></div>'
|
||||
f'<div class="kv"><span class="k">평가금액</span><span>{evalv:,}원</span></div>'
|
||||
f'<div class="kv"><span class="k">평가손익</span><span style="color:{pc}">{pnl_amt:+,}원 ({pnl:+.1f}%)</span></div>'
|
||||
f'<div class="kv"><span class="k">손절</span><span>{p["stop"]:,}원</span></div>'
|
||||
@@ -1503,7 +1711,8 @@ def _decision_card(d, watch_n: int = 0, held_n: int = 0, acc_detail: str = '') -
|
||||
)
|
||||
|
||||
|
||||
def render_html(view: str | None = None) -> str:
|
||||
def render_html(view: str | None = None, day_date: str | None = None,
|
||||
tab: str | None = None, sub: str | None = None) -> str:
|
||||
snap = _load(config.LAST_SCAN_PATH, {})
|
||||
from . import variants as vmod
|
||||
_cv = [c for c in (_load(vmod.COMPARE_PATH, {}) or {}).get('variants', [])
|
||||
@@ -1679,6 +1888,14 @@ def render_html(view: str | None = None) -> str:
|
||||
market_html = _market_panel()
|
||||
bt_html = _backtest_panel()
|
||||
cmp_html = _compare_panel()
|
||||
day_html = _day_trades_panel(day_date)
|
||||
|
||||
# 활성 탭/서브탭을 서버에서 미리 checked — JS가 로드 후 바꾸며 생기던 깜빡임 제거.
|
||||
tab = tab if tab in ('lab', 'watch', 'market') else 'lab'
|
||||
sub = sub if sub in ('cmp', 'bt', 'day') else 'cmp'
|
||||
ck = {f'tab-{tab}': ' checked', f'sub-{sub}': ' checked'}
|
||||
def _ck(rid):
|
||||
return ck.get(rid, '')
|
||||
|
||||
return f"""<!doctype html><html lang=ko><head><meta charset=utf-8>
|
||||
<meta name=viewport content="width=device-width,initial-scale=1">
|
||||
@@ -1733,10 +1950,37 @@ h3.grp{{font-size:13px;margin:16px 0 8px;color:#cbd5e1}}
|
||||
.mfit{{display:block;width:100%;margin:8px 0 2px;background:#0e2236;color:#7dd3fc;border:1px solid #1e3a5f;border-radius:8px;padding:8px;font-size:12px;font-weight:600;cursor:pointer}}
|
||||
.bt-type{{margin:18px 0 8px;font-size:14px;font-weight:700;border-bottom:1px solid #1f2937;padding-bottom:5px}}
|
||||
.bt-type .bt-type-d{{display:block;font-size:11px;font-weight:400;color:#9ca3af;margin-top:2px}}
|
||||
.cmp-title{{display:flex;align-items:center}}
|
||||
.cmp-clear{{background:#3a1518;color:#fca5a5;border:1px solid #7f1d1d;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;cursor:pointer}}
|
||||
.cmp-btlink{{background:#0f2a3f;color:#7dd3fc;border:1px solid #1e3a5f;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;cursor:pointer;margin-left:8px;display:inline-block}}
|
||||
.cmp-title{{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 6px}}
|
||||
.cmp-title h2{{margin:0;flex:0 0 auto}}
|
||||
.cmp-acts{{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1 1 auto;justify-content:flex-end}}
|
||||
.cmp-acts form{{margin:0}}
|
||||
.day-badge{{border:1px solid;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;white-space:nowrap}}
|
||||
.day-kind{{border:1px solid;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600;white-space:nowrap}}
|
||||
.vchips{{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}}
|
||||
.vchip{{display:inline-flex;align-items:center;gap:3px;background:#1e293b;color:#7dd3fc;border:1px solid #334155;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;text-decoration:none}}
|
||||
.vchip .vr{{color:#94a3b8;font-size:9px;font-weight:500}}
|
||||
.cmp-clear{{background:#3a1518;color:#fca5a5;border:1px solid #7f1d1d;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}}
|
||||
.cmp-btlink{{background:#0f2a3f;color:#7dd3fc;border:1px solid #1e3a5f;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600;cursor:pointer;display:inline-block;white-space:nowrap}}
|
||||
#judge-view{{background:#141b24;border:1px solid #2a3142;color:#e5e7eb;border-radius:6px;padding:3px 6px;font-size:10px;max-width:88%}}
|
||||
.day-cal-wrap{{margin:8px 0 4px;background:#111824;border:1px solid #1f2937;border-radius:10px;max-width:300px}}
|
||||
.day-cal-wrap>summary{{cursor:pointer;padding:8px 10px;font-size:12px;list-style:none}}
|
||||
.day-cal-wrap>summary::-webkit-details-marker{{display:none}}
|
||||
.day-cal{{padding:2px 10px 8px}}
|
||||
.cal-hd{{display:flex;justify-content:space-between;align-items:center;margin:2px 0 5px}}
|
||||
.cal-hd button{{background:#1e293b;border:1px solid #334155;color:#7dd3fc;border-radius:5px;padding:2px 12px;font-size:13px;cursor:pointer}}
|
||||
.cal-hd button:disabled{{opacity:.3;cursor:default}}
|
||||
.cal-hd span{{font-weight:700;font-size:12px}}
|
||||
.cal-grid{{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}}
|
||||
.cal-wd{{text-align:center;font-size:9px;color:#64748b;padding:1px 0}}
|
||||
.cal-d{{position:relative;text-align:center;padding:5px 0;border-radius:5px;font-size:11px;font-variant-numeric:tabular-nums}}
|
||||
.cal-d.on{{background:#0f2a3f;color:#7dd3fc;border:1px solid #1e3a5f;font-weight:700;text-decoration:none;cursor:pointer}}
|
||||
.cal-d.off{{color:#2c3848}}
|
||||
.cal-d.sel{{background:#2563eb;color:#fff;border-color:#60a5fa;box-shadow:0 0 0 1px #60a5fa}}
|
||||
.cal-d.tdy::after{{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:#7dd3fc}}
|
||||
.cal-d.tdy.sel::after{{background:#fff}}
|
||||
.day-cal-close{{display:block;width:calc(100% - 20px);margin:4px 10px 10px;background:#1e293b;border:1px solid #334155;color:#cbd5e1;border-radius:6px;padding:7px;font-size:12px;cursor:pointer}}
|
||||
.day-load{{font-size:11px;color:#7dd3fc;font-weight:400}}
|
||||
#day-rows{{transition:opacity .12s}}
|
||||
.fav-b{{background:none;border:none;font-size:13px;cursor:pointer;padding:0 2px;line-height:1;flex:0 0 auto}}
|
||||
.fav-none{{opacity:.35;filter:grayscale(1)}}
|
||||
.fav-grid{{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:10px 0;padding-bottom:4px}}
|
||||
@@ -1808,7 +2052,7 @@ input[name="tab"],input[name="subtab"]{{display:none}}
|
||||
.btn-mini{{background:#1e3a8a;color:#fff;border:1px solid #2952cc;border-radius:7px;padding:9px 11px;font-size:12px;font-weight:600;cursor:pointer;width:100%}}
|
||||
.btn-mini.btn-warn{{background:#3f2d0a;border-color:#b45309;color:#fcd34d}}
|
||||
.btn-mini.btn-danger{{background:#3b1213;border-color:#b91c1c;color:#fca5a5}}
|
||||
#sub-cmp:checked~#p-lab #ps-cmp,#sub-bt:checked~#p-lab #ps-bt{{display:block}}
|
||||
#sub-cmp:checked~#p-lab #ps-cmp,#sub-bt:checked~#p-lab #ps-bt,#sub-day:checked~#p-lab #ps-day{{display:block}}
|
||||
.btn-apply{{background:#15803d;color:#fff;border:1px solid #16a34a;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;width:100%}}
|
||||
.tabs label{{font-size:12px;padding:9px 4px}}
|
||||
.prow{{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #161e29}}
|
||||
@@ -1837,11 +2081,12 @@ input[name="tab"],input[name="subtab"]{{display:none}}
|
||||
</style></head><body>
|
||||
<div id="ptr"><span class="arrow">↓</span><span class="spinner"></span></div>
|
||||
<div id="page">
|
||||
<input type="radio" name="tab" id="tab-lab" checked>
|
||||
<input type="radio" name="tab" id="tab-watch">
|
||||
<input type="radio" name="tab" id="tab-market">
|
||||
<input type="radio" name="subtab" id="sub-cmp" checked>
|
||||
<input type="radio" name="subtab" id="sub-bt">
|
||||
<input type="radio" name="tab" id="tab-lab"{_ck('tab-lab')}>
|
||||
<input type="radio" name="tab" id="tab-watch"{_ck('tab-watch')}>
|
||||
<input type="radio" name="tab" id="tab-market"{_ck('tab-market')}>
|
||||
<input type="radio" name="subtab" id="sub-cmp"{_ck('sub-cmp')}>
|
||||
<input type="radio" name="subtab" id="sub-bt"{_ck('sub-bt')}>
|
||||
<input type="radio" name="subtab" id="sub-day"{_ck('sub-day')}>
|
||||
<header class="hd">
|
||||
<h1> 레이 자동매매 시뮬레이션 <span id="health" class="hdot {hcls}" data-detail="{_esc(hdetail)}" role="button" tabindex="0" title="시뮬 상태 보기"></span></h1>
|
||||
<div class=sub>마지막 스캔 {scanned or '—'} · 시장 {mkt_h}</div>
|
||||
@@ -1864,6 +2109,7 @@ input[name="tab"],input[name="subtab"]{{display:none}}
|
||||
<section class="panel" id="p-lab">
|
||||
<div class="subpanel" id="ps-cmp">{cmp_html}</div>
|
||||
<div class="subpanel" id="ps-bt"><h2 class="cmp-title">백테스트 순위표 <label for="sub-cmp" class="cmp-btlink" role="button" tabindex="0">← 비교로</label></h2>{bt_html}</div>
|
||||
<div class="subpanel" id="ps-day">{day_html}</div>
|
||||
</section>
|
||||
<div class=sub style="margin-top:20px">60초 자동 새로고침 · 당겨서 새로고침 · sim/ 가상 엔진 (실주문 아님)</div>
|
||||
</div>
|
||||
@@ -1906,8 +2152,17 @@ class Handler(BaseHTTPRequestHandler):
|
||||
self.send_response(404)
|
||||
self.end_headers()
|
||||
return
|
||||
_view = (urllib.parse.parse_qs(parsed.query).get('view') or ['main'])[0]
|
||||
body = render_html(view=_view).encode('utf-8')
|
||||
_qs = urllib.parse.parse_qs(parsed.query)
|
||||
_view = (_qs.get('view') or ['main'])[0]
|
||||
_dd = (_qs.get('d') or [None])[0]
|
||||
_tab = (_qs.get('t') or [None])[0]
|
||||
_sub = (_qs.get('s') or [None])[0]
|
||||
# 레거시 ?t=bt/cmp/day (서브탭이 t로 옴) 하위호환 — REFRESH_JS와 동일 규칙
|
||||
if _tab in ('bt', 'cmp', 'day'):
|
||||
_sub, _tab = _tab, 'lab'
|
||||
if _tab in ('acct', 'tune'):
|
||||
_tab = 'lab'
|
||||
body = render_html(view=_view, day_date=_dd, tab=_tab, sub=_sub).encode('utf-8')
|
||||
self.send_response(200)
|
||||
self.send_header('Content-Type', 'text/html; charset=utf-8')
|
||||
# 캐시 금지 — Safari 휴리스틱 캐싱이 옛 HTML/JS를 재사용해 탭 복원 로직이 구버전으로 돌던 문제 방지
|
||||
|
||||
@@ -28,3 +28,5 @@
|
||||
{"date": "2026-06-10", "market": "KOSPI", "market_label": "코스피", "rise": 343, "upper": 2, "fall": 550, "lower": 0, "steady": 28, "adr": 62.73, "personal": 48643, "foreign": -27754, "institutional": -22665, "captured_at": "2026-06-10T21:00:04.276904+09:00"}
|
||||
{"date": "2026-06-11", "market": "KOSDAQ", "market_label": "코스닥", "rise": 1219, "upper": 10, "fall": 457, "lower": 0, "steady": 59, "adr": 268.93, "personal": -3634, "foreign": -3601, "institutional": 7149, "captured_at": "2026-06-11T21:00:01.845336+09:00"}
|
||||
{"date": "2026-06-11", "market": "KOSPI", "market_label": "코스피", "rise": 576, "upper": 3, "fall": 320, "lower": 0, "steady": 25, "adr": 180.94, "personal": 20803, "foreign": -14640, "institutional": -7561, "captured_at": "2026-06-11T21:00:01.845336+09:00"}
|
||||
{"date": "2026-06-12", "market": "KOSDAQ", "market_label": "코스닥", "rise": 1318, "upper": 9, "fall": 371, "lower": 0, "steady": 47, "adr": 357.68, "personal": -9416, "foreign": 2769, "institutional": 6315, "captured_at": "2026-06-12T21:00:03.422609+09:00"}
|
||||
{"date": "2026-06-12", "market": "KOSPI", "market_label": "코스피", "rise": 756, "upper": 3, "fall": 144, "lower": 0, "steady": 18, "adr": 527.08, "personal": -43174, "foreign": 22041, "institutional": 22870, "captured_at": "2026-06-12T21:00:03.422609+09:00"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943184+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.464885+09:00"
|
||||
"updated_at": "2026-06-12T15:25:02.233392+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943289+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.550097+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.011659+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944222+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.503889+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.143491+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944232+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.505039+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.144663+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944241+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.506218+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.145850+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944251+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.507372+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.147039+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944261+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.508515+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.148171+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 93565534.975,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 238277.77777777778,
|
||||
"entry_at": "2026-06-12T09:00:34.009427+09:00",
|
||||
"stop": 203394,
|
||||
"target": 308046,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3332473.3402132783,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 100666534.975,
|
||||
"max_drawdown": 0.005230139292375102,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944270+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.509676+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.149359+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:34.009437+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 14, "cost": 3255488, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 197616, "target": 302268, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.174047+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 13, "cost": 3178977, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 197616, "target": 302268, "signals": [{"label": "손절선", "ok": true, "detail": "197,616 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 302,268"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 96383457.6,
|
||||
"cash": 92805420.975,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 16,
|
||||
"entry_price": 226000,
|
||||
"qty": 31,
|
||||
"entry_price": 232048.38709677418,
|
||||
"entry_at": "2026-06-11T10:25:02.231934+09:00",
|
||||
"stop": 195800,
|
||||
"target": 286400,
|
||||
"peak": 226000,
|
||||
"stop": 197164,
|
||||
"target": 301817,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3741721.8543046354,
|
||||
"last_add_price": 226000
|
||||
"last_add_price": 238500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0010454240000000595,
|
||||
"peak_equity": 100958420.975,
|
||||
"max_drawdown": 0.0059876134567287895,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944280+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.510844+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.150563+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T10:25:02.231935+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 16, "cost": 3616542, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]}
|
||||
{"ts": "2026-06-12T09:20:02.965943+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 238500, "qty": 15, "cost": 3578037, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 286400, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 238,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 286,400"}, {"label": "추세(20일선)", "ok": true, "detail": "225,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 237,628"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944290+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.512007+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.151726+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.944300+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.513155+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.152868+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943299+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.552450+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.014412+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943310+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.554689+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.016933+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943320+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.358839+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.024987+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943331+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.366171+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.027412+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943342+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.370543+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.029560+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943352+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.374468+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.031721+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943361+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.377881+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.033694+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943371+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.381990+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.035650+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943381+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.385291+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.037555+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 87840676.375,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 51,
|
||||
"entry_price": 238382.35294117648,
|
||||
"entry_at": "2026-06-12T09:00:04.966877+09:00",
|
||||
"stop": 195800,
|
||||
"target": 366129,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 101253676.375,
|
||||
"max_drawdown": 0.009821865591495171,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943203+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.526338+09:00"
|
||||
"updated_at": "2026-06-12T15:25:02.979059+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:04.966891+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 342600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.007017+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 25, "cost": 6113417, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 342600, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 342,600"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943391+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.388354+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.039344+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943400+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.391455+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.041123+09:00"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 95790868.725,
|
||||
"cash": 91605240.975,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 19,
|
||||
"entry_price": 221500,
|
||||
"qty": 37,
|
||||
"entry_price": 226851.35135135136,
|
||||
"entry_at": "2026-06-11T12:45:02.417933+09:00",
|
||||
"stop": 195800,
|
||||
"target": 272900,
|
||||
"peak": 224000,
|
||||
"target": 288954,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 4309338.521400778,
|
||||
"last_add_price": 221500
|
||||
"last_add_price": 232500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100046868.725,
|
||||
"max_drawdown": 0.0004747774778495448,
|
||||
"peak_equity": 101336240.975,
|
||||
"max_drawdown": 0.0071198614933624445,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943410+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.394259+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.042846+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T12:45:02.417938+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 221500, "qty": 19, "cost": 4209131, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 272900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "221,000 vs 218,048"}, {"label": "정배열(5>20)", "ok": true, "detail": "256,000 / 218,048"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "256,000 / 215,415"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+3.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -132 · 기 +1,200 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+49%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.39% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "5,311,497 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "3.39% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 221,000)"}]}
|
||||
{"ts": "2026-06-12T09:00:25.290561+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 18, "cost": 4185628, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 272900, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 233,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 272,900"}, {"label": "추세(20일선)", "ok": true, "detail": "218,360"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 233,128"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943420+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.396835+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.044538+09:00"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 95790868.725,
|
||||
"cash": 91605240.975,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 19,
|
||||
"entry_price": 221500,
|
||||
"qty": 37,
|
||||
"entry_price": 226851.35135135136,
|
||||
"entry_at": "2026-06-11T12:45:02.424478+09:00",
|
||||
"stop": 195800,
|
||||
"target": 272900,
|
||||
"peak": 224000,
|
||||
"target": 288954,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 4309338.521400778,
|
||||
"last_add_price": 221500
|
||||
"last_add_price": 232500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100046868.725,
|
||||
"max_drawdown": 0.0004747774778495448,
|
||||
"peak_equity": 101336240.975,
|
||||
"max_drawdown": 0.0071198614933624445,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943430+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.399194+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.046214+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T12:45:02.424482+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 221500, "qty": 19, "cost": 4209131, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 272900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "221,000 vs 218,048"}, {"label": "정배열(5>20)", "ok": true, "detail": "256,000 / 218,048"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "256,000 / 215,415"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+3.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -132 · 기 +1,200 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+49%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.39% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "5,311,497 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "3.39% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 221,000)"}]}
|
||||
{"ts": "2026-06-12T09:00:25.485302+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 18, "cost": 4185628, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 272900, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 233,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 272,900"}, {"label": "추세(20일선)", "ok": true, "detail": "218,360"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 233,128"}]}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 95790868.725,
|
||||
"cash": 91605240.975,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 19,
|
||||
"entry_price": 221500,
|
||||
"qty": 37,
|
||||
"entry_price": 226851.35135135136,
|
||||
"entry_at": "2026-06-11T12:45:02.427828+09:00",
|
||||
"stop": 195800,
|
||||
"target": 260050,
|
||||
"peak": 224000,
|
||||
"target": 273428,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 4309338.521400778,
|
||||
"last_add_price": 221500
|
||||
"last_add_price": 232500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100046868.725,
|
||||
"max_drawdown": 0.0004747774778495448,
|
||||
"peak_equity": 101336240.975,
|
||||
"max_drawdown": 0.0071198614933624445,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943440+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.401623+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.047871+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T12:45:02.427830+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 221500, "qty": 19, "cost": 4209131, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 260050, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "221,000 vs 218,048"}, {"label": "정배열(5>20)", "ok": true, "detail": "256,000 / 218,048"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "256,000 / 215,415"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+3.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -132 · 기 +1,200 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+49%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.39% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "5,311,497 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "3.39% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 221,000)"}]}
|
||||
{"ts": "2026-06-12T09:00:25.581879+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 18, "cost": 4185628, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 260050, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 233,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 260,050"}, {"label": "추세(20일선)", "ok": true, "detail": "218,360"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 233,128"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943450+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.403888+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.049378+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 94042606.525,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 25,
|
||||
"entry_price": 238260.0,
|
||||
"entry_at": "2026-06-12T09:00:25.774636+09:00",
|
||||
"stop": 195800,
|
||||
"target": 323180,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3167574.931880109,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 100617606.525,
|
||||
"max_drawdown": 0.004845076491447578,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943460+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.406120+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.050918+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:25.774643+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 13, "cost": 3022953, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 305900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.077741+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 12, "cost": 2934440, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 305900, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 305,900"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943470+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.408165+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.052403+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943480+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.410164+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.053831+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 87840676.375,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 51,
|
||||
"entry_price": 238382.35294117648,
|
||||
"entry_at": "2026-06-12T09:00:09.430821+09:00",
|
||||
"stop": 195800,
|
||||
"target": 302256,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 101253676.375,
|
||||
"max_drawdown": 0.009821865591495171,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943216+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.530101+09:00"
|
||||
"updated_at": "2026-06-12T15:25:02.986645+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:09.430828+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 287550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.018369+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 25, "cost": 6113417, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 287550, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 287,550"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943489+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.412089+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.055325+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 94042606.525,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 25,
|
||||
"entry_price": 238260.0,
|
||||
"entry_at": "2026-06-12T09:00:26.164560+09:00",
|
||||
"stop": 195800,
|
||||
"target": 301950,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3167574.931880109,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 100617606.525,
|
||||
"max_drawdown": 0.004845076491447578,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943499+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.413928+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.056763+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:26.164570+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 13, "cost": 3022953, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 287550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.083403+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 12, "cost": 2934440, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 287550, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 287,550"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943509+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.415765+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.058148+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943518+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.417573+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.059514+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943528+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.419366+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.060852+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 93565534.975,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 238277.77777777778,
|
||||
"entry_at": "2026-06-12T09:00:26.549147+09:00",
|
||||
"stop": 203394,
|
||||
"target": 308046,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3332473.3402132783,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 100666534.975,
|
||||
"max_drawdown": 0.005230139292375102,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943540+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.421149+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.062186+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:26.549157+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 14, "cost": 3255488, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 197616, "target": 302268, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.088710+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 13, "cost": 3178977, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 197616, "target": 302268, "signals": [{"label": "손절선", "ok": true, "detail": "197,616 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 302,268"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943551+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.422820+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.063510+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943560+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.424521+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.064790+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943570+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.426135+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.066047+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 87840676.375,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 51,
|
||||
"entry_price": 238382.35294117648,
|
||||
"entry_at": "2026-06-12T09:00:26.941903+09:00",
|
||||
"stop": 195800,
|
||||
"target": 366129,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 101253676.375,
|
||||
"max_drawdown": 0.009821865591495171,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943580+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.427703+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.067341+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:26.941912+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 342600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.093759+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 25, "cost": 6113417, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 342600, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 342,600"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 87840676.375,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 51,
|
||||
"entry_price": 238382.35294117648,
|
||||
"entry_at": "2026-06-12T09:00:09.535925+09:00",
|
||||
"stop": 195800,
|
||||
"target": 323547,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 101253676.375,
|
||||
"max_drawdown": 0.009821865591495171,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943227+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.533738+09:00"
|
||||
"updated_at": "2026-06-12T15:25:02.990969+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:09.535934+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 305900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.022583+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 25, "cost": 6113417, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 305900, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 305,900"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 93897084.7,
|
||||
"cash": 87695154.55,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 226000,
|
||||
"qty": 53,
|
||||
"entry_price": 232132.0754716981,
|
||||
"entry_at": "2026-06-11T10:25:02.147016+09:00",
|
||||
"stop": 195800,
|
||||
"target": 316600,
|
||||
"peak": 226000,
|
||||
"target": 341128,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 226000
|
||||
"last_add_price": 238500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0017641529999999702,
|
||||
"peak_equity": 101634154.55,
|
||||
"max_drawdown": 0.010168825672589806,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943590+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.429284+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.068671+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T10:25:02.147018+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 27, "cost": 6102915, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 316600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]}
|
||||
{"ts": "2026-06-12T09:20:02.881339+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 238500, "qty": 26, "cost": 6201930, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 316600, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 238,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 316,600"}, {"label": "추세(20일선)", "ok": true, "detail": "225,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 237,628"}]}
|
||||
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 87840676.375,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 51,
|
||||
"entry_price": 238382.35294117648,
|
||||
"entry_at": "2026-06-12T09:00:27.136804+09:00",
|
||||
"stop": 195800,
|
||||
"target": 302256,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 101253676.375,
|
||||
"max_drawdown": 0.009821865591495171,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943599+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.430807+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.070070+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:27.136812+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 287550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.096284+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 25, "cost": 6113417, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 287550, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 287,550"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 93897084.7,
|
||||
"cash": 87695154.55,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 226000,
|
||||
"qty": 53,
|
||||
"entry_price": 232132.0754716981,
|
||||
"entry_at": "2026-06-11T10:25:02.151149+09:00",
|
||||
"stop": 195800,
|
||||
"target": 271300,
|
||||
"peak": 226000,
|
||||
"target": 286630,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 226000
|
||||
"last_add_price": 238500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0017641529999999702,
|
||||
"peak_equity": 101634154.55,
|
||||
"max_drawdown": 0.010168825672589806,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943609+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.432382+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.071293+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T10:25:02.151151+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 27, "cost": 6102915, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 271300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]}
|
||||
{"ts": "2026-06-12T09:20:02.884489+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 238500, "qty": 26, "cost": 6201930, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 271300, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 238,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 271,300"}, {"label": "추세(20일선)", "ok": true, "detail": "225,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 237,628"}]}
|
||||
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 87840676.375,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 51,
|
||||
"entry_price": 238382.35294117648,
|
||||
"entry_at": "2026-06-12T09:00:27.330902+09:00",
|
||||
"stop": 195800,
|
||||
"target": 323547,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 101253676.375,
|
||||
"max_drawdown": 0.009821865591495171,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943619+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.433821+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.072506+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:27.330912+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 195800, "target": 305900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.098759+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 25, "cost": 6113417, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 305900, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 305,900"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 93897084.7,
|
||||
"cash": 87695154.55,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 226000,
|
||||
"qty": 53,
|
||||
"entry_price": 232132.0754716981,
|
||||
"entry_at": "2026-06-11T10:25:02.154758+09:00",
|
||||
"stop": 195800,
|
||||
"target": 286400,
|
||||
"peak": 226000,
|
||||
"target": 304796,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 226000
|
||||
"last_add_price": 238500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0017641529999999702,
|
||||
"peak_equity": 101634154.55,
|
||||
"max_drawdown": 0.010168825672589806,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943633+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.435257+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.073728+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T10:25:02.154760+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 27, "cost": 6102915, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]}
|
||||
{"ts": "2026-06-12T09:20:02.887497+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 238500, "qty": 26, "cost": 6201930, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 286400, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 238,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 286,400"}, {"label": "추세(20일선)", "ok": true, "detail": "225,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 237,628"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943643+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.436643+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.074897+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943653+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.438026+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.076068+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 93565534.975,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 238277.77777777778,
|
||||
"entry_at": "2026-06-12T09:00:27.724169+09:00",
|
||||
"stop": 203394,
|
||||
"target": 308046,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3332473.3402132783,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 100666534.975,
|
||||
"max_drawdown": 0.005230139292375102,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943663+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.439417+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.079082+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:27.724180+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 14, "cost": 3255488, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 197616, "target": 302268, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.103581+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 13, "cost": 3178977, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 197616, "target": 302268, "signals": [{"label": "손절선", "ok": true, "detail": "197,616 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 302,268"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 96383457.6,
|
||||
"cash": 92805420.975,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,28 +8,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 16,
|
||||
"entry_price": 226000,
|
||||
"qty": 31,
|
||||
"entry_price": 232048.38709677418,
|
||||
"entry_at": "2026-06-11T10:25:02.161225+09:00",
|
||||
"stop": 195800,
|
||||
"target": 286400,
|
||||
"peak": 226000,
|
||||
"stop": 197164,
|
||||
"target": 301817,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 232,280 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3741721.8543046354,
|
||||
"last_add_price": 226000
|
||||
"last_add_price": 238500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0010454240000000595,
|
||||
"peak_equity": 100958420.975,
|
||||
"max_drawdown": 0.0059876134567287895,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943673+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.440747+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.080306+09:00"
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
{"ts": "2026-06-11T10:25:02.161226+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 16, "cost": 3616542, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]}
|
||||
{"ts": "2026-06-12T09:20:02.892942+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 238500, "qty": 15, "cost": 3578037, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 286400, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 238,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 286,400"}, {"label": "추세(20일선)", "ok": true, "detail": "225,070"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 237,628"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943683+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.442090+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.081520+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943238+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.536744+09:00"
|
||||
"updated_at": "2026-06-12T15:25:02.994749+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943693+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.443439+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.082720+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943703+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.444730+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.083918+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943713+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.445992+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.085112+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943722+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.447250+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.086287+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943732+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.448510+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.087429+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943741+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.449695+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.088595+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943751+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.450870+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.089739+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943761+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.452053+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.090890+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943771+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.453242+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.092056+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943780+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.454393+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.093232+09:00"
|
||||
}
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"cash": 100000000,
|
||||
"cash": 93565534.975,
|
||||
"initial": 100000000,
|
||||
"positions": {},
|
||||
"positions": {
|
||||
"035420": {
|
||||
"code": "035420",
|
||||
"name": "NAVER",
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 27,
|
||||
"entry_price": 238277.77777777778,
|
||||
"entry_at": "2026-06-12T09:00:09.742410+09:00",
|
||||
"stop": 203394,
|
||||
"target": 308046,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 233,744 도달",
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 3332473.3402132783,
|
||||
"last_add_price": 244500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100000000,
|
||||
"max_drawdown": 0.0,
|
||||
"peak_equity": 100666534.975,
|
||||
"max_drawdown": 0.005230139292375102,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943248+09:00",
|
||||
"updated_at": "2026-06-11T15:25:06.539716+09:00"
|
||||
"updated_at": "2026-06-12T15:25:02.998173+09:00"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"ts": "2026-06-12T09:00:09.742420+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 14, "cost": 3255488, "path": "pullback", "reason": "눌림목 지정가 233,744 도달", "stop": 197616, "target": 302268, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "233,500 vs 224,820"}, {"label": "정배열(5>20)", "ok": true, "detail": "258,500 / 224,820"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "258,500 / 215,623"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+8.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -159 · 기 +1,154 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.99% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "4,694,733 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.99% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 233,744 (현재 233,500)"}]}
|
||||
{"ts": "2026-06-12T10:25:04.029441+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 244500, "qty": 13, "cost": 3178977, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 197616, "target": 302268, "signals": [{"label": "손절선", "ok": true, "detail": "197,616 (현재 244,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 302,268"}, {"label": "추세(20일선)", "ok": true, "detail": "225,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -116 · 기 +1,185"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 244,128"}]}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943790+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.455538+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.094381+09:00"
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943802+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.456761+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.095654+09:00"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 88242436.63000001,
|
||||
"cash": 76598690.33000001,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,20 +8,20 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 28,
|
||||
"entry_price": 220500,
|
||||
"qty": 54,
|
||||
"entry_price": 226277.77777777778,
|
||||
"entry_at": "2026-06-11T09:00:18.583852+09:00",
|
||||
"stop": 195800,
|
||||
"target": 294600,
|
||||
"peak": 227500,
|
||||
"target": 317711,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 219,919 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 220500
|
||||
"last_add_price": 232500
|
||||
},
|
||||
"064400": {
|
||||
"code": "064400",
|
||||
@@ -29,28 +29,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 63,
|
||||
"entry_price": 88600,
|
||||
"qty": 121,
|
||||
"entry_price": 92386.77685950413,
|
||||
"entry_at": "2026-06-11T09:00:18.994914+09:00",
|
||||
"stop": 72800,
|
||||
"target": 136000,
|
||||
"peak": 93900,
|
||||
"stop": 72971,
|
||||
"target": 150634,
|
||||
"peak": 98500,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 96,991 도달",
|
||||
"cur_price": 92800,
|
||||
"tranches": 1,
|
||||
"cur_price": 92300,
|
||||
"tranches": 2,
|
||||
"tranche_value": 5607543.004772153,
|
||||
"last_add_price": 88600
|
||||
"last_add_price": 96500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100454286.63000001,
|
||||
"max_drawdown": 0.0037524531072368034,
|
||||
"peak_equity": 102463190.33000001,
|
||||
"max_drawdown": 0.01628096875206872,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943812+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.457973+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.096892+09:00"
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
{"ts": "2026-06-11T09:00:18.583865+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 28, "cost": 6174926, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 294600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]}
|
||||
{"ts": "2026-06-11T09:00:18.994932+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 63, "cost": 5582637, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 136000, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]}
|
||||
{"ts": "2026-06-12T09:00:29.275106+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 294600, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 233,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 294,600"}, {"label": "추세(20일선)", "ok": true, "detail": "218,360"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 232,128"}]}
|
||||
{"ts": "2026-06-12T09:00:29.332295+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 96500, "qty": 58, "cost": 5597840, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 72800, "target": 136000, "signals": [{"label": "손절선", "ok": true, "detail": "72,800 (현재 97,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,000"}, {"label": "추세(20일선)", "ok": true, "detail": "79,050"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +810 · 기 +60"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 95,072"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943822+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.459214+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.098170+09:00"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 88242436.63000001,
|
||||
"cash": 76598690.33000001,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,20 +8,20 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 28,
|
||||
"entry_price": 220500,
|
||||
"qty": 54,
|
||||
"entry_price": 226277.77777777778,
|
||||
"entry_at": "2026-06-11T09:00:19.195639+09:00",
|
||||
"stop": 195800,
|
||||
"target": 257550,
|
||||
"peak": 227500,
|
||||
"target": 271994,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 219,919 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 220500
|
||||
"last_add_price": 232500
|
||||
},
|
||||
"064400": {
|
||||
"code": "064400",
|
||||
@@ -29,28 +29,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 63,
|
||||
"entry_price": 88600,
|
||||
"qty": 121,
|
||||
"entry_price": 92386.77685950413,
|
||||
"entry_at": "2026-06-11T09:00:19.197119+09:00",
|
||||
"stop": 72800,
|
||||
"target": 112300,
|
||||
"peak": 93900,
|
||||
"stop": 72971,
|
||||
"target": 121510,
|
||||
"peak": 98500,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 96,991 도달",
|
||||
"cur_price": 92800,
|
||||
"tranches": 1,
|
||||
"cur_price": 92300,
|
||||
"tranches": 2,
|
||||
"tranche_value": 5607543.004772153,
|
||||
"last_add_price": 88600
|
||||
"last_add_price": 96500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100454286.63000001,
|
||||
"max_drawdown": 0.0037524531072368034,
|
||||
"peak_equity": 102463190.33000001,
|
||||
"max_drawdown": 0.01628096875206872,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943832+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.460431+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.099404+09:00"
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
{"ts": "2026-06-11T09:00:19.195649+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 28, "cost": 6174926, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 257550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]}
|
||||
{"ts": "2026-06-11T09:00:19.197125+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 63, "cost": 5582637, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]}
|
||||
{"ts": "2026-06-12T09:00:29.538667+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 257550, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 233,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 257,550"}, {"label": "추세(20일선)", "ok": true, "detail": "218,360"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 232,128"}]}
|
||||
{"ts": "2026-06-12T09:00:29.540549+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 96500, "qty": 58, "cost": 5597840, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 72800, "target": 112300, "signals": [{"label": "손절선", "ok": true, "detail": "72,800 (현재 97,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,300"}, {"label": "추세(20일선)", "ok": true, "detail": "79,050"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +810 · 기 +60"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 95,072"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943843+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.461661+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.100667+09:00"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 88242436.63000001,
|
||||
"cash": 76598690.33000001,
|
||||
"initial": 100000000,
|
||||
"positions": {
|
||||
"035420": {
|
||||
@@ -8,20 +8,20 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 28,
|
||||
"entry_price": 220500,
|
||||
"qty": 54,
|
||||
"entry_price": 226277.77777777778,
|
||||
"entry_at": "2026-06-11T09:00:19.398879+09:00",
|
||||
"stop": 195800,
|
||||
"target": 269900,
|
||||
"peak": 227500,
|
||||
"target": 287233,
|
||||
"peak": 263000,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 219,919 도달",
|
||||
"cur_price": 222000,
|
||||
"tranches": 1,
|
||||
"cur_price": 247500,
|
||||
"tranches": 2,
|
||||
"tranche_value": 6250000.0,
|
||||
"last_add_price": 220500
|
||||
"last_add_price": 232500
|
||||
},
|
||||
"064400": {
|
||||
"code": "064400",
|
||||
@@ -29,28 +29,28 @@
|
||||
"sources": [
|
||||
"interest"
|
||||
],
|
||||
"qty": 63,
|
||||
"entry_price": 88600,
|
||||
"qty": 121,
|
||||
"entry_price": 92386.77685950413,
|
||||
"entry_at": "2026-06-11T09:00:19.400261+09:00",
|
||||
"stop": 72800,
|
||||
"target": 120200,
|
||||
"peak": 93900,
|
||||
"stop": 72971,
|
||||
"target": 131218,
|
||||
"peak": 98500,
|
||||
"trailing_on": false,
|
||||
"scaled_out": false,
|
||||
"entry_path": "pullback",
|
||||
"entry_reason": "눌림목 지정가 96,991 도달",
|
||||
"cur_price": 92800,
|
||||
"tranches": 1,
|
||||
"cur_price": 92300,
|
||||
"tranches": 2,
|
||||
"tranche_value": 5607543.004772153,
|
||||
"last_add_price": 88600
|
||||
"last_add_price": 96500
|
||||
}
|
||||
},
|
||||
"realized_pnl": 0.0,
|
||||
"closed_trades": 0,
|
||||
"wins": 0,
|
||||
"peak_equity": 100454286.63000001,
|
||||
"max_drawdown": 0.0037524531072368034,
|
||||
"peak_equity": 102463190.33000001,
|
||||
"max_drawdown": 0.01628096875206872,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943852+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.462900+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.101926+09:00"
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
{"ts": "2026-06-11T09:00:19.398889+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 28, "cost": 6174926, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 269900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]}
|
||||
{"ts": "2026-06-11T09:00:19.400267+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 63, "cost": 5582637, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 120200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]}
|
||||
{"ts": "2026-06-12T09:00:29.731825+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 232500, "qty": 26, "cost": 6045907, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 195800, "target": 269900, "signals": [{"label": "손절선", "ok": true, "detail": "195,800 (현재 233,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 269,900"}, {"label": "추세(20일선)", "ok": true, "detail": "218,360"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -159 · 기 +1,154"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 232,128"}]}
|
||||
{"ts": "2026-06-12T09:00:29.733826+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 96500, "qty": 58, "cost": 5597840, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 72800, "target": 120200, "signals": [{"label": "손절선", "ok": true, "detail": "72,800 (현재 97,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,200"}, {"label": "추세(20일선)", "ok": true, "detail": "79,050"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +810 · 기 +60"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 95,072"}]}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"max_drawdown": 0.0,
|
||||
"last_exit": {},
|
||||
"created_at": "2026-06-11T09:00:01.943862+09:00",
|
||||
"updated_at": "2026-06-11T15:25:07.464153+09:00"
|
||||
"updated_at": "2026-06-12T15:25:03.103185+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