07.4.4.1.9 Adaptive Market Diagnostics Layer
This commit is contained in:
@@ -158,6 +158,7 @@ def _build_waiting_text(state) -> str:
|
||||
signal_lines = [
|
||||
_signal_line(state),
|
||||
_market_state_line(state),
|
||||
_market_diagnostics_line(state),
|
||||
_entry_block_line(state),
|
||||
_execution_quality_line(state),
|
||||
*_signal_confidence_lines(state),
|
||||
@@ -261,6 +262,49 @@ def _market_state_line(state) -> str:
|
||||
return labels.get(market_state, "⏳ Рынок · Идёт анализ")
|
||||
|
||||
|
||||
def _market_diagnostics_line(state) -> str:
|
||||
strength = getattr(state, "market_trend_strength", None)
|
||||
quality = getattr(state, "market_trend_quality", None)
|
||||
phase = getattr(state, "market_phase", None)
|
||||
|
||||
if not strength and not quality and not phase:
|
||||
return ""
|
||||
|
||||
strength_labels = {
|
||||
"WEAK": "слабый",
|
||||
"NORMAL": "нормальный",
|
||||
"STRONG": "сильный",
|
||||
}
|
||||
|
||||
quality_labels = {
|
||||
"CLEAN": "чистый",
|
||||
"NOISY": "шумный",
|
||||
}
|
||||
|
||||
phase_labels = {
|
||||
"IMPULSE": "импульс",
|
||||
"PULLBACK": "откат",
|
||||
"RANGE": "флэт",
|
||||
"SQUEEZE": "сжатие",
|
||||
}
|
||||
|
||||
parts = []
|
||||
|
||||
if strength in strength_labels:
|
||||
parts.append(strength_labels[strength])
|
||||
|
||||
if quality in quality_labels:
|
||||
parts.append(quality_labels[quality])
|
||||
|
||||
if phase in phase_labels:
|
||||
parts.append(phase_labels[phase])
|
||||
|
||||
if not parts:
|
||||
return ""
|
||||
|
||||
return f"Анализ · {' · '.join(parts)}"
|
||||
|
||||
|
||||
def _compact_entry_block_message(message: str) -> str:
|
||||
normalized = message.strip().lower()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user