开拓者期货期权程序化系统交易论坛

标题: 如何在分钟周期里求前N天的最高价? [打印本页]

作者: 盛世长城    时间: 2012-9-10 09:29:50     标题: 如何在分钟周期里求前N天的最高价?

如何在分钟周期里求前N天的最高价?无法调用highD函数
作者: lh948    时间: 2012-9-10 10:08:56

将highD放在if条件外面,赋值给变量
作者: 盛世长城    时间: 2012-9-10 10:36:10

highD=M;
A=highest(M[1],N);

这样能求出前N日的最高点吗?
作者: alex647l    时间: 2012-9-10 10:44:38

盛世长城 发表于 2012-9-10 10:36
highD=M;
A=highest(M[1],N);

for i=2 to n
{
a=highD(1);
if (highD(i)>a)
{a=highD(i);}
}
应该,是这样吧。
作者: 盛世长城    时间: 2012-9-10 11:24:03

alex647l 发表于 2012-9-10 10:44
for i=2 to n
{
a=highD(1);

复杂呀。不过highD函数放在for和IF语句里了,不知会不会有问题?
作者: alex647l    时间: 2012-9-10 13:46:30

盛世长城 发表于 2012-9-10 11:24
复杂呀。不过highD函数放在for和IF语句里了,不知会不会有问题?

我只知道您那么写,一定会有问题的。。。
作者: 盛世长城    时间: 2012-9-10 15:40:42

for i=2 to n
{
a=highD(1);
if (highD(i)>a)
{a=highD(i);}
}

仔细看也有问题:highD(i)都是在和highD(1)做比较,相互间无法比较,比如highD(3)>a, a=highD(3),如果highD(4)>highD(3),怎么处理

作者: alex647l    时间: 2012-9-11 08:40:56

盛世长城 发表于 2012-9-10 15:40
for i=2 to n
{
a=highD(1);

不好意思把a写到括号里面了。。。a=highD(1);这一句应该在for循环的外面。
作者: 盛世长城    时间: 2012-9-11 09:47:04

alex647l 发表于 2012-9-11 08:40
不好意思把a写到括号里面了。。。a=highD(1);这一句应该在for循环的外面。

for i=2 to n
{ a=Max(highD(1),HighD(i));}

在这里不知道用MAX函数是否可行
作者: alex647l    时间: 2012-9-11 09:52:23

盛世长城 发表于 2012-9-11 09:47
for i=2 to n
{ a=Max(highD(1),HighD(i));}

a=highD(1);
for i=2 to n
{
      a=Max(a,HighD(i));
}
请不要曲解我的意思。。。只不过这样写历史测试倒还好,跟盘的时候每次都要计算循环,相对比较浪费资源
作者: 盛世长城    时间: 2012-9-12 09:48:41

lh948 发表于 2012-9-10 10:08
将highD放在if条件外面,赋值给变量

管理员给看看




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2