跨期策略,急需高手帮忙! - TradeBlazer公式 [开拓者 TB]
- 咨询内容:
做股指跨期,允许连续建仓,最大仓位为5.每次同时买卖两个品种,当出现单腿的时候,让另一个品种追单。我没想到什么好办法,只能让其二次发单,但这样结果依然不定。之前还有交易,现在都没交易了,不知道为啥?!呜呜呜。。。。。。
恳求管理员和高手们,帮忙解答下!不胜感激!非常感谢!附代码:
Params
Numeric Bpionts(7.8);//大基差值
Numeric Spionts(7.0);//小基差值
Numeric lots(1);//交易数量
Numeric maxposition(5);
Vars
Bool Entercon;//入场条件
bool Exitcon;//出场条件
Numeric MyFlag(0);//全局变量标识,用来限制每次平仓后开新仓。
Begin
if(BarStatus == 0) //在开始时定义全局变量
{
SetGlobalVar(0,0);
}
//初始化全局变量
MyFlag=GetGlobalVar(0);
//入场和出场条件
Entercon=(Data1.Q_BidPrice-Data0.Q_AskPrice)>=Bpionts;//基差变大时,买近卖远
Exitcon=(Data1.Q_AskPrice-Data0.Q_BidPrice)<=Spionts;//基差变小时,卖近买远
//入场
if (( Entercon&& MyFlag==0))
{
if(Data0.A_BuyPosition>=0 &&Data1.A_SellPosition>=0&&Data0.A_BuyPosition<=maxposition&&Data1.A_SellPosition<=maxposition)
{
Data0.A_SendOrder(Enum_Buy ,Enum_Entry,lots,Q_AskPrice+MinMove*PriceScale);//买近月,以盘口卖一价减一跳
Data1.A_SendOrder(Enum_Sell,Enum_Entry,lots,Q_BidPrice-MinMove*PriceScale);// 卖远月,以盘口买一价加一跳
if(Data0.A_BuyPosition!=0&&Data1.A_SellPosition!=0&&Data0.A_BuyPosition==Data1.A_SellPosition) SetGlobalVar(0,1);
if(Data0.A_BuyPosition-Data1.A_SellPosition==1)
{
Data1.A_SendOrder(Enum_Sell,Enum_Entry,lots,Q_BidPrice-MinMove*PriceScale);
SetGlobalVar(0,1);
}
if(Data0.A_BuyPosition-Data1.A_SellPosition==-1)
{
Data0.A_SendOrder(Enum_Buy ,Enum_Entry,lots,Q_AskPrice+MinMove*PriceScale);
SetGlobalVar(0,1);
}
}
}
//出场
if (Exitcon&& MyFlag==1)
{
if(Data0.A_BuyPosition!=0&&Data1.A_SellPosition!=0&&Data0.A_BuyPosition==Data1.A_SellPosition)
{
Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice-MinMove*PriceScale);//卖近月,以盘口买一价加一跳
Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice+MinMove*PriceScale); //买远月,以盘口卖一价减跳
if(Data0.A_BuyPosition==0 &&Data1.A_SellPosition==0)
{ SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
if(Data0.A_BuyPosition==0 &&Data1.A_SellPosition!=0)
{
Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice+MinMove*PriceScale);
SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
if(Data0.A_BuyPosition!=0 &&Data1.A_SellPosition==0)
{
Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice-MinMove*PriceScale);
SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
}
}
//14时59分撤掉所有未成交单
if(time>0.1458)
{
Data0.A_DeleteOrder;
Data1.A_DeleteOrder;
}
End - TB技术人员:
我看到了一大堆的嵌套if语句,呵呵。。。
我也是菜鸟。。 - TB客服:
wilsonkor 发表于 2012-5-11 10:45
我看到了一大堆的嵌套if语句,呵呵。。。
我也是菜鸟。。
呜呜,不要嘲笑,心里明白就行,哈哈! - 网友回复:
基于基差的跨期套利模型啊。。。 - 网友回复:
wilsonkor 发表于 2012-5-11 12:27
基于基差的跨期套利模型啊。。。
您能帮我解决下单腿问题么?我都弄晕了,
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
- 上一篇:实盘系统。
- 下一篇:没有了!
相关文章
-
没有相关内容