From 87bf67bac771181aeb4f4c5bb11fae8f343c12bb Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Thu, 2 Apr 2026 09:56:42 +0900 Subject: feat: wire sentiment into engine + add EMA/bullish candle entry filters --- .../strategy-engine/tests/test_sentiment_wiring.py | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 services/strategy-engine/tests/test_sentiment_wiring.py (limited to 'services/strategy-engine/tests/test_sentiment_wiring.py') diff --git a/services/strategy-engine/tests/test_sentiment_wiring.py b/services/strategy-engine/tests/test_sentiment_wiring.py new file mode 100644 index 0000000..f1a816f --- /dev/null +++ b/services/strategy-engine/tests/test_sentiment_wiring.py @@ -0,0 +1,31 @@ +"""Test sentiment is wired into strategy engine.""" +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src")) +sys.path.insert(0, str(Path(__file__).resolve().parents[1])) + +from shared.sentiment import SentimentData +from strategies.asian_session_rsi import AsianSessionRsiStrategy + + +def test_strategy_accepts_sentiment(): + s = AsianSessionRsiStrategy() + data = SentimentData(fear_greed_value=20, fear_greed_label="Extreme Fear") + s.update_sentiment(data) + assert s._sentiment is not None + assert s._sentiment.fear_greed_value == 20 + + +def test_strategy_blocks_on_extreme_greed(): + s = AsianSessionRsiStrategy() + data = SentimentData(fear_greed_value=85) + s.update_sentiment(data) + assert not s._check_sentiment() + + +def test_strategy_allows_on_fear(): + s = AsianSessionRsiStrategy() + data = SentimentData(fear_greed_value=20) + s.update_sentiment(data) + assert s._check_sentiment() -- cgit v1.2.3