请教老师关于A_SENDORDER()问题 - TradeBlazer公式 [开拓者 TB]
- 咨询内容:
遇到反手时,我想先平仓等成交后在开新仓,以反手做空为例:
反手开空条件成立:
if(A_buyposition()>0){
A_SendOrder(enum_sell,enum_exit,A_buyposition(),Q_AskPrice-20);
While(A_BuyPosition()>0 || kkk<=0){
if(CurrentTime()-A_ordertime(0)>=0.000005){
kkk=1;
Commentary("卖平超时");
}
}
}
kkk=0;
if(A_BuyPosition()==0 && A_SellPosition()==0){
A_SendOrder(enum_sell,Enum_Entry,1,Q_AskPrice-20);
While(A_SellPosition()<=0 || kkk<=0){
if(currenttime()-A_ordertime(0) >= 0.000005){
kkk=1;
Commentary("卖开超时");
}
}
}
但实际上不按要求执行,请教老师,该如何改进,谢谢 - TB技术人员:
回复 1# fangzg123
大致思路如下
判断是否有未成交单A_OpenOrderLot
if(A_OpenOrderLot==0)
setglobalvar(0,1);
if(判断开仓条件 && Getglobalvar(0)==1)
A_SendOrder... - TB客服:
非常感谢,谢谢老师
- 网友回复:
请教老师
if(A_buyposition()>0){
A_SendOrder(enum_sell,enum_exit,A_buyposition(),Q_AskPrice-10);
}
是否会反复发送委托?
用什么方法会让其只发送一次委托? - 网友回复:
回复 4# fangzg123
会重复下单的,需要加入全局变量控制。
相关文章
-
没有相关内容