设为首页收藏本站

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

很奇怪,为什么指令没有被执行 [复制链接]

Rank: 2

精华
0
UID
17218
积分
67
帖子
11
主题
3
阅读权限
30
注册时间
2010-10-7
最后登录
2012-11-4
跳转到指定楼层
1#
发表于 2010-10-22 13:42:43 |只看该作者 |倒序浏览
下面这个程序 它有输出到c盘符下debug文件中.这里面记录发给你们看看

此次操作时间10:0:0
全局变量初始化GetGlobalVar=0
--------------------------------------
此时全局变量GetGlobalVar=0
此次操作时间10:1:0
If(con2 && GetGlobalVar(0)==0)中,全局变量GetGlobalVar=1
--------------------------------------

我很疑惑,为什么没有执行相应的动作.
比如If(con2 && GetGlobalVar(0)==0)满足,应该执行
A_SendOrder(Enum_Sell,Enum_Entry,tradelots,Q_BidPrice - 2*MinMove);
再将它输出到日志文件debug中.
但是结果就是只看到输出到日志文件没看到指令被执行.

困惑啊!

//------------------------------------------------------------------------
// 简称: AQ
// 名称: AQ
// 类别: 交易指令
// 类型: 多头建仓
// 输出:
// 说明: 规定全局变量为0时可开仓,为1时不可开仓.
// 在第一根bar时初始化全局变量GetGlobalVar(0)=0, 每次开仓时修改全局变量SetGlobalVar(0,1)下一根bar线来时,其全局变量GetGlobalVar(0)为1,如果不满足平仓条件那么全局变量值未变,满足平仓条件,则将修改全局变量SetGlobalVar(0,0),如此则可继续开仓.
//------------------------------------------------------------------------


Params

        Numeric FastLength( 6 );
        Numeric SlowLength( 13 );
        Numeric MACDLength( 4 );
        Numeric tradelots(1);
Vars
        NumericSeries MACDValue;
        NumericSeries AvgMACD;
        NumericSeries CCb;
        NumericSeries CCs;
        Bool con1;
        Bool con2;

Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
        AvgMACD = XAverage(MACDValue,MACDLength);
        Con1 = MACDValue > AvgMACD ;
        Con2 = MACDValue < AvgMACD ;
   
  CCb=A_BuyPosition;  
  CCs=A_SellPosition;


  If(((Hour==9)&&(Minute<=05)) ||(CurrentTime()<0.0906))
   {
    Return;
   }

If(BarStatus==0 || GetGlobalVar(0) == InvalidNumeric)
  {
   SetGlobalVar(0,0);            
   FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
   FileAppend("C:\\debug.txt","全局变量初始化GetGlobalVar=" + Text(GetGlobalVar(0)));
   FileAppend("C:\\debug.txt","--------------------------------------");
  }


    If(A_TotalPosition <> 0)   
     {
          If(CCb>0 && Con2)
           {

                                A_SendOrder(Enum_Sell,Enum_ExitToday,CCb,Q_BidPrice);
                                SetGlobalVar(0,1);
                                FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
                                FileAppend("C:\\debug.txt","满足Con2平仓后,全局变量GetGlobalVar=" + Text(GetGlobalVar(0)));                                
                             FileAppend("C:\\debug.txt","--------------------------------------");

           }
          If(CCs>0 && Con1)
           {
                                A_SendOrder(Enum_Buy,Enum_ExitToday,CCs,Q_AskPrice);
                                SetGlobalVar(0,1);
                                FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
                                FileAppend("C:\\debug.txt","满足Con1平仓后,全局变量GetGlobalVar=" + Text(GetGlobalVar(0)));                                
                             FileAppend("C:\\debug.txt","--------------------------------------");
           }
         
     }

      If(Con1 && GetGlobalVar(0)==0)
        {
                A_SendOrder(Enum_Buy,Enum_Entry,tradelots,Q_AskPrice + 2*MinMove);
                FileAppend("C:\\debug.txt","此时全局变量GetGlobalVar=" + Text(GetGlobalVar(0)));
                SetGlobalVar(0,1);
                FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
                FileAppend("C:\\debug.txt","If(con1 && GetGlobalVar(0)==0)后,全局变量GetGlobalVar=" + Text(GetGlobalVar(0)));
                FileAppend("C:\\debug.txt","--------------------------------------");
        }

      If(Con2 && GetGlobalVar(0)==0)
        {
                A_SendOrder(Enum_Sell,Enum_Entry,tradelots,Q_BidPrice - 2*MinMove);
                FileAppend("C:\\debug.txt","此时全局变量GetGlobalVar=" + Text(GetGlobalVar(0)));
                SetGlobalVar(0,1);
                FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
                FileAppend("C:\\debug.txt","If(con2 && GetGlobalVar(0)==0)中,全局变量GetGlobalVar=" + Text(GetGlobalVar(0)));
                FileAppend("C:\\debug.txt","--------------------------------------");
        }                     
     
If (((Hour==14)&&(Minute>=54))||(CurrentTime()>0.1455))   //图表时间、本地时间共同约束)
   {
    If(CCb>0)
     {
      A_SendOrder(Enum_Sell,Enum_ExitToday,CCb,Q_BidPrice);
          FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
      FileAppend("C:\\debug.txt","最后时间,持有多单,平多");
      FileAppend("C:\\debug.txt","--------------------------------------");
     }     //如果持有多单,平多
    If(CCs>0)
     {
      A_SendOrder(Enum_Buy,Enum_ExitToday,CCs,Q_AskPrice);
          FileAppend("C:\\debug.txt","此次操作时间" + Text(Hour) + ":" + text(Minute) + ":" + Text(Second));
      FileAppend("C:\\debug.txt","最后时间,持有空单,平空");
      FileAppend("C:\\debug.txt","--------------------------------------");
     }     //如果持有空单,平空
   }               
               
End





//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2010/10/22 13:01
// 版权所有        fengtao_xp
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

Rank: 2

精华
0
UID
17218
积分
67
帖子
11
主题
3
阅读权限
30
注册时间
2010-10-7
最后登录
2012-11-4
2#
发表于 2010-10-22 13:43:41 |只看该作者
上面的指标我只是用来测试的,用了MACD里面的并且把周期缩短了

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
3#
发表于 2010-10-22 14:09:47 |只看该作者
没有启动了自动交易吧?
A函数需要和账户关联,启动自动交易才能正常发单

使用道具 举报

Rank: 2

精华
0
UID
17218
积分
67
帖子
11
主题
3
阅读权限
30
注册时间
2010-10-7
最后登录
2012-11-4
4#
发表于 2010-10-22 14:16:16 |只看该作者
启动自动交易了..但是很郁闷为什么没做交易。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
5#
发表于 2010-10-22 14:26:43 |只看该作者
在历史数据上,公式不会执行A_SendOrder,但是会执行写fileappend

使用道具 举报

Rank: 2

精华
0
UID
17218
积分
67
帖子
11
主题
3
阅读权限
30
注册时间
2010-10-7
最后登录
2012-11-4
6#
发表于 2010-10-22 15:18:32 |只看该作者
lh帮忙看看吧,我是在今天做模拟交易中弄的.不是用在历史数据上.

很诡异.

使用道具 举报

Rank: 4

精华
0
UID
6710
积分
425
帖子
98
主题
26
阅读权限
50
注册时间
2010-1-19
最后登录
2019-3-30
7#
发表于 2010-11-28 17:24:33 |只看该作者
楼上最后的问题解决了吗?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-23 19:26

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部