设为首页收藏本站

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

昨天一天的成交量及BAR的最大成交量? [复制链接]

Rank: 3Rank: 3

精华
0
UID
75682
积分
162
帖子
65
主题
36
阅读权限
40
注册时间
2011-11-1
最后登录
2016-3-17
跳转到指定楼层
1#
发表于 2013-1-21 10:24:59 |只看该作者 |倒序浏览
我用的是5分钟周期做交易,现在我要统计昨天一天的成交量,但是在用VOLD(1)这个函数时,发现用在公式中是不能计算,请问有什么方法可以得到昨天的一天成交量而且能运用到公式计算具体的值?
还有第二点,我要回溯昨天每根5分钟BAR找出单根BAR的最大成交量,应该如何表示?

感谢!

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2013-1-21 10:39:12 |只看该作者
1.在条件外使用中间变量,来得到closed(1)的值,就可以将此变量代入计算了。

2.定义两个序列变量,todayvok, predayvol,后者就是在今天取到昨天的最大那个bar上的成交量了。
todayvol = highest(vol,barssincetoday);
if(date!=date[1])
{
    predayvol = todayvol[1];
}

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
75682
积分
162
帖子
65
主题
36
阅读权限
40
注册时间
2011-11-1
最后登录
2016-3-17
3#
发表于 2013-1-22 16:46:20 |只看该作者
小米 发表于 2013-1-21 10:39
1.在条件外使用中间变量,来得到closed(1)的值,就可以将此变量代入计算了。

2.定义两个序列变量,todayvo ...

在条件外使用中间变量?   请问这一步应该如何处理,是不是设置一个变量aa=closed(1),在后面的公式中就直接使用aa。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2013-1-22 16:52:33 |只看该作者
jiangnan 发表于 2013-1-22 16:46
在条件外使用中间变量?   请问这一步应该如何处理,是不是设置一个变量aa=closed(1),在后面的公式中就 ...

是的

使用道具 举报

Rank: 2

精华
0
UID
231361
积分
90
帖子
64
主题
17
阅读权限
30
注册时间
2016-4-1
最后登录
2017-11-11
5#
发表于 2017-1-12 15:06:25 |只看该作者
小米 发表于 2013-1-22 16:52
是的

请问还有哪些函数需要用中间变量在条件外来获得?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2017-1-12 15:09:36 |只看该作者
noego345 发表于 2017-1-12 15:06
请问还有哪些函数需要用中间变量在条件外来获得?

挺多的。
如果不能确定哪些是哪些不是的,安全的做法就是将所有的的用户函数的运算都赋值给中间变量。再将变量代入判断或下一步运算

使用道具 举报

Rank: 2

精华
0
UID
231361
积分
90
帖子
64
主题
17
阅读权限
30
注册时间
2016-4-1
最后登录
2017-11-11
7#
发表于 2017-1-12 15:35:07 |只看该作者
小米 发表于 2017-1-12 15:09
挺多的。
如果不能确定哪些是哪些不是的,安全的做法就是将所有的的用户函数的运算都赋值给中间变量。再 ...

Close[1]、Open[1]、High[1]这些常用的函数都不能直接引用?楼主的问题中问的是VolD,但是后面怎么又说的Close[1]。
另外,既然提供给用户使用,就不应该限制用户的调用方式,按照基本程序代码规则编写就行了。否则就太乱了,会吧用户搞晕的,也增加调试的工作量。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2017-1-12 16:04:53 |只看该作者
noego345 发表于 2017-1-12 15:35
Close[1]、Open[1]、High[1]这些常用的函数都不能直接引用?楼主的问题中问的是VolD,但是后面怎么又说的 ...


close, open, high这些是系统函数,在公式编辑器中显示为蓝色的。这些是可以直接使用的。
上述说的是closeD,与楼主说的volD一样,都是系统函数,在公式编辑器中显示为枣红,包括highD,crossover,crossunder等都是序列函数,不要直接放到条件中使用。

使用道具 举报

Rank: 2

精华
0
UID
231361
积分
90
帖子
64
主题
17
阅读权限
30
注册时间
2016-4-1
最后登录
2017-11-11
9#
发表于 2017-1-12 16:39:56 |只看该作者
小米 发表于 2017-1-12 16:04
close, open, high这些是系统函数,在公式编辑器中显示为蓝色的。这些是可以直接使用的。
上述说的是clos ...

比如CrossOver这个序列函数,我写成如下可以吗:
        If(CrossOver(MA1,MA2))
        {
                CrossWay = 1;  
        }

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
10#
发表于 2017-1-13 09:02:56 |只看该作者
noego345 发表于 2017-1-12 16:39
比如CrossOver这个序列函数,我写成如下可以吗:
        If(CrossOver(MA1,MA2))
        {

直接写成如下方式也可以的
vars
     bool crossway;
begin
     crossway = crossover(ma1,ma2);

使用道具 举报

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

bottom

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

GMT+8, 2024-4-26 22:36

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部