设为首页收藏本站

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

关于序列变量的问题(讨论) [复制链接]

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
跳转到指定楼层
1#
发表于 2009-11-5 19:15:58 |只看该作者 |倒序浏览
有以下代码:
DT=AAA;
......
if ( BarStatus == 2)
   if ( currenttime<0.145920 )
      DT=BBB;
   else
      DT=CCC;
......
请问DT[1]的值是AAA还是BBB还是CCC?
再看下面一段:
DT=AAA;
......
   if ( currenttime<0.145920 )
      DT=BBB;
   else
      DT=CCC;
......
这次DT[1]的值又如何?

[ 本帖最后由 天行健 于 2009-11-8 00:40 编辑 ]

Rank: 5Rank: 5

精华
0
UID
4740
积分
1247
帖子
251
主题
9
阅读权限
60
注册时间
2009-6-29
最后登录
2019-3-30
2#
发表于 2009-11-5 21:30:11 |只看该作者
第一种情况,DT[1]的值是AAA,因为DT[1]时,barstatus==2是不会成立的.所以没有机会得到BBB和CCC的值.
第二种情况,取决于你什么时候做测试. 因为CurrentTime是你自己机器的时间. 如果你在你的机器时间是14点的时候测试,DT[1]是BBB. 如果按现在我回贴的时间,DT[1]会是CCC.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
3#
发表于 2009-11-6 11:39:10 |只看该作者
谢谢!有道理,等待官方确认一下。,

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
4#
发表于 2009-11-6 12:10:04 |只看该作者
1)DT[1]=AAA
2)当上个bar的条件(currenttime<0.145920)满足时,DT[1]=BBB,
当上个bar条件(currenttime<0.145920)不满足时,DT[1]=CCC.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
5#
发表于 2009-11-8 00:29:21 |只看该作者
按照上面的解释,DT[1]并不一定等于上日收盘时的DT值,但我们知道C[1]确总是取的上日收盘时的C值,并没有和测试时间联系起来。为什么这两个取法的结果不一致?
那么,我在下午14点59分前如何知道上日收盘时的DT值呢?(假设每日盘中DT的变化都是不确定的)

[ 本帖最后由 天行健 于 2009-11-8 00:43 编辑 ]

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2009-11-9 09:48:11 |只看该作者
当条件BarStatus == 2时,是使用最后一个bar的条件进入判断,随着bar的推移,BarStatus == 2不断的变换,上一个bar用BarStatus == 2判断得出来的值也会随着消失

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
7#
发表于 2009-11-10 11:30:47 |只看该作者
原帖由 lh948 于 2009-11-9 09:48 发表
公式在每个tick运行一遍
当条件BarStatus == 2时,是使用最后一个bar的条件进入判断
随着bar的推移,BarStatus == 2不断的变换,上一个bar用BarStatus == 2判断得出来的值也会随着消失 ...

好像答非说问。上面的问题该怎么处理?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
8#
发表于 2009-11-10 13:32:54 |只看该作者
当你取close[1]时,他已经走完了,当然是可以取得准确的值的,
DT也是可以取得DT[1]的,不过使用barstatus==2判断,DT所得到数据是会消失的,就像第一个,当你取DT[1]时,此时只能取到AAA
如果DT数据不多,并且不确定的话,用全局变量保存也是可以的

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
9#
发表于 2009-11-10 16:28:48 |只看该作者
原帖由 lh948 于 2009-11-10 13:32 发表
当你取close[1]时,他已经走完了,当然是可以取得准确的值的,
DT也是可以取得DT[1]的,不过使用barstatus==2判断,DT所得到数据是会消失的,就像第一个,当你取DT[1]时,此时只能取到AAA
如果DT数据不多,并且不确定的话,用 ...

还是没明白如何才能在盘中取到昨天收盘时的DT值

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
10#
发表于 2009-11-10 16:44:49 |只看该作者
你把DT的值保存进全局变量吧,每次就从全局变量里得到上一个bar的DT的值即可

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 21:38

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部