公式条件满足后A交易函数发单,最短在几个tick内,相关发单状态函数会有即时的有反应?
比如未成交函数,持仓函数等,或者有哪一个发单状态函数会在A交易函数发单后,在下一个tick到来时发单状态参数就可以获取?以作为停止A函数发单的判定条件?
如果我问题没有能描述清楚请继续提问我。
先谢谢大家!
谢谢大家!问题已经解决。
vars
global numeric condionn;
onint()
{
condion=0;
}
onbar(ArrayRef<Integer> indexs)
{
if(condion==0 and barstatus==2 and .........)
{
a_sendorder();
condion=1;
}
}
只发一次单,发单情况你可以在别的事件驱动里操作
非常感谢!我再理解理解。
if(condion==0 and barstatus==2 and .........)
{
a_sendorder();
condion=1;
}
}
这个我理解。
下面这些内容我还不理解。
vars
global numeric condionn;
onint()
{
condion=0;
}
onbar(ArrayRef<Integer> indexs)
把condion理解为控制发单的变量,因为要跨事件域调用,所以必须定义为全局变量, 使用Global修饰。
程序化每获得一个Tick就运行一次,我们假定只有当condion=0时才允许发单,发单后立马给condion赋新值,这样在第二个Tick到来时它就不符合开仓条件了,就只会发一次单。
vars
global numeric condionn;
onint()
{
condion=0;
}
onbar(ArrayRef<Integer> indexs)
上面那段貌语法似和TB的语法不同,不明白怎么把 condion设置为全局变量。谢谢您的耐心讲解。
全局变量设置有点明白了,新的问题产生了,全局变量调用后,需要复位的问题产生。
比如0的tick条件满足设置全局变量。
下一个tick调用全局变量作为条件之一。
第三个tick或者设定若干个tick后需要将之前设定的全局变量复位。
好好理解一下事件域哈,全局变量的初始化写在Oninit域里,这个域先于程序化启动且只运行一次,所以复位你得写在这里
若你的操作周期小于日,你还可以把需要初始化的东西写在OnBarOpen里
谢谢啦!问题已经解决,用全局变量,初始化设置再配合系统时间延迟200ms后,复位发单标志位为0。
用事件驱动onposition,onorder可以监听持仓变化,委托变化。
也可以在onbar时,主动查询a_getposition,a_getorder
谢谢建议,我去试试。
你好怎么查询不到a_getposition,a_getorder这两个函数?
A_GetPosition
A_GetOrder
检索匹配算法单词大小写敏感
我用的是交易开拓者平台(旗舰版)
貌似只有下图这几个接近的函数。
旗舰版写A函数策略比TBQ难多了,用TBQ吧