- 精华
- 0
- 在线时间
- 280 小时
- UID
- 5525
- 积分
- 1473
- 帖子
- 429
- 阅读权限
- 60
- 注册时间
- 2009-9-22
- 最后登录
- 2022-5-23
- 精华
- 0
- UID
- 5525
- 积分
- 1473
- 帖子
- 429
- 主题
- 93
- 阅读权限
- 60
- 注册时间
- 2009-9-22
- 最后登录
- 2022-5-23
|
经过几个月的学习,有了进步。
看到后来者还在努力,很高兴帮一把。
其实这两组指令没有本质上的区别,A_SendOrder指令只能用于实时交易,
而Buy、Sell、SellShort和BuyToCover指令即可用于实时又可用于回测,而且能自动避免同方向多次开仓。
如你已经Buy开仓,当再次出现信号而发出Buy指令时,该指令被忽略;
而如账户已持有多单,而信号发出SellShort(空头建仓)指令时,系统会自动发出多头平仓,在发出空头建仓指令。
由于指令太智能了,所以花的时间多(我估计不会多多少,毕竟电脑处理速度会很快,多几百条指令没有关系)。
A_SendOrder指令的好处是执行速度快,而且控制灵活。
但是需要用各自方法来控制信号出现时的重复发单问题(论坛上有很多方法)。
因此,A_SendOrder指令适合于实战高手。
给出我总结出的指令用法(MyBuyPos开仓数量,MyOffset价位偏移量):
// A_SendOrder(Enum_Buy, Enum_Entry, MyBuyPos ,Q_AskPrice + MyOffset) ;//多头开仓
// A_SendOrder(Enum_Sell, Enum_Exit, MyBuyPos ,Q_BidPrice - MyOffset); //多头平仓
// A_SendOrder(Enum_Sell, Enum_Entry, MySellPos ,Q_AskPrice + MyOffset); //空头开仓
// A_SendOrder(Enum_Buy, Enum_Exit, MySellPos ,Q_BidPrice - MyOffset); //空头平仓
不一定正确,请版主指正。 |
|