欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 是否可以这样调用跨周期?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3409人关注过本帖树形打印复制链接

主题:是否可以这样调用跨周期?

帅哥哟,离线,有人找我吗?
OscarDeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
是否可以这样调用跨周期?  发帖心情 Post By:2020/7/25 12:09:40    Post IP:113.66.114.87[只看该作者]


是否可以这样调用跨周期?
TBUPDAY:=STKINDI('','SECRETTOPBOTTOM.TBUP',0,6,-1) or STKINDI('','SECRETTOPBOTTOM.NB',0,6,-1) ,noaxis;

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/7/27 7:53:31    Post IP:58.246.57.26[只看该作者]

正确的。

但是建议考虑到STKINDI引用效率和个数的限制,并且你还是调用同一个公式中变量作为因子项的需求,可以直接在被引用公式中处理。这种既能减少引用次数,相对也能提高效率

cond:TBUP or NB;

 

 

TBUPDAY:=STKINDI('','SECRETTOPBOTTOM.cond',0,6,-1)



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
OscarDeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
  发帖心情 Post By:2020/8/12 18:51:46    Post IP:14.145.164.26[只看该作者]

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";这种表达是错误的, 改怎样表达? 

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/8/13 6:14:35    Post IP:101.88.208.115[只看该作者]

 

TBPD1min:="SECRETTOPBOTTOM.TBPD1"; 加了等号会显示出错

本地没有问题。你看具体报什么语法错误。报错位置可能不准,在报错位置上下检查下。

 

 

为什么STKINDI 里面是加单引号, 而TBPD1min:="SECRETTOPBOTTOM.TBPD1" 是要加双引号?

stkindi内的第二个参数是字符串,自然是单引号。金字塔中的双引号是,老式的引用方法。两者之间在颜色上也能区分开。单引号定义的字符串是粉红色。双引号的引用是红色、

两者不是一个概念。

 

如果是字符串格式的变量, 那就不能使用了吗? 例如

STR00:='SECRETTOPBOTTOM';

什么意思?没看出开你上下文的意思

 

TBPD1min:"STR00.TBPD1";这种表达是错误的, 改怎样表达? 

如果这个位置的TBPD1min不是第一次定义。应该是:=  



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
OscarDeng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
  发帖心情 Post By:2020/8/17 12:44:42    Post IP:202.105.58.111[只看该作者]

那现在是用 stkindi 还是 用双引号  好? 假如是调用同一周期的函数? 

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/8/17 13:25:15    Post IP:58.246.57.26[只看该作者]

 你这里如果是不跨品种和周期。那么你可以用双引号的调用方式。

类似这种形式:
"INDIE.VAR"(P1,P2)   // 引用INDI指标的VAR输出,计算参数为P1,P2.如果没有参数可以不用写参数。

当然其实跨周期也是可以的,主要不跨品种用这种双引号方式调用效率会更高点:
"MACD.macd1#WEEK";//引用周线数据的MACD的macd1输出


命数如织,当如磐石。
 回到顶部