设为首页收藏本站

 找回密码
 注册
查看: 869|回复: 3

请问我这个自建函数为啥返回值非要是布尔型? [复制链接]

Rank: 1

精华
0
UID
264674
积分
7
帖子
4
主题
1
阅读权限
10
注册时间
2018-4-20
最后登录
2019-8-29
发表于 2019-4-16 17:33:34 |显示全部楼层
提个问题啊,我这个自建函数里边都是数值型的参数,为啥返回值非得设置成布尔型才能通过编译啊?
我看显示错误的行数 是77行。只有Return True这个语句,不知道这个为啥不行。
请高手指点。



代码如下:
  1. Params
  2.         NumericSeries s_czsc_high;
  3.         NumericSeries s_czsc_low;
  4.         NumericSeries s_direction;
  5.         NumericSeries s_status;
  6.         NumericSeries s_pen;                                                                                                //11 表示底        10 表示上行        -11表示顶        -10表示下行
  7.         
  8.         NumericRef pen;
  9. Vars
  10.         Numeric i(0);
  11. Begin
  12.         If(s_status==0){                                                                                                        //如果还没开始则延续状态
  13.                 pen = s_direction*10;
  14.         }
  15.         Else{
  16.                 While(i<50){If(s_pen==11 or s_pen==-11){break;}i=i+1;}        //回溯50个缠中说禅笔,直至符合条件中断(50可根据周期自定义)
  17.                 If(s_pen==10 or s_pen==-10){                                                                //如果回溯50个仍没符合条件的则延续状态
  18.                         If(s_direction>0){
  19.                                 pen = s_direction*10+s_status;
  20.                                 PlotString("l","|",s_czsc_low);
  21.                         }
  22.                         else{
  23.                                 pen = s_direction*10-s_status;
  24.                                 PlotString("u","|",s_czsc_high);
  25.                         }
  26.                 }
  27.                 Else{
  28.                         If(i<3){                                                                                                        //i为相隔的bar数,相隔的Kbar数不符合笔的要求则维持原来状态
  29.                                 pen = s_direction[1]*10;        
  30.                         }
  31.                         Else{
  32.                                 If(s_direction==1 and s_pen==11){                                        //同方向转变状态的,则比较哪个更低或更高,留下更低的或更高的或保持状态
  33.                                         If(s_czsc_low[1]<s_czsc_low[i+2]){
  34.                                                 pen = s_direction*10+s_status;
  35.                                                 PlotString("l","|",s_czsc_low);
  36.                                                 Unplot("p",i+1);
  37.                                                 PlotNumeric("p",s_czsc_low);
  38.                                         }
  39.                                         Else{
  40.                                                 pen = s_direction[1]*10;
  41.                                         }
  42.                                 }
  43.                                 Else If(s_direction==-1 and s_pen==-11){
  44.                                         If(s_czsc_high[1]>s_czsc_high[i+2]){
  45.                                                 pen = s_direction*10-s_status;
  46.                                                 PlotString("u","|",s_czsc_high);
  47.                                                 Unplot("p",i+1);
  48.                                                 PlotNumeric("p",s_czsc_high);
  49.                                         }
  50.                                         Else{
  51.                                                 pen = s_direction[1]*10;
  52.                                         }
  53.                                 }
  54.                                 Else{                                                                                                        //不同方向的则需要依据当前方向判断前后两个分型之间有没有重叠,有重叠则无效,无重叠则确认为笔
  55.                                         If(s_direction>0){
  56.                                                 If(s_czsc_high[1]<s_czsc_low[i+2]){
  57.                                                         pen = s_direction*10+s_status;
  58.                                                         PlotString("l","|",s_czsc_low);
  59.                                                         PlotNumeric("p",s_czsc_low);
  60.                                                 }else{
  61.                                                         pen = s_direction[1]*10;
  62.                                                 }                                       
  63.                                         }
  64.                                         else{
  65.                                                 If(s_czsc_low[1]>s_czsc_high[i+2]){
  66.                                                         pen = s_direction*10-s_status;
  67.                                                         PlotString("u","|",s_czsc_high);
  68.                                                         PlotNumeric("p",s_czsc_high);
  69.                                                 }else{
  70.                                                         pen = s_direction[1]*10;
  71.                                                 }                                       
  72.                                         }
  73.                                 }
  74.                         }
  75.                 }
  76.         }
  77.         Return True;
  78. End
复制代码
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 1

精华
0
UID
264674
积分
7
帖子
4
主题
1
阅读权限
10
注册时间
2018-4-20
最后登录
2019-8-29
发表于 2019-4-16 18:29:19 |显示全部楼层
感谢群里的阿九前辈指导。将77行的Return True;改为Return 0;
就可以设置为输出数据为数值型,并通过编译了。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-4-17 09:07:13 |显示全部楼层
return true是 布尔型函数的返回值

使用道具 举报

Rank: 1

精华
0
UID
264674
积分
7
帖子
4
主题
1
阅读权限
10
注册时间
2018-4-20
最后登录
2019-8-29
发表于 2019-4-17 10:10:17 |显示全部楼层
小米 发表于 2019-4-17 09:07
return true是 布尔型函数的返回值

谢谢版主回复哈。

使用道具 举报

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

bottom

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

GMT+8, 2024-4-19 07:30

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部