Files
aiomql/docs/trader.md
T
Ichinga Samuel 4b5f267509 version 3.12
2024-01-01 05:25:41 +01:00

3.7 KiB

Trader

Trader class module. Handles the creation of an order and the placing of trades

class Trader()

Base class for creating a Trader object. Handles the creation of an order and the placing of trades

Attributes:

Name Type Description Default
ram RAM Risk Assessment Management System. None
config Config Config instance. None
order Order Order instance. None
symbol Symbol The Financial Instrument None
params Dict A dictionary of parameters associated with the trade. None

__init__

def __init__(*, symbol: Symbol, ram: RAM = None)

Parameters:

Name Type Description Default
symbol Symbol The Financial instrument None
ram RAM Risk Assessment and Management instance None

create_order

async def create_order(*, order_type: OrderType, **kwargs)

Complete the order object with the required values. Creates a simple order.

Parameters:

Name Type Description Default
order_type OrderType Type of order None
kwargs keyword arguments as required for the specific trader

set_order_limits

async def set_order_limits(pips: float)

Sets the stop loss and take profit for the order. This method uses pips as defined for forex instruments.

Parameters:

Name Type Description Default
pips float Target pips None

set_trade_stop_levels

async def set_trade_stop_levels(*, points)

sets the stop loss and take profit for the order. This method uses points as defined by MetaTrader5 for all symbols.

Parameters:

Name Type Description Default
points float Target points None

send_order

async def send_order()

Sends the order to the broker for execution. Record the trade.

check_order

async def check_order()

Checks the status of the order before placing the trade.

Returns:

Type Description
bool True if order is valid else False

record_trade

async def record_trade(result: OrderSendResult)

Records the trade and the order details if Config.record_trades is true.

Parameters:

Name Type Description Default
result OrderSendResult The result of the placed order None

place_trade

async def place_trade(order_type: OrderType, params: dict = None, **kwargs)

Places a trade based on the order_type.

Parameters:

Name Type Description Default
order_type OrderType Type of order None
params dict parameters to be saved with the trade None
kwargs keyword arguments as required for the specific trader