|
|
@@ -615,14 +615,10 @@ class Strategy(Strategy):
|
|
|
# reflects the same inputs the strategy would use on the next tick.
|
|
|
live_step_pct = float(self.state.get("grid_step_pct") or 0.0)
|
|
|
live_atr_pct = float(self.state.get("atr_percent") or 0.0)
|
|
|
- live_atr_tf_pct = float(self.state.get("atr_percent_tf") or 0.0)
|
|
|
- live_atr_15m_pct = float(self.state.get("atr_percent_15m") or 0.0)
|
|
|
try:
|
|
|
self._refresh_balance_snapshot()
|
|
|
live_step_pct = self._grid_step_pct()
|
|
|
live_atr_pct = float(self.state.get("atr_percent") or live_atr_pct)
|
|
|
- live_atr_tf_pct = float(self.state.get("atr_percent_tf") or live_atr_tf_pct)
|
|
|
- live_atr_15m_pct = float(self.state.get("atr_percent_15m") or live_atr_15m_pct)
|
|
|
except Exception as exc:
|
|
|
self._log(f"render refresh failed: {exc}")
|
|
|
|
|
|
@@ -634,9 +630,7 @@ class Strategy(Strategy):
|
|
|
{"type": "metric", "label": "state", "value": self.state.get("last_action", "idle")},
|
|
|
{"type": "metric", "label": "orders", "value": len(self.state.get("orders") or [])},
|
|
|
{"type": "metric", "label": "open orders", "value": self.state.get("open_order_count", 0)},
|
|
|
- {"type": "metric", "label": "ATR %", "value": round(live_atr_pct, 4)},
|
|
|
- {"type": "metric", "label": f"ATR {self.config.get('volatility_timeframe', '1h')}", "value": round(live_atr_tf_pct, 4)},
|
|
|
- {"type": "metric", "label": "ATR 15m", "value": round(live_atr_15m_pct, 4)},
|
|
|
+ {"type": "metric", "label": f"ATR({self.config.get('volatility_timeframe', '1h')}) %", "value": round(live_atr_pct, 4)},
|
|
|
{"type": "metric", "label": "grid step %", "value": round(live_step_pct * 100.0, 4)},
|
|
|
{"type": "metric", "label": "1d", "value": ((self.state.get('regimes') or {}).get('1d') or {}).get('trend', {}).get('state', 'n/a')},
|
|
|
{"type": "metric", "label": "4h", "value": ((self.state.get('regimes') or {}).get('4h') or {}).get('trend', {}).get('state', 'n/a')},
|