请大家帮我看一下,我的跨期套利程序实盘能用吗? [开拓者 TB]
- 咨询内容:
Vars
Numeric MyFlag(0);
Begin
if ((Data1.Q_BidPrice-Data0.Q_AskPrice)>=900 && MyFlag==0)
{
if(Data0.A_BuyPosition ==0) Data0.A_SendOrder(Enum_Buy ,Enum_Entry,Lots0,Q_AskPrice);
if(Data1.A_SellPosition==0) Data1.A_SendOrder(Enum_Sell,Enum_Entry,Lots1,Q_BidPrice);
SetGlobalVar(0,1);
}
MyFlag=GetGlobalVar(0);
if ((Data1.Q_AskPrice-Data0.Q_BidPrice)<=500 && MyFlag==1)
{
if(Data0.A_BuyPosition ==Lots0) Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition() ,Q_BidPrice);
if(Data1.A_SellPosition==Lots1) Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice);
SetGlobalVar(0,0);
MyFlag=GetGlobalVar(0);
}
End
程序如上,请大家帮我看看,全局变量是这样用吗?
想要的功能是:
当Data1-Data0>900时,多Data0空Data1
当Data1-Data0<500,平出。
不知道有没有逻辑错误? - TB技术人员:
怎么没有呢?。。。
- TB客服:
回复 1# xiongzai0129
建议改成:- Vars
- Numeric MyFlag(0);
- Begin
- MyFlag=GetGlobalVar(0);
- if ((Data1.Q_BidPrice-Data0.Q_AskPrice)>=900 && MyFlag==0)
- {
- if(Data0.A_BuyPosition ==0) Data0.A_SendOrder(Enum_Buy ,Enum_Entry,Lots0,Q_AskPrice);
- if(Data1.A_SellPosition==0) Data1.A_SendOrder(Enum_Sell,Enum_Entry,Lots1,Q_BidPrice);
- SetGlobalVar(0,1);
- }else if ((Data1.Q_AskPrice-Data0.Q_BidPrice)<=500 && MyFlag==1)
- {
- if(Data0.A_BuyPosition ==Lots0) Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition() ,Q_BidPrice);
- if(Data1.A_SellPosition==Lots1) Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice);
- SetGlobalVar(0,0);
- MyFlag=GetGlobalVar(0);
- }
- End
- Vars
- 网友回复:
lh948 发表于 2012-1-6 10:06
回复 1# xiongzai0129
请问管理员,会出现单腿的情况么?若是出现,怎么在程序里解决这个问题呢? - 网友回复:
lh948 发表于 2012-1-6 10:06
回复 1# xiongzai0129
我把策略在盘中模拟,为什么没有交易记录呢?!是看监控器里的交易日志吗?请管理员,回答下问题,不盛感激!
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
相关文章
-
没有相关内容