如何设置4H时间区间起始时间?阶梯图时间差异脚本配置咨询
问题解答
1. 4小时(4H)时间区间起始时间设置
可以通过脚本自定义4H时间区间的起始点。以Pine Script为例,核心思路是计算当前K线的时间偏移,手动对齐到目标起始时间:
//@version=5 indicator("自定义4H起始时间", overlay=true) // 设置目标起始小时(示例为UTC 1点) targetStartHour = 1 // 计算当前K线的UTC小时 currentHour = hour(timenow, "UTC") // 计算偏移量,对齐到目标起始时间的4H区间 offset = (currentHour - targetStartHour + 24) % 4 // 生成自定义4H区间的时间戳 custom4HTime = timestamp(year, month, day, targetStartHour + offset * 4, 0, 0) // 可选:验证自定义区间的时间输出 var table t = table.new(position.top_right, 1, 1) table.cell(t, 0, 0, str.tostring(custom4HTime, "yyyy-MM-dd HH:mm"))
这段代码会把4H区间的起始时间固定在你指定的小时,所有后续区间以此为基准递进。
2. 阶梯图起止时间差异的脚本配置
BTCUSD(24小时连续交易)和AMD(仅美股盘时段交易)的阶梯图起止差异,本质是两者交易时间规则不同。可以通过脚本统一绘制逻辑:
- 填充休盘时段价格:强制以24小时周期为基准绘制,美股休盘时沿用最后成交价:
//@version=5 indicator("统一时段阶梯图", overlay=true) // 休盘时沿用最新成交价 var float extendedPrice = na extendedPrice := not na(ta.close) ? ta.close : extendedPrice // 绘制阶梯图 plot(extendedPrice, style=plot.style_step, color=color.blue)
- 对齐共同起始点:指定统一的起始时间戳,以此为基准绘制两者的阶梯图:
//@version=5 indicator("对齐起始点阶梯图", overlay=true) // 指定共同起始时间(示例为2024-01-01 00:00 UTC) startTime = timestamp(2024, 1, 1, 0, 0, 0) // 仅在起始时间之后绘制阶梯图 plot(time >= startTime ? ta.close : na, style=plot.style_step, color=color.red)
内容的提问来源于stack exchange,提问作者Merlin
相关产品推荐
相关产品推荐

