-- 作者:FireScript
-- 发布时间:2017/11/17 16:05:42
--
可以。你这个需求就是跨周期引用了。
可以参照这个样例:
STKINDI(\'\',\'macd.macd1\',0,6,0);//第一个参数是品种,第二个是指标名称。第四个是周期选择。需要注意的是引用的品种数据要自行补充好。
要看详细的可以看下面的函数说明。
引用任意品种任意周期的任意指标输出 用法: STKINDI(STKLABEL,INDINAME,CO,PERIOD[,Num]) STKLABEL 指定品种代码,如为空表示当前品种,指定品种时推荐使用市场+代码的格式,例如SH600000,ZJIF00等. INDINAME 调用的指标、交易系统 CO 坐标轴类型 0交易日坐标 1自然日 2交易交易时间 PERIOD 周期类型,有效值范围为(0-24),依次表示: 0:分笔成交、1:1分钟、2:5分钟、3:15分钟、4:30分钟、5:60分钟、 6:日、7:周、8:月、9:年、10:多日、11:多分钟、12:多秒、 13:多小时、14:季度线、15:半年线、16:节气线、17:3分钟、18:10分钟、19:多笔线、20:自定义N日线、21:自定义N分钟线、22:自定义N秒线 23:自定义N笔线;24:自定义N小时线;25:等价K线;26:等量K线; Num变量说明: 1、当PERIOD周期<=19,Num为左右偏移周期个数(可选),0表示引用当前数据,小于0为引用之前数据,大于0为引用之后数据; 2、当PERIOD周期>=20和<=24时,Num为自定义N周期的具体数字
警告:小周期引用大周期会带来信号闪烁的严重问题,推荐使用上周期已经确立的大周期信号(参数Num = -1)
例如: STKINDI(\'1A0001\',\'MA.MA1(8,12,26,60)\',0,DATAPERIOD); 计算1A0001的当前周期MA指标的MA1指标线 STKINDI(\'\',\'RSI.RSI1\',0,6); 计算当前品种的日线周期RSI指标的RST1指标线 STKINDI(\'SH600000\',\'RSI\',0,6,-1); 引用昨日SH市场600000品种的日线周期RSI指标最后—行输出并且使用公式的默认参数 STKINDI(\'SH600000\',\'RSI\',0,21,8);表示引用RSI指标自定义8分钟周期的公式当前数据 STKINDI(\'SH600000\',\'RSI\',0,11,0);表示引用RSI指标多分钟周期的公式数据(多分钟参数在工具菜单->选项->常规选项卡中设置)
若参数为数字变量,那么需要有个字符串转换的过程 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还有\')\',这三部分由两个连接符号&连接起来,实现对数值参数的文本传输。 引用数据时,需要实现确认被引用品种周期数据齐全,再首次使用或者在不确定时,请手工进行数据补充工作. 当周期参数为25或26时取设置中默认的等价等量设置,要注意使用不当(当等价等量数值过大)可能会造成未来数据引用!
[此贴子已经被作者于2017/11/17 16:07:26编辑过]
|