diff --git a/pyproject.toml b/pyproject.toml index 466fc73..5b493d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "aiomql" -version = "4.0.15b2" +version = "4.0.15" readme = "README.md" requires-python = ">=3.13" classifiers = [ diff --git a/src/aiomql/core/backtesting/backtest_controller.py b/src/aiomql/core/backtesting/backtest_controller.py index e45cae0..632d1fe 100644 --- a/src/aiomql/core/backtesting/backtest_controller.py +++ b/src/aiomql/core/backtesting/backtest_controller.py @@ -38,9 +38,6 @@ class BackTestController: cls._instance.tasks = [] return cls._instance - def __init__(self): - signal(SIGINT, self.sigint_handler) - @property def backtest_engine(self): """Returns the backtest engine""" @@ -64,10 +61,6 @@ class BackTestController: """Returns the number of parties for the barrier""" return self.barrier.parties - def sigint_handler(self, sig, frame): - logger.warning("SIGINT received. Stopping the controller.") - self.backtest_engine.stop_testing = True - async def control(self): """The backtest controller. It controls the backtesting engine and the tasks that are being run. It acts as a synchronizer for the tasks and the backtesting engine. diff --git a/src/aiomql/core/config.py b/src/aiomql/core/config.py index 0067b1d..b433542 100644 --- a/src/aiomql/core/config.py +++ b/src/aiomql/core/config.py @@ -79,7 +79,7 @@ class Config: if not hasattr(cls, "_instance"): cls._lock = lock cls._instance = super().__new__(cls) - cls._instance.task_queue = TaskQueue(mode='infinite', workers=10) + cls._instance.task_queue = TaskQueue(mode='infinite') cls._instance.set_attributes(**cls._defaults) cls._instance._backtest_engine = None cls._instance.bot = None diff --git a/src/aiomql/core/constants.py b/src/aiomql/core/constants.py index 98fc50f..64d5671 100644 --- a/src/aiomql/core/constants.py +++ b/src/aiomql/core/constants.py @@ -102,7 +102,6 @@ class OrderType(Repr, IntEnum): Properties: opposite (int): Gets the opposite of an order type """ - __enum_name__ = "ORDER_TYPE" BUY = mt5.ORDER_TYPE_BUY SELL = mt5.ORDER_TYPE_SELL diff --git a/src/aiomql/lib/strategy.py b/src/aiomql/lib/strategy.py index 72d3f48..dd0dbcc 100644 --- a/src/aiomql/lib/strategy.py +++ b/src/aiomql/lib/strategy.py @@ -42,7 +42,7 @@ class Strategy(ABC): config: Config running: bool parameters = {} - backtest_controller = BackTestController + backtest_controller: BackTestController current_session = Session def __init__(self, *, symbol: Symbol, params: dict = None, sessions: Sessions = None, name=""): @@ -62,7 +62,8 @@ class Strategy(ABC): self.sessions = sessions or Sessions(sessions=[Session(start=0, end=dtime(hour=23, minute=59, second=59))]) self.config = Config() self.mt5 = MetaTrader() if self.config.mode != "backtest" else MetaBackTester() - self.backtest_controller = BackTestController() + if self.config.mode == "backtest": + self.backtest_controller = BackTestController() def __repr__(self): return f"{self.name}({self.symbol!r})" diff --git a/uv.lock b/uv.lock index 1b773af..82ea7c0 100644 --- a/uv.lock +++ b/uv.lock @@ -8,7 +8,7 @@ resolution-markers = [ [[package]] name = "aiomql" -version = "4.0.15b2" +version = "4.0.15" source = { virtual = "." } dependencies = [ { name = "metatrader5" },