Use Torch forecast as primary strategy

This commit is contained in:
Codex
2026-06-22 05:21:05 +03:00
parent 85fecbfc36
commit 544b0f4409
9 changed files with 374 additions and 20 deletions
+5 -6
View File
@@ -200,7 +200,7 @@ class CryptoSpotBot:
return enriched
def _close_paper_positions_outside_symbol_universe(self) -> None:
if self.settings.strategy_mode != "trend_macd" or self.settings.trading_mode != "paper":
if self.settings.strategy_mode not in {"trend_macd", "torch_forecast"} or self.settings.trading_mode != "paper":
return
allowed_symbols = set(self.market.symbols or self.settings.symbols)
for position in list(self.broker.open_positions()):
@@ -218,10 +218,10 @@ class CryptoSpotBot:
self.broker.sell(
position,
synthetic_ticker,
"trend_macd: закрыта старая paper-позиция вне списка разрешенных пар",
f"{self.settings.strategy_mode}: закрыта старая paper-позиция вне списка разрешенных пар",
)
self.storage.event(
f"{position.symbol}: старая paper-позиция закрыта при переходе на trend_macd"
f"{position.symbol}: старая paper-позиция закрыта при переходе на {self.settings.strategy_mode}"
)
def _reduction_candidate_id(self, prices: dict[str, float]) -> int | None:
@@ -242,7 +242,7 @@ class CryptoSpotBot:
return worst.id
def _update_patterns(self) -> None:
if self.settings.strategy_mode == "trend_macd" or not self.settings.pattern_analysis_enabled:
if self.settings.strategy_mode in {"trend_macd", "torch_forecast"} or not self.settings.pattern_analysis_enabled:
self.market.patterns = {}
return
patterns: dict[str, dict] = {}
@@ -256,8 +256,7 @@ class CryptoSpotBot:
def _update_forecasts(self) -> None:
if (
self.settings.strategy_mode == "trend_macd"
or self.forecaster is None
self.forecaster is None
or not self.settings.time_series_forecast_enabled
):
self.market.forecasts = {}