mirror of
https://github.com/Ichinga-Samuel/aiomql.git
synced 2026-08-03 15:27:44 +00:00
4.0.15
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "aiomql"
|
||||
version = "4.0.15b2"
|
||||
version = "4.0.15"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.13"
|
||||
classifiers = [
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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})"
|
||||
|
||||
Reference in New Issue
Block a user