- initialize
- login
- shutdown
- version
- last_error
- account_info
- terminal_info
- symbols_total
- symbols_get
- symbol_info
- symbol_info_tick
- symbol_select
- market_book_add
- market_book_get
- market_book_release
- copy_rates_from
- copy_rates_from_pos
- copy_rates_range
- copy_ticks_from
- copy_ticks_range
- terminal_info
- orders_total
- orders_get
- order_calc_margin
- order_calc_profit
- order_check
- order_send
- positions_total
- positions_get
- history_deals_total
- history_deals_get
- history_orders_total
- history_orders_get
order_check
检查是否有足够的资金执行所需的交易操作。检查结果以MqlTradeCheckResult结构返回。
order_check(
|
参数
request
[in] 描述所需交易操作的MqlTradeRequest类型结构。所需的未命名参数。下面描述了填写请求和枚举内容的示例。
返回值
检查结果以MqlTradeCheckResult结构返回。回答中的request字段包含传递到order_check()的交易请求的结构。
注意
成功发送请求不代表所请求的交易操作就可成功执行。order_check函数类似于OrderCheck。
ID |
描述 |
---|---|
TRADE_ACTION_DEAL |
以指定参数(设置市价单)下现价交易订单。 |
TRADE_ACTION_PENDING |
在指定条件下(挂单)下执行交易订单, |
TRADE_ACTION_SLTP |
更改持仓止损和止盈 |
TRADE_ACTION_MODIFY |
更改之前所下交易订单的参数 |
TRADE_ACTION_REMOVE |
删除之前所下的挂单 |
TRADE_ACTION_CLOSE_BY |
反向平仓 |
ID |
描述 |
---|---|
ORDER_FILLING_FOK |
这个执行规则意味着一笔订单只能按照指定的交易量执行。如果金融产品的必要数额目前在市场上不能满足,则该订单将不会被执行。所需交易量可以由几个可用报价组成。 |
ORDER_FILLING_IOC |
在订单中规定的交易量范围内,以市场最大交易量执行交易的协议。如果不能完全成交,则将执行可用交易量的订单,并取消其余交易量。 |
ORDER_FILLING_RETURN |
这个规则只适用于市价单(ORDER_TYPE_BUY和 ORDER_TYPE_SELL)、limit和stop limit订单(ORDER_TYPE_BUY_LIMIT、ORDER_TYPE_SELL_LIMIT、 ORDER_TYPE_BUY_STOP_LIMIT和ORDER_TYPE_SELL_STOP_LIMIT)以及市价执行和交易所执行模式的交易品种。如果部分成交,则剩余交易量的订单不会被取消,等待进一步处理。 在激活ORDER_TYPE_BUY_STOP_LIMIT和ORDER_TYPE_SELL_STOP_LIMIT订单期间,将创建一个对应的限价单ORDER_TYPE_BUY_LIMIT/ORDER_TYPE_SELL_LIMIT,并使用ORDER_FILLING_RETURN类型。 |
ID |
描述 |
---|---|
ORDER_TIME_GTC |
订单将一直保留在队列中,直到手动取消 |
ORDER_TIME_DAY |
订单仅在当前交易日有效 |
ORDER_TIME_SPECIFIED |
订单在指定日期之前有效 |
ORDER_TIME_SPECIFIED_DAY |
订单在指定日23:59:59之前有效。如果此时间不在交易时段内,到期将在最近的交易时间内处理。 |
例如:
import MetaTrader5 as mt5 |
另见
order_send、 OrderCheck、交易操作类型、交易请求结构、 交易请求结构的检查结果、 交易请求结构的结果