Files
aiomql/docs/core/backtesting/get_data.md
T
Ichinga Samuel 2a55f49f78 v4
2024-11-13 04:29:37 +01:00

4.2 KiB

Table of Contents

get_data

Cursor Objects

class Cursor(NamedTuple)

A cursor to iterate over the data. Marks the current position.

BackTestData Objects

@dataclass
class BackTestData()

The data class to store the backtesting data.

Attributes:

  • 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 Objects

class GetData()

A class to get the backtesting data from the MetaTrader5 terminal.

Attributes:

  • 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.
  • 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.

Arguments:

  • 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.

Arguments:

  • data BackTestData - The data to pickle.
  • name str | Path - The name of the file to pickle the data to.

load_data

@classmethod
def load_data(cls, *, name: str | Path) -> BackTestData

Load the data from a file.

Arguments:

  • name str | Path - The name of the file to load the data from.

save_data

def save_data(*, name: str | Path = "")

Save the data to a file.

Arguments:

  • name str | Path - The name of the file to save the data to. If not provided, the name of the data is used.

get_data

async def get_data(workers: int = None)

Use the task queue to get the data from the MetaTrader5 terminal.

Arguments:

  • workers int - The number of workers to use in the task queue. If not provided, the default number of workers is used.