在通达信软件中,利用指标公式在K线图上显示分钟倒计时,可以直观地掌握当前周期K线剩余的交易时间,尤其对于短线交易者把握分时买卖点、尾盘决策等有实用价值。其核心原理是通过系统函数提取当前时间,结合交易所固定交易时段,计算距离本根K线收盘的剩余秒数或分钟数,并以文字标注的形式输出到图表上。
一、功能与特点- 实时动态显示:倒计时数值随行情刷新自动更新,精确到秒,直观反映当前K线从开盘到收盘的剩余时间。在1分钟、5分钟、15等不同分时周期下均可适用,帮助用户确认K线是否即将成型,避免在临近收盘时依据未完成的K线信号操作。
- 自定义交易时段:默认采用中国A股标准交易时间(上午9:30-11:30,下午:00-15:),但公式中可通过变量灵活调整,适配期货、期权等不同市场的日夜盘时段。用户可将非交易时段(如午休)的倒计时归零或隐藏,避免干扰。
- 原有技术指标:该公式仅用于绘制文字或数字,不修改K线数据,也不干扰其他主图或副图指标。可作为独立指标加载,也可以嵌套到自用主图公式中。
- 兼容性强:适用于通达信的各个版本(PC端、手机端),公式语法简洁,无需额外插件,复制粘贴即可使用。
- 获取当前时间:使用
TIME函数返回从点到当前的分钟数(例如14:30对应870分钟),或使用TIMEFROMTODAY返回当天从点开始的秒数。由于分钟级K线的收盘时间点固定,倒计时需基于当前K线的结束时间计算。 - 判断当前周期:通过
PERIOD函数(周期代码)区分当前K线的分钟数,例如PERIOD=1表示1分钟线,PERIOD=2表示5线,PERIOD=3表示15分钟线,PERIOD=4表示30分钟线,PERIOD=5表示60分钟线- 确定K线结束时间点:根据当前K线开始时间加上周期分钟数,或根据交易时段边界推算出下一个K线收盘时间。更通用的做法是:取当前时间对周期长度取模,用周期长度减去已运行分钟数,即得剩余分钟数;再换算为秒数显示。 - 输出文字:使用
RAWTEXT或DRAWNUMBER函数,将倒计时数值绘制在固定位置,如K线图右上角或最后K线附近。为了美观和易读,可配合FONTCOLOR、FONTSIZE设置颜色和字号。
公式适用于沪深A股1分钟K线,可在主图直接显示“盘中倒计时”和“剩余秒数”。加载后,图表左上角会持续显示当前K线距收盘的剩余时间。
text
{分钟K线倒计时}
周期分钟:=IF(PERIOD=1,1,IF(PIOD=2,,IF(PERIOD=3,15,IFERIOD=4,30,IF(PERIOD=5,60,)))));
当前分钟:=TIME;
{计算当前K线结束时间}
结束分钟:=周期分钟*(INTPART(当前分钟/周期分钟)+1);
剩余分钟:=结束分钟-当前;
{处理非交易时段及临近收盘}
上午结束:=450; {11:30换算为分钟数=11*60+30}
下午开始:=780; {1300=13*60}
下午结束:=900; {15:00=15*60{判断是否在交易时段}
交易时段:= (当前分钟<=上午结束) OR (当前分钟>=下午开始 AND 当前<=下午结束);
{若在非交易时段或收盘后则不显示,反之显示倒计时}
有效剩余:=IF(交易时段,剩余分钟,);
{将分钟转换为秒数并显示}
剩余秒数:=有效剩余*60;
DRAWTEXT_FIX(有效剩余>,.01,.,, '距K线结束: '),COLORWHITE;
DRAUMBER_FIX(有效剩余>,08,.01,,剩余秒数),COLORYELLOW;
DRAWTEXT_FIX(有效剩余>,.13,.,, ' 秒'),COLORITE;
四、公式逐句解释
周期分钟:利用PERIOD函数将当前K线分钟数赋给变量。若周期非上述默认,则返回,不会产生错误提示。当前分钟:TIME返回自点以来的分钟数,例如9:35返回575。该值在K线运行中不断增大。结束分钟:通过整除取整,得到本根K线结束的时间点。例如当前时间为575(9:35),若周期为5分钟,则上一整周期为5INTPART(575/5575,下一整周期为5(115+1)=580,即9:40结束,剩余5分钟。剩余分钟:结束分钟减去当前分钟,即从当前时刻到K线收盘的整分钟数。当K线刚刚开盘时,剩余数值等于周期分钟数;临近收盘时,趋近于。时段:判断当前时间是否在上午9:30-11:30或下午13:00-:00内。注意当前分钟<=450已隐含了9:30之后的时间,因为TIME从点开始,而9:30对应570分钟,但此处使用<=450实际上涵盖了上午所有时间,包括9:30前的时段。为了精确,需增加当前分钟>=570条件。下面提供一个修正版。有效剩余:非交易时段强制归零,避免在午休或收盘后显示负数或无关数值。- 输出部分:
DRAWTEXTF和DWNUMBERFIX是在屏幕上按相对坐标定位绘制,无需随K线滚动。.01和.08分别控制文字和数字的横向位置,.01是纵向位置,` 表示相对左上角。你也可以使用DRAWTEXT配合CONST` 函数固定在最后K线位置。
上述公式只显示分钟,如果要精确到秒,需要使用 TIMEFROMTODAY(返回当日点开始的秒数)并考虑秒数运算。通达信中有 FROMOPEN(返回距开盘多少秒)、CURRENTTIME 等函数,但更可靠的是用 TIMEFROMTODAY。
`text
分钟倒计时精确到秒
当前秒数:=TIMEFROMTODAY;
{同理计算本K线结束的秒数}
周期秒:=周期分钟*60;
开盘秒:=570*60; {9:30对应34200秒}
上午收盘秒:=450*60; 11:30对应00秒}
下午开盘秒:=780*60; {13:00对应00秒}
下午收盘秒:=900*60; {15:00对应00秒}
{计算当前K线结束秒}
结束秒:=周期秒*(INTPART(当前秒数/秒)+1);
秒:=结束秒-当前秒数;
{交易时段精确判断}
交易时段:= (当前秒数>=秒 AND 当前秒数<=上午收盘秒) OR (当前秒数>=下午开盘秒 AND 当前秒数<=下午收盘);
有效剩余秒:=IF(交易时段 AND 剩余秒>=,剩余秒,);
DRAWTEXT_FIX(有效剩余秒>,.01,.01,, '剩余秒数: '),COLORWHITE;
DRAWNUMBER_FIX有效剩余秒>.08,.01,,有效剩余秒COLORYELLOW;
六、使用方法与注意事项- 安装步骤:打开通达信软件,按
Ctrl+F打开公式管理器,选择“新建”,公式名称自定,例如“K线倒计时”,将上述代码粘贴到公式编辑区,测试通过后保存。然后在任意K线图的主图指标中点击右键选择“主图指标”或“叠加指标”,找到刚创建的指标并执行即可。 - 适配不同周期:该公式能自动适应1分钟、5分钟、15分钟、30分钟、60分钟等周期,但超过60分钟(如日线、周线)时,
PERIOD返回的不是分钟值,需要另行处理。默认策略是当周期分钟为时不绘制倒计时。 - 处理尾盘最后K线:在下午收盘前最后一根分钟K线,计算出的结束时间可能超过15:00,但届时剩余秒数为负值,公式中通过
剩余秒>=过滤,因此只会显示正常剩余时间,直到收盘时自动消失。 - 视觉优化:如果你想将倒计时显示在K线图的其他位置(如主图上方中间),可调整
DRAWTEXTFIX的横纵坐标参数。第一个数值是横向比例(-1),第二个是纵向比例(-1),第三个是对齐方式(左对齐,1右对齐,2居中)。例如DRAWTEXTFIX(,.5,.2,1,...)可实现右上角显示。 - 资源占用:由于倒计时每秒刷新,可能会增加少量CPU占用,但通达信本身已高频率推送行情,实际影响可忽略。若在手机端使用,建议缩短刷新频率或仅显示分钟数。
- 多市场支持:修改交易时段的起止时间变量即可适配夜盘期货(如21:00-次日凌晨2:30),只需增加一个时段判断,例如
夜市开始:=216060 夜市结束:=6060+3060;,并注意跨天处理。 - 结合K线状态提示:当剩余时间小于周期长度的10%时,可改变字体颜色,提示当前K线即将成形,增强警示效果。
- 显示“已用时间”:反向计算当前K线已进行的分钟数,对统计盘面节奏同样有参考价值,只需将
剩余秒改为秒-剩余秒。







