以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有关把多个数据翻译成字符串,再翻译回来的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=173236)

--  作者:LGP-AT
--  发布时间:2019/11/22 0:10:21
--  有关把多个数据翻译成字符串,再翻译回来的问题
尊敬的金字塔老师您好!再请教您一个问题:

我写了两个模型,“模型1” 和 “模型2”,在 “模型1” 里有这样两个语句:

当前持仓: HOLDING ,NODRAW;
下单价格: IF((TYPE(1)=1 OR TYPE(1)=3),ENTERPRICE,EXITPRICE) ,NODRAW;

运行以后,图表上会显示相应的数据。
例如:
 “当前持仓” 显示 “-20” ,“下单价格” 显示 “3667”。说明在这根K线上,模型持有空单20手,其开仓价格为3667。

问1:如何能将这两组数据合并成一个字符串,然后在 “模型2” 中,通过 STKINDIEX 语句将这个字符串引入?
问2:成功引入以后,怎样将这个字符串再拆分成可以运算的形式呢?如下:

//----模型2----
STKINDIEX(RB00,\'模型1.那个字符串\',0,5,-1,0);//引入那个长字符串
{将这个引入的字符串翻译成可以运算的数值:}
模型1当前的持仓:??????;
模型1下单的价格:??????;
//--------------------------------------

虽然在 “模型2” 中,可以使用两个STKINDIEX来实现上述功能,但是我发现STKINDIEX会消耗大量资源,应该尽可能少用或者不用。因此我想通过这个方法在 “模型2” 中仅使用一次STKINDIEX就完成对多个数据的同时调用。

谢谢老师和前辈解答!非常感谢!

--  作者:FireScript
--  发布时间:2019/11/22 9:16:51
--  
 这个不行。我试了,stkindi不能调用字符串变量。调用过来的就变成空字符串了。
--  作者:LGP-AT
--  发布时间:2019/11/22 9:50:34
--  
请问有没有其他方法能实现我描述的功能呢??因跨模型引用数据会很慢。。。我想到用一组字符串传递需要被引用模型中的多个信息,理论上是可以提高效率的。。。如果能实现最好了

谢谢老师!!

--  作者:LGP-AT
--  发布时间:2019/11/22 9:55:42
--  
又或者,先在模型1中,把数据翻译成一个位数很大的常数。比如100203661,这个数字其实100代表空单,20代表手数,3661代表价格。这样作为常数引用到模型2中呢?
--  作者:FireScript
--  发布时间:2019/11/22 10:07:38
--  
 这样其实也是可能实现的。但是对引用的数据本身有限制。这个我试下。
--  作者:LGP-AT
--  发布时间:2019/11/22 21:45:11
--  
已解决,谢谢老师