mirror of
https://github.com/Ichinga-Samuel/aiomql.git
synced 2026-08-18 06:18:06 +00:00
add testdata class
This commit is contained in:
@@ -19,7 +19,8 @@ from ...utils import backoff_decorator
|
|||||||
logger = getLogger(__name__)
|
logger = getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class GetData(MetaTrader):
|
class GetData:
|
||||||
|
config = Config()
|
||||||
|
|
||||||
def __init__(self, start: datetime, end: datetime, timeframes: set[TimeFrame], symbols: set[str],
|
def __init__(self, start: datetime, end: datetime, timeframes: set[TimeFrame], symbols: set[str],
|
||||||
interval: int = 60, name: str = '', tz: str = 'Etc/UTC'):
|
interval: int = 60, name: str = '', tz: str = 'Etc/UTC'):
|
||||||
@@ -37,17 +38,26 @@ class GetData(MetaTrader):
|
|||||||
self.span = range(start := int(self.start.timestamp()), diff + start)
|
self.span = range(start := int(self.start.timestamp()), diff + start)
|
||||||
self.mt5 = MetaTrader()
|
self.mt5 = MetaTrader()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def load_data(cls, name: str = '') -> dict:
|
||||||
|
""""""
|
||||||
|
name = name
|
||||||
|
file = open(f'{cls.config.root}/data/{name}', 'rb')
|
||||||
|
data = pickle.load(file)
|
||||||
|
file.close()
|
||||||
|
return data
|
||||||
|
|
||||||
async def get_test_data(self) -> dict:
|
async def get_test_data(self) -> dict:
|
||||||
""""""
|
""""""
|
||||||
data = {}
|
data = {}
|
||||||
rates, ticks, prices = await asyncio.gather(self.get_symbols_rates(), self.get_symbols_ticks(),
|
rates, ticks, prices, symbols, account = await asyncio.gather(self.get_symbols_rates(), self.get_symbols_ticks(),
|
||||||
self.get_symbols_prices())
|
self.get_symbols_prices(), self.get_symbols_info(),
|
||||||
|
self.get_account_info())
|
||||||
data['rates'] = rates
|
data['rates'] = rates
|
||||||
data['ticks'] = ticks
|
data['ticks'] = ticks
|
||||||
data['prices'] = prices
|
data['prices'] = prices
|
||||||
data['symbols'] = await self.get_symbols_info()
|
data['symbols'] = symbols
|
||||||
data['account'] = self.get_account_info()
|
data['account'] = account
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@@ -58,14 +68,6 @@ class GetData(MetaTrader):
|
|||||||
pickle.dump(data, fh)
|
pickle.dump(data, fh)
|
||||||
fh.close()
|
fh.close()
|
||||||
|
|
||||||
def load_data(self, name: str = '') -> dict:
|
|
||||||
""""""
|
|
||||||
name = name or self.name
|
|
||||||
file = open(f'{self.config.root}/data/{name}', 'rb')
|
|
||||||
data = pickle.load(file)
|
|
||||||
file.close()
|
|
||||||
return data
|
|
||||||
|
|
||||||
async def get_symbols_info(self):
|
async def get_symbols_info(self):
|
||||||
""""""
|
""""""
|
||||||
tasks = [self.get_symbol_info(symbol) for symbol in self.symbols]
|
tasks = [self.get_symbol_info(symbol) for symbol in self.symbols]
|
||||||
|
|||||||
Reference in New Issue
Block a user