以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请教老师一个跨周期引用的问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=167099)

--  作者:海鱼
--  发布时间:2018/12/14 14:57:00
--  请教老师一个跨周期引用的问题
大周期的ATR  ,引用到小周期里面。D1和D2的参数想在小周期里面进行微调,在小周期公式里应该如何表达(比如大周期的D1D2是1和5,但在小周期里面希望是2和6)  。参数调整后如何表达ATR1>ATR2。谢谢!
input:D1(1,1,20,0.5),D2(5,1,500,1);
TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR1:MA(TR1,D1);
ATR2:MA(TR1,D2);
VAR1:ATR1>ATR2;

--  作者:FireScript
--  发布时间:2018/12/14 15:03:07
--  
 stkind引用可以对参数进行设置的。

这是函数说明里面的例子

若参数为数字变量,那么需要有个字符串转换的过程
s:=5;
m:=NUMTOSTR(s,0);//NUMTOSTR函数将数字转换到字符串,再带入变量中
vola:stkindi(\'if10\',\'ATR.ATR(\'&m&\')\',0,6,-1);//计算IF10合约的日线周期指标ATR的ATR指标线,传递参数m值为5。
//第2个参数\'\'里的是文本,由三部分组成:\'ATR.ATR(\'和m还有\')\',这三部分由两个连接符号&连接起来,实现对数值参数的文本传输。



--  作者:海鱼
--  发布时间:2018/12/14 15:10:03
--  
一定要写下品种名称吗“if10\'”,如果是的话做商品连续  \'ma00\'  这样写对吗
--  作者:FireScript
--  发布时间:2018/12/14 15:12:35
--  
 那个参数可以填空字符串 也就是 ‘’,会按照你加载的品种去引用,但是如果你是螺纹要引用白银这种跨品种了那就必须指定下品种才行了。
[此贴子已经被作者于2018/12/14 15:13:11编辑过]

--  作者:海鱼
--  发布时间:2018/12/14 15:19:31
--  
那么在引用好以后,在小周期上如何表达ATR1>ATR2.
还有,我的公式名称是《ATR_测试》。那么在表达上vola:stkindi(\'if10\',\'ATR_测试.ATR_测试(\'&m&\')\',0,6,-1);

--  作者:FireScript
--  发布时间:2018/12/14 15:32:44
--  
你是要在小周期上引用大周期的 ATR_测试指标.VAR1,并且调整在大周期上的运行参数是吗?


--  作者:海鱼
--  发布时间:2018/12/14 15:48:26
--  
对的,谢谢!
--  作者:海鱼
--  发布时间:2018/12/14 15:50:35
--  
因为发现,不同的品种引用到小周期里面参数都不一样,所以需要将大周期的公式引用后调整参数,以便适应当前品种
--  作者:FireScript
--  发布时间:2018/12/14 16:11:26
--  
 参考这个例子,需要进一步修改的话建议参考函数说明自行设置。
a1:10;//这是你要的调整后的参数,自行修改下数值
a2:20;
str1:NUMTOSTR(a1,0);
str2:NUMTOSTR(a2,0);

result:STKINDI(\'\',\'ATR_测试.VAR1(\'&str1&\',\'&str2&\')\',0,6,0);//引用日线下var1的值,也就是ATR1>ATR2;的判断结果



--  作者:海鱼
--  发布时间:2018/12/14 16:28:48
--  
result:STKINDI(\'\',\'ATR_测试.VAR1(\'&str1&\',\'&str2&\')\',0,6,-1);  这里是否应该是-1,如果是0,是否会有未来?
另作为条件的话直接  COND:=result: