设为首页收藏本站

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

openD(1)在条件语句中的用法? [复制链接]

Rank: 4

精华
0
UID
61559
积分
390
帖子
92
主题
32
阅读权限
50
注册时间
2011-8-25
最后登录
2021-8-11
跳转到指定楼层
1#
发表于 2012-3-29 10:15:18 |只看该作者 |倒序浏览
请问为什么openD不能用在IF语句中?如果先把openD赋值给一个变量,在用在IF语句中,就能获得正确的之。为什么?

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2012-3-29 10:51:20 |只看该作者
举个例子。
现在有一本历史书,每一页都记录相应年代发生的事件。
比如此书第100页记录的是秦朝的历史。那么,如果你想要知道秦朝的事,找到第一百页,就能看到内容了。
那如果此时给一个要求,只能翻阅第130页之后的内容,然后再问你,秦朝是哪年建朝的?这样,能查得到吗?

同理,序列函数是通过一些序列值才能计算得到当前的值的。如果不能给足此完整的序列值,如何能计算出来正常的结果?
而你用了在条件语句里,就是对其计算所需的序列值做了一定的条件限定呀。

举的例子不一定好。试着大概理解一下吧,以后想到更好的例子再换。

使用道具 举报

Rank: 4

精华
0
UID
61559
积分
390
帖子
92
主题
32
阅读权限
50
注册时间
2011-8-25
最后登录
2021-8-11
3#
发表于 2012-3-31 08:24:07 |只看该作者
非常感谢您的详细回答!

这里是openD的源代码,请教哪里有您说的这个限制?

Params
        Numeric daysAgo(2);
Vars
        NumericSeries barCnt;
        NumericSeries dayOpen;
        Numeric i;
        Numeric j;
        Numeric nIndex(0);
        Numeric CBIndex;
Begin
        CBIndex = CurrentBar;
        If(CBIndex == 0 || Date != Date[1])
        {
                barCnt = 1;
                dayOpen = Open;
        }Else
        {
                barCnt = barCnt + 1;
        }
               
        If(daysAgo == 0)
        {
                return dayOpen;
        }Else
        {
                For i = 1 To daysAgo
                {
                        If( i == 1)
                        {       
                                j = 0;
                        }Else
                        {
                                j = j + BarCnt[j];                               
                        }
                        If (j > CBIndex )
                                Return InvalidNumeric;
                        nIndex = nIndex + BarCnt[j];
                }
                Return dayOpen[nIndex];
        }
End
asdfsdfsdfsdfsdfsdfsdfsdfsdfsdf

使用道具 举报

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

bottom

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

GMT+8, 2024-5-19 10:56

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部