设为首页收藏本站

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

这是个什么错误? [复制链接]

Rank: 2

精华
0
UID
31990
积分
96
帖子
21
主题
3
阅读权限
30
注册时间
2011-4-4
最后登录
2011-5-5
跳转到指定楼层
1#
发表于 2011-4-24 08:41:38 |只看该作者 |倒序浏览
如下代码,编译后出现未知错误,到底是个什么错误?

Params
        Numeric AfStep(0.02);
        Numeric AfLimit(0.2);
        NumericRef oParClose;
        NumericRef oParOpen;
        NumericRef oPosition;
        NumericRef oTransition;
Vars
        NumericSeries Af(0);       
        NumericSeries ParOpen(0);
        NumericSeries Position(0);       
        NumericSeries HHValue(0);
        NumericSeries LLValue(0);
Begin
        If (CurrentBar == 0)
        {
                Position = 1 ;
                oTransition = 1 ;
                Af = AfStep ;
                HHValue = High ;
                LLValue = Low ;               
                oParClose = LLValue ;
                ParOpen = oParClose + Af * ( HHValue - oParClose) ;
                If (ParOpen > Low)
                {
                        ParOpen = Low ;
                }
        }Else
        {       
                oTransition = 0 ;       
                If (High > HHValue[1])
                {
                        HHValue = High;
                }Else
                {
                        HHValue = HHValue[1];
                }
               
                If (Low < LLValue[1])
                {
                        LLValue = Low;
                }Else
                {
                        LLValue = LLValue[1];
                }
               
                If ( Position[1] == 1)
                {
                        If ( Low <= ParOpen[1])
                        {
                                Position = -1 ;
                                oTransition = -1 ;                               
                                oParClose = HHValue ;
                                HHValue = High ;
                                LLValue  = Low ;
       
                                Af = AfStep ;
                                ParOpen = oParClose + Af * ( LLValue - oParClose ) ;
                                       
                                If (ParOpen < High)
                                {
                                        ParOpen = High ;
                                }
                               
                                If (ParOpen < High[1])
                                {
                                        ParOpen = High[1] ;
                                }
                        }Else
                        {
                                Position = Position[1];
                                oParClose = ParOpen[1] ;                                       
                                If (HHValue > HHValue[1] and Af[1] < AfLimit )
                                {
                                        If(Af[1]+AfStep > AfLimit)
                                        {
                                                Af = AfLimit ;
                                        }Else
                                        {
                                                Af = Af[1]+AfStep;
                                        }                               
                                       
                                }Else
                                {
                                        Af = Af[1];
                                }       
                                ParOpen = oParClose + Af * ( HHValue - oParClose ) ;                               
       
                                If (ParOpen > Low)
                                {
                                        ParOpen = Low ;
                                }
                               
                                If (ParOpen > Low[1])
                                {
                                        ParOpen = Low[1];
                                }
                        }
                }Else
                {
                        If (High >= ParOpen[1])
                        {
                                Position = 1 ;
                                oTransition = 1 ;
                               
                                oParClose = LLValue ;
                                HHValue = High ;
                                LLValue  = Low ;
                               
                                Af = AfStep ;
                                ParOpen = oParClose + Af * ( HHValue - oParClose) ;
                                If (ParOpen > Low)
                                {
                                        ParOpen = Low ;
                                }
                               
                                If (ParOpen > Low[1])
                                {
                                        ParOpen = Low[1];
                                }
                        }Else
                        {
                                Position = Position[1];
                                oParClose = ParOpen[1];
                                       
                                If (LLValue < LLValue[1] And Af[1] < AfLimit )
                                {
                                        If(Af[1]+AfStep > AfLimit)
                                        {
                                                Af = AfLimit ;
                                        }Else
                                        {
                                                Af = Af[1]+AfStep;
                                        }
                                }Else
                                {
                                        Af = Af[1];
                                }
                                ParOpen = oParClose + Af * ( LLValue - oParClose ) ;
       
                                If (ParOpen < High)
                                {
                                        ParOpen = High ;
                                }
                               
                                If (ParOpen < High[1])
                                {
                                        ParOpen = High[1] ;
                                }
                        }
                }       
        }       
       
        oParOpen = ParOpen;
        oPosition = Position;
        Return True;
End

[img][/img]

Rank: 2

精华
0
UID
31990
积分
96
帖子
21
主题
3
阅读权限
30
注册时间
2011-4-4
最后登录
2011-5-5
2#
发表于 2011-4-24 08:43:30 |只看该作者
结果是最终目标文件编译错误。
到底是如何错,也没有个错误代码,我不知如果处理?
我酷我酷

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
3#
发表于 2011-4-24 11:04:24 |只看该作者
回复 2# ma3722
是否是你返回的值与你用户函数选择的类型不相符?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 03:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部