mirror of
https://github.com/Ichinga-Samuel/aiomql.git
synced 2026-07-28 04:37:43 +00:00
5.9 KiB
5.9 KiB
Get Data
Table of Contents
Cursor
class Cursor(NamedTuple)
A cursor to iterate over the data. Marks the current position in time.
BackTestData
@dataclass
class BackTestData
The data class to store the backtesting data.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str |
The name of the backtest data |
terminal |
dict |
The terminal information |
version |
tuple |
The version of the terminal |
account |
dict |
The account information |
symbols |
dict |
The symbols information |
ticks |
dict |
The ticks data |
rates |
dict |
The rates data |
span |
range |
The range of the data |
range |
range |
The range of the data |
orders |
dict |
The orders data |
deals |
dict |
The deals data |
positions |
dict |
The positions data |
open_positions |
set |
The open positions |
cursor |
Cursor |
The cursor to iterate over the data |
margins |
dict |
The margins data |
fully_loaded |
bool |
A flag to indicate if the data is fully loaded |
set_attrs
def set_attrs(**kwargs)
Set the attributes of the class on the instance.
fields
@property
def fields()
A list of the fields of the class.
GetData
class GetData
A class to get the backtesting data from the MetaTrader5 terminal.
Attributes:
| Name | Type | Description |
|---|---|---|
start |
datetime |
The start date of the data |
end |
datetime |
The end date of the data |
symbols |
Iterable[str] |
The symbols to get the data for |
timeframes |
Iterable[TimeFrame] |
The timeframes to get the data for |
name |
str |
The name of the backtest data |
range |
range |
The range of the data |
span |
range |
The span of the data |
data |
BackTestData |
The backtesting data |
mt5 |
MetaTrader |
The MetaTrader5 instance |
task_queue |
TaskQueue |
The task queue to handle the requests |
_init_
def __init__(*, start: datetime, end: datetime, symbols: Sequence[str],
timeframes: Sequence[TimeFrame], name: str = "")
Get the backtesting data from the MetaTrader5 terminal.
Parameters:
| Name | Type | Description |
|---|---|---|
start |
datetime |
The start date of the data |
end |
datetime |
The end date of the data |
symbols |
Sequence[str] |
The symbols to get the data for |
timeframes |
Sequence[TimeFrame] |
The timeframes to get the data for |
name |
str |
The name of the backtest data |
pickle_data
@classmethod
def pickle_data(cls, *, data: BackTestData, name: str | Path)
Pickle the data to a file.
Parameters:
| Name | Type | Description |
|---|---|---|
data |
BackTestData |
The data to pickle |
name |
str | Path |
The name of the file |
load_data
@classmethod
def load_data(cls, *, name: str | Path) -> BackTestData
Load the data from a file.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
str | Path |
The name of the file |
save_data
def save_data(*, name: str | Path = "")
Save the data to a file.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
str | Path |
The name of the file |
get_data
async def get_data(workers: int = None)
Use the task queue to get the data from the MetaTrader5 terminal.
Parameters:
| Name | Type | Description |
|---|---|---|
workers |
int |
The number of workers to use in the task queue |