开拓者期货期权程序化系统交易论坛

标题: 新手求助,return的用法 [打印本页]

作者: a774965352    时间: 2019-10-17 17:50:50     标题: 新手求助,return的用法

Params
   Numeric chang(15);
   Numeric zhouqi(30);
   
Vars
        Numeric A;
        Numeric  A1;
        Numeric A2;

        Numeric  B1;
        Numeric  B2;
        Bool  B3;
        Bool  A3;
        Numeric MA;
        Bool  A4;
       
        Bool A5;
        Bool A6;
        Bool B4;
        Bool B5;

       
Begin
         A=StandardDev(c,20,2);
         MA=Average(C,zhouqi);
         A1=Highest(a,chang);
         a2=Highest(c,chang);
         b2=Lowest(c,chang);
         b1=Lowest(a,chang);
         A3=c>=a2;
         A4=a>=a1;
          A5=c>=ma;
          A6=A<=A1;
          B3=c<=b2;
          B4=a<=b1;
          B5=c<=ma;
         If(MarketPosition==0)
         {
        A3==True&&A4==True&&A5==True;
        Return;
       
        Buy(1,0);//买开
               
        }
       
       
         If( MarketPosition==1)
         {
         A6==True;Return;
         Sell(1,0);//卖平
                
         }
         
         
         If(MarketPosition==0)
         {
        B3==True&&B4==True&&B5==True;
        Return;
         SellShort(1,0);//卖开
                
         }
         
         
         if(MarketPosition==-1)
         {
         A4==TRUE;
         Return;
         BuyToCover(1,0);
                
                 
         }
         
       
         
        End

作者: a774965352    时间: 2019-10-17 17:58:08


刚从文华转过来,有点小白;
编译提示 RETURN的返回值类型与公式定义的返回值不符,
return的用法还不太明白,手册上也没找到,希望有老师帮助讲一下return的用法,或者给个链接。

还有关于变量
在BIGIN定义后,不能追溯,如果想用[1],也就是引用前几根上的数据,该怎么做。
如果是文华上,我想表达创新高,  close>20日内最高价
在TB上我试着先定义变量  A1= highest(C,N);
然后想条件为 C>A1[1];
但是A1提示就不能追溯,该怎么解决这个问题?
小白一枚,希望有老师解答
作者: Yuen_Lee    时间: 2019-10-17 18:15:32

如果你的程序不是用户函数,而是公式应用,则应该用Exit Sub;做退出。第二个问题,应该将A1设为NumericSeries,才能用A[1]进行追溯。
作者: a774965352    时间: 2019-10-17 18:52:11

Yuen_Lee 发表于 2019-10-17 18:15
如果你的程序不是用户函数,而是公式应用,则应该用Exit Sub;做退出。第二个问题,应该将A1设为NumericSeri ...

EXIT SUB; 不是个函数阿老师
作者: 小米    时间: 2019-10-18 09:19:03

a774965352 发表于 2019-10-17 17:58
刚从文华转过来,有点小白;
编译提示 RETURN的返回值类型与公式定义的返回值不符,
return的用法还不太明 ...

公式 里,可以将return都去掉。
另外,公式里的判断都是使用了C的,这个是会导致信号消失或忽闪的,建议使用其它数据替换。
作者: a774965352    时间: 2019-10-18 10:44:57

小米 发表于 2019-10-18 09:19
公式 里,可以将return都去掉。
另外,公式里的判断都是使用了C的,这个是会导致信号消失或忽闪的,建议 ...

如果把return去掉,编译的时候提示 缺少return语句
作者: 小米    时间: 2019-10-18 11:19:20

a774965352 发表于 2019-10-18 10:44
如果把return去掉,编译的时候提示 缺少return语句

要新建公式应用,还是是新建函数
作者: a774965352    时间: 2019-10-18 11:25:45

小米 发表于 2019-10-18 11:19
要新建公式应用,还是是新建函数

我建成了公式应用




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2