Fájl részletek

Ezen az oldalon egy konkrét fájl aktuális állapotát tudod megnézni.

Vissza a fájltérképhez Csak változott Stratégia-labor Monitor főoldal ← Előző módosult Következő módosult →
Fájl útvonala
/opt/bots/saturnus_monitor/app/templates/dashboard.html
Létezik most?
IGEN
Aktuális státusz
MODIFIED
Méret
13127
Módosítás ideje
1778952032.1747887
Korábbi baseline időpont
1775672480.146238
SHA256 rövid

Előnézet (első 120 sor)

<!doctype html>
<html lang="hu">
<head>
  <meta charset="utf-8">
  <title>Saturnus Monitor</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
    body {
      font-family: Arial, sans-serif;
      margin: 20px;
      background: #f5f6fa;
      color: #222;
    }
    h1, h2, h3 {
      margin-top: 0;
    }
    .grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 16px;
      margin-bottom: 20px;
    }
    .card {
      background: #fff;
      border-radius: 14px;
      padding: 16px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    }
    .k {
      color: #666;
      font-size: 13px;
      margin-bottom: 4px;
    }
    .v {
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 8px;
    }
    .small {
      font-size: 13px;
      color: #555;
    }
    .muted {
      color: #777;
    }
    .actions a, .actions button {
      display: inline-block;
      margin-right: 10px;
      margin-top: 8px;
      text-decoration: none;
      background: #1f6feb;
      color: #fff;
      padding: 8px 12px;
      border-radius: 8px;
      font-size: 14px;
      border: none;
      cursor: pointer;
    }
    .secondary-link {
      background: #374151 !important;
    }
    .chart-card {
      background: #fff;
      border-radius: 14px;
      padding: 16px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.08);
      margin-bottom: 20px;
    }
    table {
      width: 100%;
      border-collapse: collapse;
      background: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 2px 10px rgba(0,0,0,0.08);
      margin-bottom: 20px;
    }
    th, td {
      padding: 10px 8px;
      border-bottom: 1px solid #eee;
      text-align: left;
      font-size: 13px;
      vertical-align: top;
    }
    th {
      background: #eef3ff;
    }
    .tag-rule {
      display: inline-block;
      background: #eef3ff;
      color: #194fb5;
      padding: 3px 8px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: bold;
    }
    .tag-trade {
      display: inline-block;
      background: #edfdf3;
      color: #0a7f2e;
      padding: 3px 8px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: bold;
    }
    #recalc-msg {
      min-height: 18px;
    }
  </style>
</head>
<body>
  <h1>Saturnus Monitor</h1>
  <p class="small">Read-only monitor UI. Nem avatkozik be a bot működésébe.</p>

  <div style="margin: 14px 0 18px 0; padding: 12px; border: 1px solid #dbe4ff; border-radius: 10px; background: #f8fbff;">
    <form method="get" action="" style="display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; margin:0;">
      <div>
        <label for="rules_source" style="display:block; font-size:12px; font-weight:bold; color:#194fb5; margin-bottom:6px;">
          Szabályforrás
        </label>

Csak változott diff sorok

--- baseline +++ current @@ -242,6 +242,69 @@ + + <h2>MA Trendmotor (Phase-1)</h2> + + <div class="grid"> + + <div class="card"> + <div class="k">Trend state</div> + <div class="v">{{ state_raw.get("trend_state", "—") }}</div> + + <div class="k">MA trend state</div> + <div class="small">{{ state_raw.get("ma_trend_state", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Raw slope</div> + <div class="v">{{ state_raw.get("ma_slope_raw", "—") }}</div> + + <div class="k">EMA slope</div> + <div class="small">{{ state_raw.get("ma_slope_ema", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Raw state</div> + <div class="v">{{ state_raw.get("ma_raw_state", "—") }}</div> + + <div class="k">Warmup ready</div> + <div class="small">{{ state_raw.get("ma_warmup_ready", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Votes</div> + + <div class="small"> + Rising: {{ state_raw.get("ma_votes_rising", "—") }} + </div> + + <div class="small"> + Falling: {{ state_raw.get("ma_votes_falling", "—") }} + </div> + + <div class="small"> + Sideways: {{ state_raw.get("ma_votes_sideways", "—") }} + </div> + </div> + + <div class="card"> + <div class="k">Confirm window</div> + <div class="v">{{ state_raw.get("ma_confirm_window", "—") }}</div> + + <div class="k">Confirm need</div> + <div class="small">{{ state_raw.get("ma_confirm_need", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Enter band</div> + <div class="v">{{ state_raw.get("ma_band_enter_pct", "—") }}</div> + + <div class="k">Exit band</div> + <div class="small">{{ state_raw.get("ma_band_exit_pct", "—") }}</div> + </div> + + </div> +

Teljes diff

--- baseline +++ current @@ -242,6 +242,69 @@ </p> <p class="small muted" id="analysis-note">{{ analysis_summary.note }}</p> + + <h2>MA Trendmotor (Phase-1)</h2> + + <div class="grid"> + + <div class="card"> + <div class="k">Trend state</div> + <div class="v">{{ state_raw.get("trend_state", "—") }}</div> + + <div class="k">MA trend state</div> + <div class="small">{{ state_raw.get("ma_trend_state", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Raw slope</div> + <div class="v">{{ state_raw.get("ma_slope_raw", "—") }}</div> + + <div class="k">EMA slope</div> + <div class="small">{{ state_raw.get("ma_slope_ema", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Raw state</div> + <div class="v">{{ state_raw.get("ma_raw_state", "—") }}</div> + + <div class="k">Warmup ready</div> + <div class="small">{{ state_raw.get("ma_warmup_ready", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Votes</div> + + <div class="small"> + Rising: {{ state_raw.get("ma_votes_rising", "—") }} + </div> + + <div class="small"> + Falling: {{ state_raw.get("ma_votes_falling", "—") }} + </div> + + <div class="small"> + Sideways: {{ state_raw.get("ma_votes_sideways", "—") }} + </div> + </div> + + <div class="card"> + <div class="k">Confirm window</div> + <div class="v">{{ state_raw.get("ma_confirm_window", "—") }}</div> + + <div class="k">Confirm need</div> + <div class="small">{{ state_raw.get("ma_confirm_need", "—") }}</div> + </div> + + <div class="card"> + <div class="k">Enter band</div> + <div class="v">{{ state_raw.get("ma_band_enter_pct", "—") }}</div> + + <div class="k">Exit band</div> + <div class="small">{{ state_raw.get("ma_band_exit_pct", "—") }}</div> + </div> + + </div> + <h2>Aktuális állapot</h2> <div class="grid">