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
Fájl útvonala
/opt/bots/saturnus/app/templates/exchange_detail.html
Létezik most?
IGEN
Aktuális státusz
UNCHANGED
Méret
13607
Módosítás ideje
1775590888.8801856
Korábbi baseline időpont
1775590888.8801856
SHA256 rövid

Előnézet (első 120 sor)

{% extends "base.html" %}

{% block title %}Saturnus Bot – {{ (exchange or 'binance')|lower }}{% endblock %}
{% block header %}Saturnus Bot{% endblock %}

{% set _root = data if data is defined and data is not none else {} %}
{% set state = _root.get('state', _root) if _root is mapping else {} %}
{% set services = _root.get('services', {}) if _root is mapping else {} %}
{% set ft = _root.get('ft', {}) if _root is mapping else {} %}

{% set prices    = (state.get('prices') or {}) %}
{% set market    = (state.get('market') or {}) %}
{% set levels    = (state.get('levels') or {}) %}
{% set decision  = (state.get('decision') or {}) %}
{% set base      = state.get('base') %}
{% set peak      = state.get('peak') %}
{% set trough    = state.get('trough') %}
{% set last      = market.get('last') if market.get('last') is not none else state.get('last') %}
{% set prev_last = market.get('prev_last') if market.get('prev_last') is not none else state.get('prev_last') %}
{% set lowp      = market.get('low') if market.get('low') is not none else prices.get('low') %}
{% set inpos     = (state.get('in_position') if state.get('in_position') is not none else false) %}

{% block top_status %}
<div class="pill">
  <span class="dot {{ 'good' if inpos else 'bad' }}"></span>
  <span class="mono muted" id="top-position-pill">pozíció: {{ 'VAN' if inpos else 'NINCS' }}</span>
</div>
{% endblock %}

{% block content %}
<style>
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.card2{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;}
.h{font-weight:800;margin-bottom:10px;}
.excel{width:100%;border-collapse:collapse;margin-top:6px;}
.excel td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top;}
.excel td:first-child{opacity:.75;width:320px;}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:8px;}
.dot.good{background:#37d67a;}
.dot.bad{background:#888;}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}
.pill2{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);font-size:12px;}
.small-note{margin-top:10px;font-size:12px;opacity:.8;}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.btnline{display:flex;gap:8px;flex-wrap:wrap;}
button.svcbtn{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:#fff;
  padding:8px 14px;
  cursor:pointer;
  font-weight:700;
}
button.svcbtn.start{border-color:rgba(55,214,122,.4);}
button.svcbtn.stop{border-color:rgba(255,107,107,.4);}
.statuspill{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.14);
}
.statuspill.active{background:rgba(55,214,122,.10); border-color:rgba(55,214,122,.50);}
.statuspill.inactive{background:rgba(255,107,107,.10); border-color:rgba(255,107,107,.50);}
.statuspill.unknown{background:rgba(148,163,184,.10); border-color:rgba(148,163,184,.50);}
.inline-muted{opacity:.75;font-size:12px;}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width: 900px){ .service-grid{grid-template-columns:1fr;} }
</style>

{% macro fmt(v, digits=4) -%}
  {%- if v is undefined or v is none -%}
    —
  {%- else -%}
    {{ ("{0:." ~ digits ~ "f}").format(v|float) }}
  {%- endif -%}
{%- endmacro %}

<div class="grid">

  <div class="card2" style="grid-column:span 12;">
    <div class="h">Szolgáltatásvezérlés</div>

    <div class="service-grid">
      <div class="card2">
        <div class="h">Botmotor (runner)</div>
        <div class="controls">
          <span id="runner-active-pill" class="statuspill unknown">ismeretlen</span>
          <span class="inline-muted mono" id="runner-enabled-text">enabled: —</span>
          <span class="inline-muted mono" id="runner-substate-text">substate: —</span>
        </div>
        <div class="btnline" style="margin-top:12px;">
          <button class="svcbtn start" onclick="controlService('runner','start')">Runner Start</button>
          <button class="svcbtn stop" onclick="controlService('runner','stop')">Runner Stop</button>
        </div>
      </div>

      <div class="card2">
        <div class="h">Freqtrade</div>
        <div class="controls">
          <span id="freqtrade-active-pill" class="statuspill unknown">ismeretlen</span>
          <span class="inline-muted mono" id="freqtrade-enabled-text">enabled: —</span>
          <span class="inline-muted mono" id="freqtrade-substate-text">substate: —</span>
        </div>
        <div class="btnline" style="margin-top:12px;">
          <button class="svcbtn start" onclick="controlService('freqtrade','start')">Freqtrade Start</button>
          <button class="svcbtn stop" onclick="controlService('freqtrade','stop')">Freqtrade Stop</button>
        </div>
      </div>
    </div>

    <div class="btnline" style="margin-top:14px;">
      <button class="svcbtn start" onclick="controlService('all','start')">Összes indítás</button>
      <button class="svcbtn stop" onclick="controlService('all','stop')">Összes leállítás</button>
    </div>

    <div class="small-note mono" id="service-control-status">Várakozás...</div>
  </div>

Csak változott diff sorok

Teljes diff

[INFO] Nincs tartalmi eltérés a baseline és az aktuális fájl között.