- 精华
- 0
- 在线时间
- 42 小时
- UID
- 116427
- 积分
- 105
- 帖子
- 69
- 阅读权限
- 30
- 注册时间
- 2013-3-6
- 最后登录
- 2013-7-23
- 精华
- 0
- UID
- 116427
- 积分
- 105
- 帖子
- 69
- 主题
- 19
- 阅读权限
- 30
- 注册时间
- 2013-3-6
- 最后登录
- 2013-7-23
|
本帖最后由 习惯性乱跑1 于 2013-3-10 20:09 编辑
公式指南里有一段话:前面的章节,我们有说到 TradeBlazer 公式在实时行情中是每一个 Tick 执行一次公式的。于是,当公式每运行一次,只要在条件满足的情况下,A_SendOrder()都会执行一次,也就是都会发一次委托。这样一来,势必会因为重复的委托动作导致最后交易次数过多,与原意不符。
问题:
1)最后一根BAR如果使用BUY,SELLSHORT是不是也要与全局变量配套,否则也会重复委托?
2)最后一根K线使用BUY,SELLSHORT的时候能否通过A_GetOpenOrderCount取得未成交单的数量,也就是怎样判断是否成交以及通过什么指令撤单?
3)最后一根BAR如果使用BUY,SELLSHORT委托了而未成交,那么有关策略状态函数如CurrentEntries,LastEntryPrice,BarsSinceLastEntr,CurrentContracts等等是否还能取到正确的值?
提上面这些问题的原因是既想利用策略状态函数的方便性又担心BUY,SELLSHORT某些情况下会不会与实际账户不符出问题?
公式指南里还有个例子,是5分钟周期的,看不太懂:If(Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate))
4)Date[-1]!=InvalidInteger && Date!=Date[-1] ,这是不是说BAR不是最后一天的?
5)Date[-1]==InvalidInteger && Date < CurrentDate ,如果Date[-1]==InvalidInteger那说明BAR应该是最后一天的,但是Date < CurrentDate又说明不是最后一天的,请版主指点. |
|