File size: 2,346 Bytes
f0a90ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- coding: utf-8 -*-
import streamlit as st
import pandas as pd
import numpy as np
import datetime
import matplotlib.pyplot as plt

from supertrader.config import PROJECT_ID, PHASE1_PROGRESS, PHASE1_DEADLINE, FEATURES
from supertrader.modules.technical import sma_signal

st.set_page_config(page_title="ابر انسان معامله‌گر — Ali_5_17", layout="wide")

st.title("🚀 ابر انسان معامله‌گر — اتاق فرمان")
st.caption(f"Project ID: {PROJECT_ID}")

# پیشرفت فاز ۱
st.subheader("📊 وضعیت فاز ۱")
progress_val = PHASE1_PROGRESS
st.progress(progress_val / 100.0, text=f"پیشرفت فاز ۱: {progress_val}%")

# شمارش معکوس تا پایان فاز ۱
deadline = datetime.date.fromisoformat(PHASE1_DEADLINE)
days_left = (deadline - datetime.date.today()).days
st.write(f"⏳ روزهای باقی‌مانده تا پایان فاز ۱: **{max(days_left,0)}** روز")

st.divider()

# داده نمونه و سیگنال SMA
st.subheader("📈 سیگنال نمونه (SMA Cross)")
np.random.seed(42)
n = 200
price = 100 + np.cumsum(np.random.randn(n))  # داده ساختگی
df = pd.DataFrame({"close": price})
sig = sma_signal(df, 10, 20)

fig, ax = plt.subplots()
ax.plot(sig.index, sig['close'])
ax.plot(sig.index, sig['sma_fast'])
ax.plot(sig.index, sig['sma_slow'])
ax.set_title("نمونه سیگنال SMA روی دادهٔ ساختگی")
st.pyplot(fig)

last_sig = sig['signal'].iloc[-1]
sig_text = "خرید" if last_sig == 1 else ("فروش" if last_sig == -1 else "خنثی")
st.info(f"آخرین سیگنال نمونه: **{sig_text}** (فقط دمو)")

st.divider()

# بارگذاری و نمایش گزارش‌ها
st.subheader("🗂️ گزارش‌ها")
uploaded = st.file_uploader("فایل گزارش (TXT یا PDF) را بارگذاری کن", type=["txt","pdf"])
if uploaded is not None:
    st.success("گزارش بارگذاری شد ✅")
    if uploaded.type == "text/plain":
        content = uploaded.read().decode("utf-8", errors="ignore")
        st.text_area("متن گزارش", content, height=200)
    else:
        st.write("فایل PDF بارگذاری شد. (نمایش پیش‌نمایش در نسخه‌های بعدی)")

st.caption("نسخهٔ اولیه — آمادهٔ اتصال به حساب دمو در فاز ۲")