summaryrefslogtreecommitdiff
path: root/services/strategy-engine/strategies/base.py
blob: 06101d0c465c4a1b328f35ed0b2c2f890ae97a97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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