设为首页收藏本站

 找回密码
 注册
查看: 1884|回复: 2
打印 上一主题 下一主题

请帮助看看为什么我的股指套利程序不工作 [复制链接]

Rank: 3Rank: 3

精华
0
UID
58206
积分
181
帖子
54
主题
31
阅读权限
40
注册时间
2011-8-7
最后登录
2019-1-20
跳转到指定楼层
1#
发表于 2012-8-17 09:15:16 |只看该作者 |倒序浏览
老师,我学着编写了一个简单的股指套利程序,针对IF1212和IF1208的1分钟周期,用调整上下限参数的方法让其工作,检验程序的可行性。但是发现他不能工作,麻烦帮助我这个新手看看。万分感谢!
Params
  
        Numeric Eup(50);
        Numeric Edown(48);
Vars
    Numeric B;
       
Begin
    if(Barstatus==0);
{
    setGlobalVar(0,0);//Datao buyposition
    setGlobalVar(1,0);//Data1 SellShortPosition
        SetGlobalVar(2,0);//Data0 sellPosition
        SetGlobalVar(3,0);//Data1 BuyToCoverPosition
}
//-------------------------------------------------------------------------------------------------------------
    B=(Data0.High-Data1.High);
        PlotNumeric("B",(Data0.High-Data1.High));
        PlotNumeric("Eup",Eup);
        PlotNumeric("Edown",Edown);
       
//-------------------------------------------------------------------------------------------------------------
        If(B<Edown)
        {
           If(A_TotalPosition==0 && A_BuyPosition<1&&A_SellPosition<1)
           {
             If(GetGlobalVar(0)==0 && GetGlobalVar(1)==0 && GetGlobalVar(2)==0 && GetGlobalVar(3)==0)
               {
                  Data0.A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);//第一买多
              Data1.A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);//第二买空
                 SetGlobalVar(0,1);
                         SetGlobalVar(1,1);
                 FileAppend("D:\\1303.log",TimeToString(CurrentTime));
             FileAppend("D:\\1303.log","(Data0-买多) "+" "+Text(Data0.Q_AskPrice));
                 FileAppend("D:\\1303.log","(Data1-买空),"+" "+Text(Data1.Q_BidPrice));
                         FileAppend("D:\\1303.log","Data0买多标识GetGlobalVar(0)="+Text(GetGlobalVar(0)));
                         FileAppend("D:\\1303.log","Data1卖空标识GetGlobalVar(1)="+Text(GetGlobalVar(1)));
             }       
             }
           Else If(A_BuyPosition>=1 && A_SellPosition>=1)
           {
                 If(GetGlobalVar(0)==0 && GetGlobalVar(1)==0 && GetGlobalVar(2)==1 && GetGlobalVar(3)==1 &&
                    data0.A_SellPosition>=1 && data1.A_BuyPosition>=1)
               {
                Data0.A_SendOrder(Enum_Buy,Enum_Exit,1,Q_AskPrice);//第一买平
            Data1.A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);//第二卖平
                 SetGlobalVar(2,0);
             setGlobalVar(3,0);
                      FileAppend("D:\\1303.log",TimeToString(CurrentTime));
              FileAppend("D:\\1303.log","(Data0-买平) "+" "+Text(Data0.Q_AskPrice));
                 FileAppend("D:\\1303.log","(Data1-卖平),"+" "+Text(Data1.Q_BidPrice));
                         FileAppend("D:\\1303.log","Data0买多标识GetGlobalVar(2)="+Text(GetGlobalVar(2)));
                         FileAppend("D:\\1303.log","Data1卖空标识GetGlobalVar(3)="+Text(GetGlobalVar(3)));
                     
                         }
                  If(GetGlobalVar(0)==1 && GetGlobalVar(1)==1 && GetGlobalVar(2)==0 && GetGlobalVar(3)==0)
               
                 Return;
                       
            }
        }
      
          
        If(B>Eup)
        {
           If(A_TotalPosition==0 && A_BuyPosition<1&&A_SellPosition<1)
             {
               If(GetGlobalVar(0)==0 && GetGlobalVar(1)==0 && GetGlobalVar(2)==0 && GetGlobalVar(3)==0)
                 {
                   Data0.A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);//第一买空
               Data1.A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);//第二买多
                   SetGlobalVar(2,1);
               setGlobalVar(3,1);
                   FileAppend("D:\\1303.log",TimeToString(CurrentTime));
               FileAppend("D:\\1303.log","(Data0-买空) "+" "+Text(Data0.Q_BidPrice));
                 FileAppend("D:\\1303.log","(Data1-买多),"+" "+Text(Data1.Q_AskPrice));
                         FileAppend("D:\\1303.log","Data0买多标识GetGlobalVar(2)="+Text(GetGlobalVar(2)));
                         FileAppend("D:\\1303.log","Data1卖空标识GetGlobalVar(3)="+Text(GetGlobalVar(3)));
                     
                  }
                   }
           Else If(A_BuyPosition>=1 && A_SellPosition>=1)
                 {
               If(GetGlobalVar(0)==1 && GetGlobalVar(1)==1 && GetGlobalVar(2)==0 && GetGlobalVar(3)==0 &&
                      Data0.A_BuyPosition>=1 && data1.A_SellPosition>=1)
                 {
                  Data0.A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);//第一卖平
              Data1.A_SendOrder(Enum_Buy,Enum_Exit,1,Q_AskPrice);//第二买平
                  SetGlobalVar(0,0);
                          setGlobalVar(1,0);
                  FileAppend("D:\\1303.log",TimeToString(CurrentTime));
              FileAppend("D:\\1303.log","(Data0-卖平) "+" "+Text(Data0.Q_BidPrice));
                 FileAppend("D:\\1303.log","(Data1-买平),"+" "+Text(Data1.Q_AskPrice));
                         FileAppend("D:\\1303.log","Data0买多标识GetGlobalVar(0)="+Text(GetGlobalVar(0)));
                         FileAppend("D:\\1303.log","Data1卖空标识GetGlobalVar(1)="+Text(GetGlobalVar(1)));
                  }
              If(GetGlobalVar(0)==0 && GetGlobalVar(1)==0 && GetGlobalVar(2)==1 && GetGlobalVar(3)==1)
                     Return;
                          
                 }
          }
       
End

Rank: 3Rank: 3

精华
0
UID
110931
积分
131
帖子
78
主题
6
阅读权限
40
注册时间
2012-6-12
最后登录
2013-6-29
2#
发表于 2012-8-18 01:02:34 |只看该作者

使用道具 举报

Rank: 2

精华
0
UID
112281
积分
66
帖子
36
主题
0
阅读权限
30
注册时间
2012-9-2
最后登录
2013-4-2
3#
发表于 2012-11-18 00:20:50 |只看该作者
帮你dd

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-7 06:47

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部