feat: 07.4.1 base strategy + 07.4.2 strategy registry + docs sync

This commit is contained in:
2026-04-29 23:26:46 +03:00
parent 7c8895c3a5
commit 80f29443d4
22 changed files with 961 additions and 237 deletions

View File

@@ -0,0 +1,30 @@
# app/src/trading/strategies/registry.py
from __future__ import annotations
from src.trading.strategies.base import BaseStrategy
from src.trading.strategies.hold import HoldStrategy
class StrategyRegistry:
# доступные стратегии
_strategies: dict[str, BaseStrategy] = {
"HOLD": HoldStrategy(),
"TREND": HoldStrategy(),
"GRID": HoldStrategy(),
"SCALP": HoldStrategy(),
}
# получить стратегию по имени
@classmethod
def get(cls, name: str | None) -> BaseStrategy:
if not name:
return cls._strategies["HOLD"]
normalized_name = name.strip().upper()
return cls._strategies.get(normalized_name, cls._strategies["HOLD"])
# получить список доступных стратегий
@classmethod
def names(cls) -> list[str]:
return sorted(cls._strategies.keys())