是否可以这样调用跨周期?TBUPDAY:=STKINDI('','SECRETTOPBOTTOM.TBUP',0,6,-1) or STKINDI('','SECRETTOPBOTTOM.NB',0,6,-1) ,noaxis;
正确的。
但是建议考虑到STKINDI引用效率和个数的限制,并且你还是调用同一个公式中变量作为因子项的需求,可以直接在被引用公式中处理。这种既能减少引用次数,相对也能提高效率
cond:TBUP or NB;
TBUPDAY:=STKINDI('','SECRETTOPBOTTOM.cond',0,6,-1)
REFTBUPPDDAY:=STKINDI('','SECRETTOPBOTTOM.REFTBUPPD',0,6,-1),noaxis;//抄底
REFTBDOWNNDDAY:=STKINDI('','SECRETTOPBOTTOM.REFTBDOWNND',0,6,-1),noaxis;//抄底
TBPD1min:"SECRETTOPBOTTOM.TBPD1";
TBND1min:"SECRETTOPBOTTOM.TBND1";
上面四句, STKINDI前面是可以加等号也可以不加等号。 但是这句可以加等号码? TBPD1min:="SECRETTOPBOTTOM.TBPD1"; 加了等号会显示出错。 还有, 为什么STKINDI 里面是加单引号, 而TBPD1min:="SECRETTOPBOTTOM.TBPD1" 是要加双引号? 如果是字符串格式的变量, 那就不能使用了吗? 例如
STR00:='SECRETTOPBOTTOM';
TBPD1min:"STR00.TBPD1";这种表达是错误的, 改怎样表达?
TBPD1min:="SECRETTOPBOTTOM.TBPD1"; 加了等号会显示出错
本地没有问题。你看具体报什么语法错误。报错位置可能不准,在报错位置上下检查下。
为什么STKINDI 里面是加单引号, 而TBPD1min:="SECRETTOPBOTTOM.TBPD1" 是要加双引号?
stkindi内的第二个参数是字符串,自然是单引号。金字塔中的双引号是,老式的引用方法。两者之间在颜色上也能区分开。单引号定义的字符串是粉红色。双引号的引用是红色、
两者不是一个概念。
如果是字符串格式的变量, 那就不能使用了吗? 例如
STR00:='SECRETTOPBOTTOM';
什么意思?没看出开你上下文的意思
TBPD1min:"STR00.TBPD1";这种表达是错误的, 改怎样表达?
如果这个位置的TBPD1min不是第一次定义。应该是:=
那现在是用 stkindi 还是 用双引号 好? 假如是调用同一周期的函数?
你这里如果是不跨品种和周期。那么你可以用双引号的调用方式。
类似这种形式:
"INDIE.VAR"(P1,P2) // 引用INDI指标的VAR输出,计算参数为P1,P2.如果没有参数可以不用写参数。
当然其实跨周期也是可以的,主要不跨品种用这种双引号方式调用效率会更高点:
"MACD.macd1#WEEK";//引用周线数据的MACD的macd1输出