- 精华
- 0
- 在线时间
- 53 小时
- UID
- 217121
- 积分
- 13
- 帖子
- 9
- 阅读权限
- 10
- 注册时间
- 2015-8-16
- 最后登录
- 2016-8-4
- 精华
- 0
- UID
- 217121
- 积分
- 13
- 帖子
- 9
- 主题
- 3
- 阅读权限
- 10
- 注册时间
- 2015-8-16
- 最后登录
- 2016-8-4
|
用下面的代码,在PP1605合约,2016年3月10日当天,1分K周期上测试一下。
大概的BUG就是,在BoolSeries里面如果有用到 Lowest这个函数,会计算出错。
//------------------------------------------------------------------------
// 简称: BUG_PP1605 测试时间段 20160310当天 周期1分K
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Vars
BoolSeries Con1;
BoolSeries Con2;
BoolSeries ConWrong;
BoolSeries ConRight;
BoolSeries ConRight2;
NumericSeries LL10;
Begin
LL10 = Lowest(L, 10);
Con1 = Time >= 0.1109 && Time <= 0.1115;
Con2 = (Lowest(L, 10) >= C); //最近10个周期的最低点是否大于当前收盘价
ConRight = Con1 && Con2; //这里令 ConRight 等于 Con1和Con2的并集
ConWrong = Con1 and (Lowest(L, 10) >= C); //这里令 ConWrong 等于 Con1和Con2的并集,但是写法上把Con2给展开,发现竟然输出结果和ConRight不符!!!!!!卧槽这特么是什么梗?!!!!
ConRight2 = Con1 and (LL10 >= C); //这里令 ConWrong 等于 Con1和Con2的并集,但是写法上把Con2给展开并做代换 LL10 = Lowest(L, 10),这时输出结果和ConRight相符
PlotBool("Con1", Con1, H + 200);
PlotBool("Con2", Con2, H + 100);
PlotBool("ConWrong", ConWrong, L - 100);
PlotBool("ConRight", ConRight, L - 200);
PlotBool("ConRight2", ConRight2, L - 300);
End |
|