- 注册时间
- 2013-9-23
- 在线时间
- 519 小时
- 最后登录
- 2022-4-4
- 阅读权限
- 200
管理员
MT4软件工程师
- 积分
- 6521
- 帖子
- 2771
- 主题
- 2761
|
TB编程教程 A_SendOrder函数用法
说明 | 针对当前公式应用的帐户、商品发送委托单。 | 语法 | Bool A_SendOrder(Integer BuyOrSell,Integer EntryOrExit,Numeric Lot,Numeric Price,Numeric StopPrice,Numeric ProfitPrice) | 参数 | BuyOrSell 发送委托单的买卖类型,取值为Enum_Buy或Enum_Sell之一;
EntryOrExit 发送委托单的开平仓类型,取值为Enum_Entry,Enum_Exit,Enum_ExitToday之一;
Lot 委托单的交易数量;
Price 委托单的交易价格。
StopPrice 止损触发单触发价格。
ProfitPrice 止盈触发单触发价格。 | 备注 | 针对当前公式应用的帐户、商品发送委托单,发送成功返回True,发送失败返回False。
该函数可针对叠加商品进行处理,可用Data1.A_SendOrder(...)进行调用。
该函数直接发单,不经过任何确认,并会在每次公式计算时发送,一般需要配合着仓位头寸进行条件处理,在不清楚运行机制的情况下,请慎用。
注:不能使用于历史测试,仅适用于实时行情交易。 | 示例 | 示例1:
If (A_BuyPosition()>0 && A_GetOpenOrderCount()==0)
{
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
...
}
注意:A_SendOrder不同于Buy和Sell指令,A_SendOrder只适用于实时行情中发送委托单,不可以用于测试。
示例2:控制A_SendOrder发单配合全局变量示例(开多仓)
if( /*开仓条件*/ && A_BuyPosition()==0 && GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
}
示例3:设置A_SendOrder止损止盈单触发价格(止盈触发价格7000,止损触发价格6000)
A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice,6000,7000); |
|
|