summaryrefslogtreecommitdiff
path: root/services/strategy-engine/src/strategy_engine
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-04-02 10:26:52 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-04-02 10:26:52 +0900
commit53cadcf7e34f05f77082e84f0696b56bcbcbae36 (patch)
treee02650e10c4d5727bc1e32e27788c17327fa46f7 /services/strategy-engine/src/strategy_engine
parentf5521da2876a2c19afc24f370b3258f2be95f81a (diff)
refactor: remove all crypto/Binance code, update to US stock symbols
Diffstat (limited to 'services/strategy-engine/src/strategy_engine')
-rw-r--r--services/strategy-engine/src/strategy_engine/main.py30
1 files changed, 0 insertions, 30 deletions
diff --git a/services/strategy-engine/src/strategy_engine/main.py b/services/strategy-engine/src/strategy_engine/main.py
index d62f886..30de528 100644
--- a/services/strategy-engine/src/strategy_engine/main.py
+++ b/services/strategy-engine/src/strategy_engine/main.py
@@ -8,7 +8,6 @@ from shared.healthcheck import HealthCheckServer
from shared.logging import setup_logging
from shared.metrics import ServiceMetrics
from shared.notifier import TelegramNotifier
-from shared.sentiment import SentimentProvider
from strategy_engine.config import StrategyConfig
from strategy_engine.engine import StrategyEngine
@@ -22,28 +21,6 @@ STRATEGIES_DIR = Path(__file__).parent.parent.parent.parent / "strategies"
# order-executor: +2 (8082), portfolio-manager: +3 (8083)
HEALTH_PORT_OFFSET = 1
-SENTIMENT_REFRESH_INTERVAL = 300 # 5 minutes
-
-
-async def sentiment_loop(provider: SentimentProvider, strategies: list, log) -> None:
- """Periodically fetch sentiment and update strategies that support it."""
- while True:
- try:
- sentiment = await provider.get_sentiment("SOL")
- log.info(
- "sentiment_updated",
- fear_greed=sentiment.fear_greed_value,
- news=sentiment.news_sentiment,
- netflow=sentiment.exchange_netflow,
- should_block=sentiment.should_block,
- )
- for strategy in strategies:
- if hasattr(strategy, "update_sentiment"):
- strategy.update_sentiment(sentiment)
- except Exception as exc:
- log.warning("sentiment_fetch_failed", error=str(exc))
- await asyncio.sleep(SENTIMENT_REFRESH_INTERVAL)
-
async def process_symbol(engine: StrategyEngine, stream: str, log) -> None:
"""Process candles for a single symbol stream."""
@@ -74,8 +51,6 @@ async def run() -> None:
engine = StrategyEngine(broker=broker, strategies=strategies)
- provider = SentimentProvider()
-
health = HealthCheckServer(
"strategy-engine",
port=config.health_port + HEALTH_PORT_OFFSET,
@@ -87,15 +62,11 @@ async def run() -> None:
tasks = []
try:
- # Sentiment updater
- tasks.append(asyncio.create_task(sentiment_loop(provider, strategies, log)))
- # Symbol processors
for symbol in config.symbols:
stream = f"candles.{symbol.replace('/', '_')}"
task = asyncio.create_task(process_symbol(engine, stream, log))
tasks.append(task)
- # Wait for all tasks (they run forever until cancelled)
await asyncio.gather(*tasks)
except Exception as exc:
log.error("fatal_error", error=str(exc))
@@ -106,7 +77,6 @@ async def run() -> None:
task.cancel()
metrics.service_up.labels(service="strategy-engine").set(0)
await notifier.close()
- await provider.close()
await broker.close()