Spaces:
Running
Running
johnkim commited on
Commit ·
b857a2c
1
Parent(s): 1b4271b
메뉴 순서 변경
Browse files
app.py
CHANGED
|
@@ -5,14 +5,14 @@
|
|
| 5 |
탭 순서:
|
| 6 |
1) 전량매도 최후보루(다종목) — confirm_sell_backtest.py 로직 그대로
|
| 7 |
2) 볼린저 카운트 (bollinger_count_debug.py) — 최근 1년 자동
|
| 8 |
-
3)
|
| 9 |
-
4)
|
| 10 |
|
| 11 |
원칙:
|
| 12 |
- 전량매도: confirm_sell_backtest.py 를 import (백테스터와 100% 동일 로직)
|
| 13 |
- 볼린저: 데스크탑 스크립트 소스를 읽어 TICKER만 바꿔 exec, 출력 그대로 캡처
|
| 14 |
- RS 매도: final_sell_monitor_rs.analyze_one 호출 (삼성·ETF처럼 이격으로 안 잡히는 종목)
|
| 15 |
-
-
|
| 16 |
- 시장(KOSPI/KOSDAQ): market_map.csv 로 자동판별 (KRX StockListing 안 부름)
|
| 17 |
|
| 18 |
같이 올릴 파일: app.py, confirm_sell_backtest.py, bollinger_count_debug.py,
|
|
@@ -453,7 +453,7 @@ def run_status(text):
|
|
| 453 |
return "\n\n".join(out) if out else "결과 없음"
|
| 454 |
|
| 455 |
|
| 456 |
-
# UI (탭 순서: 최후보루 → 볼린저 → 삼성·ETF(RS)
|
| 457 |
# ====================================================================
|
| 458 |
with gr.Blocks(title="WTW Outlook") as demo:
|
| 459 |
gr.Markdown("# 📊 WTW Outlook")
|
|
@@ -473,6 +473,14 @@ with gr.Blocks(title="WTW Outlook") as demo:
|
|
| 473 |
b_out = gr.Code(label="결과")
|
| 474 |
b_btn.click(run_boll, inputs=b_in, outputs=b_out)
|
| 475 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 476 |
with gr.Tab("삼성·ETF 매도 (RS)"):
|
| 477 |
gr.Markdown("삼성전자·ETF처럼 이격으로 안 잡히는 종목의 RS 매도신호. (위아래 매수 구간이면 억제됨)")
|
| 478 |
rs_in = gr.Textbox(label="종목코드 또는 종목명 (여러 개는 공백/줄바꿈/쉼표로)",
|
|
@@ -481,13 +489,5 @@ with gr.Blocks(title="WTW Outlook") as demo:
|
|
| 481 |
rs_out = gr.Code(label="결과")
|
| 482 |
rs_btn.click(run_rs, inputs=rs_in, outputs=rs_out)
|
| 483 |
|
| 484 |
-
with gr.Tab("지금 상태"):
|
| 485 |
-
gr.Markdown("종목의 **일봉 지금 상태**를 알려줘 (동산 그리는 중 / 위아래 N번째 / 매수 멈춤 등). 여러 종목 가능.")
|
| 486 |
-
s_in = gr.Textbox(label="종목코드 또는 종목명 (여러 개는 공백/줄바꿈/쉼표로)",
|
| 487 |
-
value="096770 DN오토모티브", lines=3)
|
| 488 |
-
s_btn = gr.Button("지금 상태 확인", variant="primary")
|
| 489 |
-
s_out = gr.Markdown()
|
| 490 |
-
s_btn.click(run_status, inputs=s_in, outputs=s_out)
|
| 491 |
-
|
| 492 |
if __name__ == "__main__":
|
| 493 |
demo.launch()
|
|
|
|
| 5 |
탭 순서:
|
| 6 |
1) 전량매도 최후보루(다종목) — confirm_sell_backtest.py 로직 그대로
|
| 7 |
2) 볼린저 카운트 (bollinger_count_debug.py) — 최근 1년 자동
|
| 8 |
+
3) 일봉 상태 — buy_engine_dipfix.run 후 be.LAST_STATUS (일봉 현 국면 한 줄)
|
| 9 |
+
4) 삼성·ETF 매도 (RS) — final_sell_monitor_rs.py (RS_A4, 위아래 억제)
|
| 10 |
|
| 11 |
원칙:
|
| 12 |
- 전량매도: confirm_sell_backtest.py 를 import (백테스터와 100% 동일 로직)
|
| 13 |
- 볼린저: 데스크탑 스크립트 소스를 읽어 TICKER만 바꿔 exec, 출력 그대로 캡처
|
| 14 |
- RS 매도: final_sell_monitor_rs.analyze_one 호출 (삼성·ETF처럼 이격으로 안 잡히는 종목)
|
| 15 |
+
- 일봉 상태: buy_engine_dipfix.run(df,'1day') 실행 후 be.LAST_STATUS 표시 (일봉만)
|
| 16 |
- 시장(KOSPI/KOSDAQ): market_map.csv 로 자동판별 (KRX StockListing 안 부름)
|
| 17 |
|
| 18 |
같이 올릴 파일: app.py, confirm_sell_backtest.py, bollinger_count_debug.py,
|
|
|
|
| 453 |
return "\n\n".join(out) if out else "결과 없음"
|
| 454 |
|
| 455 |
|
| 456 |
+
# UI (탭 순서: 최후보루 → 볼린저 → 일봉 상태 → 삼성·ETF(RS))
|
| 457 |
# ====================================================================
|
| 458 |
with gr.Blocks(title="WTW Outlook") as demo:
|
| 459 |
gr.Markdown("# 📊 WTW Outlook")
|
|
|
|
| 473 |
b_out = gr.Code(label="결과")
|
| 474 |
b_btn.click(run_boll, inputs=b_in, outputs=b_out)
|
| 475 |
|
| 476 |
+
with gr.Tab("일봉 상태"):
|
| 477 |
+
gr.Markdown("종목의 **일봉 지금 상태**를 알려줘 (동산 그리는 중 / 위아래 N번째 / 매수 멈춤 등). 여러 종목 가능.")
|
| 478 |
+
s_in = gr.Textbox(label="종목코드 또는 종목명 (여러 개는 공백/줄바꿈/쉼표로)",
|
| 479 |
+
value="096770 DN오토모티브", lines=3)
|
| 480 |
+
s_btn = gr.Button("일봉 상태 확인", variant="primary")
|
| 481 |
+
s_out = gr.Markdown()
|
| 482 |
+
s_btn.click(run_status, inputs=s_in, outputs=s_out)
|
| 483 |
+
|
| 484 |
with gr.Tab("삼성·ETF 매도 (RS)"):
|
| 485 |
gr.Markdown("삼성전자·ETF처럼 이격으로 안 잡히는 종목의 RS 매도신호. (위아래 매수 구간이면 억제됨)")
|
| 486 |
rs_in = gr.Textbox(label="종목코드 또는 종목명 (여러 개는 공백/줄바꿈/쉼표로)",
|
|
|
|
| 489 |
rs_out = gr.Code(label="결과")
|
| 490 |
rs_btn.click(run_rs, inputs=rs_in, outputs=rs_out)
|
| 491 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 492 |
if __name__ == "__main__":
|
| 493 |
demo.launch()
|