07.4.4.1.9.3 Market Phase Transition Fix

This commit is contained in:
2026-05-12 11:23:13 +03:00
parent fc50cadabf
commit 0dbb609b5a
7 changed files with 479 additions and 33 deletions

View File

@@ -124,6 +124,9 @@ class TrendStrategy:
"market_trend_strength": market.trend_strength.value,
"market_trend_quality": market.trend_quality.value,
"market_phase": market.market_phase.value,
"market_phase_direction": market.phase_direction.value,
"market_phase_change_percent": market.phase_change_percent,
"market_phase_reason": market.phase_reason,
"market_trend_gap_percent": market.trend_gap_percent,
"market_trend_consistency": market.trend_consistency,
"runtime_window_ttl_seconds": self._window_ttl_seconds,
@@ -155,18 +158,6 @@ class TrendStrategy:
},
)
if market.trend_quality == TrendQuality.NOISY:
return SignalResult(
signal=SignalType.HOLD,
reason="TREND есть, но движение шумное.",
confidence=0.0,
payload={
**base_payload,
"entry_block_reason": "NOISY_MARKET_TREND",
"entry_block_message": "шумный тренд",
},
)
if market.market_phase == MarketPhase.PULLBACK:
return SignalResult(
signal=SignalType.HOLD,
@@ -179,6 +170,18 @@ class TrendStrategy:
},
)
if market.trend_quality == TrendQuality.NOISY:
return SignalResult(
signal=SignalType.HOLD,
reason="TREND есть, но движение шумное.",
confidence=0.0,
payload={
**base_payload,
"entry_block_reason": "NOISY_MARKET_TREND",
"entry_block_message": "шумный тренд",
},
)
if len(prices) < self._window_size:
return SignalResult(
signal=SignalType.HOLD,