在同一个公式脚本中,所有变量的数据周期都是相同的,就是调用公式时设置的周期。在公式脚本中要用其它周期的数据,共有两种方式:
"#"后可用MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH,SEASON,YEAR
例如:
TMP1:=CLOSE#WEEK;
非指标引用时只可用于OPEN,HIGH,LOW,CLOSE,VOL,AMOUNT,VOLINSTK等,切勿对此外的数据直接使用变周期转换!
当前周期可用MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH,SEASON,YEAR,不支持多秒线,多分钟线和多日线,
引用周期必须要高于当前周期,5秒线只支持引用1分钟线和5分钟线,周期数据转换得到
TMP2:=KDJ.K#WEEK;
跨周期指标引用,引用品种的对应周期的数据必须要先下载到本地
跨周期指标引用不支持带参数
提示:跨周期时,可能会引用到未来数据
使用跨周期引用数据时注意点:
切勿对大周期内跑的数据使用小周期转换!无论是开高低收等基本数据、还是自定义变量,都无法从大周期数据直接转换成小周期数据,只能通过公式引用来获得小周期数据。
这种方式有局限性,只能在小周期公式中得到大周期数据,且仅适用于一些基本数据,如close,high,low,open等。
示例1:
公式1:
公式名称:BARH
公式脚本:
周期最高价:H; 周最高价:H#WEEK; 月最高价:H#MONTH;
运行示例1:
示例2:公式脚本在日线下运行时,可用BAR.BARH#WEEK;来获得BAR公式在周线下的BARH值。
公式1:
公式名称:BAR
BARC:C;{当前周期收盘价} BARH:H;{当前周期最高价} BARL:L;{当前周期最低价} BARO:O;{当前周期开盘价}
公式2:
公式名称:BARREF
日线开盘价:BAR.BARH#DAY; 周线开盘价:BAR.BARH#WEEK; 月线开盘价:BAR.BARH#MONTH;
运行示例2:
示例3:
公式1:
公式名称:TMP
REF(OPEN,1); {此指标用于分钟周期线,同时在昨开盘价的位置上画一根线。}
公式2:
公式名称:DFDF
E:=CURRBARSCOUNT; E1:=DAY!=REF(DAY,1); E2:=BARSLAST(E1)+1; E3:=MA(C,E2); E4:=SUM(AMO,E2)/SUM(VOL,E2)/100; E5:=IF(CAPITAL>0,E4,E3); 昨开:IF(E<=CONST(E2),TMP#DAY,DRAWNULL),COLORCYAN,LINETHICK3;
运行示例3:
ZQ:=IF(PERIOD=0,240, IF(PERIOD=1,48, IF(PERIOD=2,16, IF(PERIOD=3,8, IF(PERIOD=4,4, IF(PERIOD=5,1,1)))))); FIRST:=IF(PERIOD=0,HOUR=9 AND MINUTE=31, IF(PERIOD=1,HOUR=9 AND MINUTE=35, IF(PERIOD=2,HOUR=9 AND MINUTE=45, IF(PERIOD=3,HOUR=10 AND MINUTE=0, IF(PERIOD=4,HOUR=10 AND MINUTE=30,0))))); {确定交易日内第一根K线的位置} RNZQ:=IF(PERIOD=5,1,BARSLAST(FIRST)+1); {确定交易日内的K线的位置,日周期确定为1根K线} DIN9:REF(HHV(HIGH,ZQ*9),RNZQ),COLORCYAN; {过去9个交易日最高价,适用于日内周期和日周期} DI9:REF(LLV(LOW,ZQ*9),RNZQ),COLORMAGENTA; {过去9个交易日最低价,适用于日内周期和日周期}
运行实例:
联系客服