mirror of
https://github.com/Ichinga-Samuel/aiomql.git
synced 2026-08-01 14:37:42 +00:00
3.7 KiB
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 |