设为首页收藏本站

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

关于CrossOver函数执行错误的问题 [复制链接]

Rank: 3Rank: 3

精华
0
UID
101666
积分
138
帖子
21
主题
8
阅读权限
40
注册时间
2012-3-1
最后登录
2019-9-23
跳转到指定楼层
1#
发表于 2013-2-19 22:56:01 |显示全部楼层 |倒序浏览

如图CCI绘图输出的是上一周期的值,在十字线所示周期调用CrossOver(CCI[1],CCIAvgL[1])没有返回true

//------------------------------------------------------------------------
// 简称: CrossOver
// 名称: 求是否上穿
// 类别: 用户函数
// 类型: 内建函数
// 输出: 布尔型
//------------------------------------------------------------------------

Params
        NumericSeries Price1(1);
        NumericSeries Price2(1);
Vars
        Bool Con1(False);
        Bool PreCon(False);
        Numeric Counter(0);
Begin
        If(Price1 > Price2)
        {
                Counter = 1;       
                Con1 = Price1[1] == Price2[1];               
                While (Con1 and Counter < CurrentBar)
                {                       
                        Counter = Counter + 1;                         
                        Con1 = Price1[Counter] == Price2[Counter];       
                }
                PreCon = Price1[Counter] < Price2[Counter];
                Return PreCon;
        }Else
        {
                Return False;
        }
End

对于 NumericSeries 类型的数据例如CrossOver(CCI[1],CCIAvgL[1])的实参CCI[1] 代入CrossOver函数体内部语句 "Con1 = Price1[1] == Price2[1];"是否就是CCI[2]了呢?
TB基于C语言的话我觉得数组回溯存在问题或者指针操作有错误
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
您需要登录后才可以回帖 登录 | 注册

bottom

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

GMT+8, 2024-5-23 10:46

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部