设为首页收藏本站

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

问题请教斑竹! [复制链接]

Rank: 1

精华
0
UID
1068
积分
44
帖子
5
主题
1
阅读权限
10
注册时间
2008-1-14
最后登录
2008-2-19
跳转到指定楼层
1#
发表于 2008-1-22 15:24:33 |只看该作者 |倒序浏览
实现每隔十分钟,把全局变量的前5个按顺序向后复制。
代码如下:

   for j=0 to 6
           {  
            For i=1 to 6
                {if (CurrentTime==(0.09+j*0.01)+i*lengthtime/10000)
                   {
                    
                                 for i =5 DownTo 1
                        SetGlobalVar(i,getglobalvar(i-1));
                       
                }
            }

                  }

执行的结果是这个个变量的传递过程会执行很多遍而不是一遍。  后来 想加一个BOOL型变量 来判断。结果还是会执行很多遍。 请斑竹帮忙解决
谢谢

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25127
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
2#
发表于 2008-1-22 15:47:05 |只看该作者
加一个BoolSeries变量,假定变量名为myFlag。默认值为False.
每个Bar使用以下代码传递旧的值。
MyFlag = MyFlag[1];
只有MyFlag == False的时候才执行您的代码。
在代码第一遍执行后。将MyFlag = True。
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

Rank: 1

精华
0
UID
1068
积分
44
帖子
5
主题
1
阅读权限
10
注册时间
2008-1-14
最后登录
2008-2-19
3#
发表于 2008-1-23 13:40:32 |只看该作者

还是有问题!!

Vars
       
   
        Bool qushu(False);

       
       
Begin
     SetGlobalVar(0,Q_InsideVol);
   
        If((CurrentTime-IntPart(CurrentTime*100)/100-IntPart((CurrentTime-IntPart(CurrentTime*100)/100)*10000)/10000==0)&&qushu==False)
          
           {
           SetGlobalVar(1,GetGlobalVar(0));
            SetGlobalVar(2,GetGlobalVar(1));
               
          
           qushu=True;
           }
          
                    PlotNumeric("a1",GetGlobalVar(0));
                                 PlotNumeric("a2",GetGlobalVar(1));
                 PlotNumeric("a3",GetGlobalVar(2));
                 

End

这是一段测试程序!每一分钟取一个外盘值传给全局变量。

本来就执行一次输值过程。 实际测试的结果却是要连续执行好几遍才停止。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 20:41

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部