【函数详解】通达信PERIOD周期类型使用详解

在通达信公式系统中,PERIOD函数是用于判断当前K线周期类型的关键函数,其返回值对应不同时间周期。以下是其核心用法及场景示例:

【函数详解】通达信PERIOD周期类型使用详解-好运哒哒指标源码网

一、PERIOD函数返回值‌

在通达信公式系统中,PERIOD函数返回值与周期的对应关系如下:

返回值 对应周期类型
0 1分钟线
1 5分钟线
2 15分钟线
3 30分钟线
4 60分钟线(即小时线)
5 日线
6 周线
7 月线
8 多分钟线(自定义分钟数)
9 多日/季/年线
12 5秒线/多秒线
≥13 自定义周期

补充说明:

  1. 未定义的返回值
    10和11‌在官方标准列表中未被明确分配周期类型13,可能为保留值或特定版本扩展用途。

  2. 自定义周期应用
    当返回值≥13时,周期参数需通过软件手动设置(如特定分钟数、小时组合等),非系统预设标准周期17

  3. 典型代码应用

// 仅在日线周期下显示10日均线
十日线: IF(PERIOD=5, MA(C,10), DRAWNULL);

 

 

二、典型应用场景‌

1. ‌周期条件筛选‌

在指标公式中动态控制显示内容,例如仅在日线周期下绘制10日均线:

十日线: IF(PERIOD=5, MA(C,10), DRAWNULL);

此时,非日线周期(如周线、分钟线)下该均线不显示。

 

2. ‌跨周期数据引用‌

结合#符号引用更高周期数据(需注意仅支持从低周期引用高周期):

周线收盘价 := CLOSE#WEEK; // 在日线周期下引用周线收盘价

但需确保本地已下载对应周期数据,且避免直接转换非基本数据(如自定义变量)。

 

3. ‌流程控制优化‌

通过TESTSKIP中断无关周期计算,提升公式效率:

N := IF(PERIOD=0,1, IF(PERIOD=1,5, IF(PERIOD=2,15, ... ))); // 根据周期设定参数
CTRL := TESTSKIP(N=0); // 仅在非分钟周期下中断后续计算

此方法可减少冗余计算。

 

4.时间窗口动态计算

根据当前周期类型动态调整计算逻辑。例如,在分钟周期中计算交易日内的成交均价走势:

FIRST:=IF(PERIOD=0, HOUR=9 AND MINUTE=31,  // 1分钟周期首根K线时间
       IF(PERIOD=1, HOUR=9 AND MINUTE=35,  // 5分钟周期首根K线时间
       ...));
当日均价: SUM(AMO,BARSLAST(FIRST)+1)/SUM(VOL,BARSLAST(FIRST)+1)/100;  // 动态起点计算:ml-citation{ref="8" data="citationList"}

 

 

5.条件触发式策略

根据不同周期执行差异化交易策略。例如,在小时线及以上周期启用趋势跟踪策略,分钟线启用短线信号:

趋势策略: IF(PERIOD>=4 AND PERIOD<=7, 趋势条件, 0);  // 周期4-7为小时/日/周/月线:ml-citation{ref="3,7" data="citationList"}
短线信号: IF(PERIOD<=3, 突破条件, 0);               // 周期0-3为分钟线:ml-citation{ref="3" data="citationList"}

 

 

注意事项

  1. 周期兼容性
    跨周期引用需遵循“高级别周期引用低级别周期”原则(如日线可引用分钟线数据,反之需谨慎处理)5
  2. 自定义周期处理
    PERIOD≥13时,需手动配置软件中的自定义参数(如特殊分钟数或混合周期)7
  3. 未来数据风险
    在多周期叠加场景中,避免直接引用未完整周期的数据导致信号漂移5

三、注意事项‌

周期一致性‌

公式内所有变量默认继承调用时设置的周期,跨周期引用需严格遵循“低周期引用高周期”规则。

未来数据风险‌

跨周期引用可能引入未来数据(如周线引用在日线中),需在策略回测中验证逻辑有效性。

返回值扩展性‌

自定义周期(返回值≥13)需通过软件设置实现,常规公式中较少直接使用。

四、综合案例‌

构建一个仅在周线周期显示20日均线,并在日线周期引用周线数据的指标:

周均线显示: IF(PERIOD=6, MA(C,20), DRAWNULL);
日线引用周线收盘价: CLOSE#WEEK;

指标使用通用经验总结

  1. 一般出现信号不急着立即介入,介入时机一般尾盘半小时判断信号是否可介入;
  2. 指标信号出现后第二天冲高阴线立即清仓等待突破上一个信号点最高价判断是是否介入;
  3. 指标信号出现后第二天阴线或假阳线立即清仓,等待突破上一个信号点最高价在判断是否介入;
  4. 在上涨,现价处于上涨高位的『介入、看多』信号不参与;
  5. 不是信号一出现就介入,要根据市场环境,量价关系,市场情绪等诸多因素判断是否可介入;
  6. 技术指标有其本身局限性,宁可错过,也不要做错
  7. 拿到指标后,多测试,多练习,看是否符合预期,总结规律;

总之一旦信号失真,不符合预期,立即清仓控制风险 ;

© 版权声明
THE END
喜欢就支持一下吧
点赞30赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容