- 精华
- 0
- 在线时间
- 184 小时
- UID
- 51272
- 积分
- 463
- 帖子
- 67
- 阅读权限
- 50
- 注册时间
- 2011-7-3
- 最后登录
- 2016-7-25
- 精华
- 0
- UID
- 51272
- 积分
- 463
- 帖子
- 67
- 主题
- 14
- 阅读权限
- 50
- 注册时间
- 2011-7-3
- 最后登录
- 2016-7-25
|
回复 6# lh948
请问现在能否发单,我测试了一天,只有data0能发单,data1不发单,而且里面的撤单也无效,不知道为什么,请管理员帮我看看
Params
Numeric profit(150);
Numeric lots(1);
Vars
Bool Cond;
Numeric longposition0;
Numeric longposition1;
Numeric shortposition0;
Numeric shortposition1;
Begin
longposition0=GetGlobalVar(0);
longposition1=GetGlobalVar(2);
shortposition0=GetGlobalVar(1);
shortposition1=GetGlobalVar(3);
//------------------------------------------
If (BarStatus == 0) //持仓初始化
{
If(longPosition0 == InvalidNumeric )
{
longPosition0 = 0;
SetGlobalVar(0,longPosition0);
}
If(shortPosition0 == InvalidNumeric)
{
shortPosition0 = 0;
SetGlobalVar(1,shortPosition0);
}
If(longPosition1 == InvalidNumeric )
{
longPosition1 = 0;
SetGlobalVar(2,longPosition0);
}
If(shortPosition1 == InvalidNumeric)
{
shortPosition1 = 0;
SetGlobalVar(3,shortPosition0);
}
}
//---------------------------------------------------------------------
Cond=Data0.Q_AskPrice-Data0.Q_BidPrice>=profit; //价差超过150
If(cond&&longposition0==0&&shortposition0==0&&longposition1==0&&shortposition1==0) //挂单
{
A_SendOrder(Enum_Buy,Enum_Entry,Lots,data0.Q_BidPrice+10);
A_SendOrder(Enum_Sell,Enum_Entry,Lots,data0.Q_askPrice-10);
SetGlobalVar(0,longposition0+lots);
SetGlobalVar(1,shortposition0+lots);
}
//---------------------------------------------------------------------
Commentary("data0.A_BuyPosition="+Text(data0.A_BuyPosition));
Commentary("data0.A_sellPosition="+Text(data0.A_sellPosition));
Commentary("longposition1="+Text(longposition1));
Commentary("shortposition1="+Text(shortposition1));
If(data0.A_BuyPosition==lots&&shortposition1<lots) //不活跃品种多单成交
{
A_SendOrder(Enum_Sell,Enum_Entry,Lots,data1.Q_bidPrice);//主力开空对冲
SetGlobalVar(3,shortposition1+lots);
}
If(data0.A_BuyPosition==lots&&data1.A_SellPosition==lots&&shortposition0==lots)
{
data0.A_DeleteOrder(); //未成交的不活跃空单撤单
A_SendOrder(Enum_Sell,Enum_Exit,Lots,data0.Q_askPrice-MinMove*PriceScale);//平不活跃多单
SetGlobalVar(0,longposition0-lots);
SetGlobalVar(1,shortposition0-lots);
}
If(data0.A_BuyPosition==0&&data0.A_sellPosition==0&&shortposition1==lots)//平主力空单
{
A_SendOrder(Enum_buy,Enum_Exit,Lots,data1.Q_askPrice);
SetGlobalVar(3,shortposition1-lots);
}
//---------------------------------------------------------------------------------------
If(data0.A_sellPosition==lots&&longposition1<lots) //不活跃品种空单成交
{
A_SendOrder(Enum_buy,Enum_Entry,Lots,data1.Q_askPrice);//主力开多对冲
SetGlobalVar(2,longposition1+lots);
}
If(data0.A_sellPosition==lots&&data1.A_buyPosition==lots&&longposition0==lots)
{
data0.A_DeleteOrder(); //未成交的不活跃多单撤单
A_SendOrder(Enum_buy,Enum_Exit,Lots,data0.Q_bidPrice+MinMove*PriceScale);//平不活跃空单
SetGlobalVar(1,longposition0-lots);
SetGlobalVar(0,longposition1-lots);
}
If(data0.A_sellPosition==0&&data0.A_BuyPosition==0&&longposition1==lots)//平主力多单
{
A_SendOrder(Enum_sell,Enum_Exit,Lots,data1.Q_BidPrice);
SetGlobalVar(2,longposition1-lots);
}
End |
|