- 精华
- 0
- 在线时间
- 298 小时
- UID
- 31858
- 积分
- 516
- 帖子
- 115
- 阅读权限
- 50
- 注册时间
- 2011-4-9
- 最后登录
- 2020-11-29
- 精华
- 0
- UID
- 31858
- 积分
- 516
- 帖子
- 115
- 主题
- 34
- 阅读权限
- 50
- 注册时间
- 2011-4-9
- 最后登录
- 2020-11-29
|
关于后台避免重复发单的问题,在网上搜索了一些思路,写了几行代码,准备实盘测试一下
if(barstatus==0)
{
Setglobalvar(0,0);
}
if (A_BuyPosition()-A_SellPosition()==0 && con3==True){ //没有仓位的情况,符合过滤条件
if(con1==True && GetGlobalVar(0)==0){
A_SendOrder(Enum_Buy,Enum_Entry,TurtleUnits,Q_AskPrice()+2*MinPoint); //开多
SetGlobalVar(0,1);
}
if(con2==True && GetGlobalVar(0)==0){
A_SendOrder(Enum_Sell,Enum_Entry,TurtleUnits,Q_BidPrice()-2*MinPoint); //开空
SetGlobalVar(0,1);
}
}
if (A_BuyPosition()-A_SellPosition()>0){ //做多情况下
if(con2==True && GetGlobalVar(0)==0){
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice()-2*MinPoint); //平多
SetGlobalVar(0,1);
}
}
if (A_BuyPosition()-A_SellPosition()<0){ //做空情况下
if(con1==True && GetGlobalVar(0)==0){
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,Q_AskPrice()+2*MinPoint); //平空
SetGlobalVar(0,1);
}
}
if (GetGlobalVar(0)>=1){ //延时5个tick后,状态重置
SetGlobalVar(0,GetGlobalVar(0)+1);
if (GetGlobalVar(0)>=5){
SetGlobalVar(0,0);
}
} |
|