summaryrefslogtreecommitdiff
path: root/services/strategy-engine/strategies/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'services/strategy-engine/strategies/base.py')
-rw-r--r--services/strategy-engine/strategies/base.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/services/strategy-engine/strategies/base.py b/services/strategy-engine/strategies/base.py
new file mode 100644
index 0000000..06101d0
--- /dev/null
+++ b/services/strategy-engine/strategies/base.py
@@ -0,0 +1,17 @@
+from abc import ABC, abstractmethod
+from shared.models import Candle, Signal
+
+
+class BaseStrategy(ABC):
+ name: str = "base"
+
+ @abstractmethod
+ def on_candle(self, candle: Candle) -> Signal | None:
+ pass
+
+ @abstractmethod
+ def configure(self, params: dict) -> None:
+ pass
+
+ def reset(self) -> None:
+ pass