设为首页收藏本站

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

这两天总是有奇怪事情发生 [复制链接]

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
跳转到指定楼层
1#
发表于 2010-1-9 07:56:49 |只看该作者 |倒序浏览
公式计算结果有点莫名其妙,如:
ma5=AverageFC(c,5);
DT=iif(ma5>ma5[1] || (ma5==ma5[1] && ma5[1]>ma5[2]),1,0);
结果DT居然为1。商品P1005,L1005。时间8号下午14:59:20
请查一下原因,我的程序检查了,没问题。
如果程序出现这种问题就真要晕倒了~

[ 本帖最后由 天行健 于 2010-1-12 17:49 编辑 ]

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
2#
发表于 2010-1-12 17:48:23 |只看该作者
今天又出现类似情况,已经升级到3.2.6版。
品种l1005,时间下午14:59:20

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
3#
发表于 2010-1-13 09:42:17 |只看该作者
由于昨日的函数计算错误,今天开盘就给我造成了不少的损失!!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25132
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
4#
发表于 2010-1-13 11:30:24 |只看该作者
L1005 10秒周期,下午14:59:20的DT的值是1
L1005 日线,昨天下午收盘时的DT的值是0,你的不是吗?
交易开拓者 - 期货程序化与量化系统自动交易领航者

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

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
5#
发表于 2010-1-18 15:12:22 |只看该作者
Vars
        NumericSeries ma5;
        Numeric DT(0);
        Numeric KT(0);
Begin
                        ma5=AverageFC(c,5);
                        DT=iif(ma5>ma5[1] || (ma5==ma5[1] && ma5[1]>ma5[2]),1,0);
                        KT=iif(ma5<ma5[1] || (ma5==ma5[1] && ma5[1]<ma5[2]),1,0);
                        FileAppend("C:\\tblog\\test.log","DT:"+text(DT)+"KT:"+Text(KT));
End
输出的结果,DT一会是0,一会是1.应该一直为0才对。
测试时间1.18日尾盘,商品RU1005日K线

[ 本帖最后由 天行健 于 2010-1-18 15:35 编辑 ]

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2010-1-18 16:03:45 |只看该作者
你是在实际交易时间中插入的公式是吗?
在实际交易时间内,行情不断跳动,当根bar还没结束,有可能会造成一会满足条件,一会不满足条件的,导致一会儿0,一会儿1.
参考方法:ma5和ma5[1]改用ma5[1]和ma5[2]进行比较判断

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
7#
发表于 2010-1-18 16:22:58 |只看该作者
当根bar还没结束,有可能会造成一会满足条件,一会不满足条件的,

不太明白。能说详细点吗?最好举个例。谢谢

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1986
积分
777
帖子
74
主题
11
阅读权限
60
注册时间
2008-7-25
最后登录
2019-3-30
8#
发表于 2010-1-19 11:33:26 |只看该作者
你的代码里用了Close,就是最新价,最新价在不停更新,所以会出现一会儿满足条件,一会儿不满足条件的情况。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
9#
发表于 2010-1-23 12:06:20 |只看该作者
楼上不对哈,我看了,跳动范围没有超出临界点.
我忘了还有一句没贴出来,会不会和这个有关:
Vars
        NumericSeries ma5;
        Numeric DT(0);
        Numeric KT(0);
Begin
   IF ( CurrentTime>0.145940 )
  {
                        ma5=AverageFC(c,5);
                        DT=iif(ma5>ma5[1] || (ma5==ma5[1] && ma5[1]>ma5[2]),1,0);
                        KT=iif(ma5<ma5[1] || (ma5==ma5[1] && ma5[1]<ma5[2]),1,0);
                        FileAppend("C:\\tblog\\test.log","DT:"+text(DT)+"KT:"+Text(KT));
  }
End
为什么会这样呢?希望把原理解释一下,好加深对程序的理解.

使用道具 举报

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

bottom

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

GMT+8, 2024-5-21 20:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部