You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需打开指标面板,直接通过K线设置指标周期/长度?

无需打开指标面板设置Pine Script指标周期的方法

一、点击K线直接设置周期

通过监听鼠标点击事件,获取点击位置与最后一根K线的间隔,自动计算并设置指标周期,全程无需打开指标面板。

代码实现:

//@version=5
indicator("点击K线设周期", overlay=true)

// 初始化周期变量,替代原input.int的默认值
var int movePeriods = 37

// 监听左键点击事件
if mouseclick.left
    // 计算点击K线与最后一根K线的间隔
    clickBarGap = bar_index - barssince(barstate.islast)
    // 确保周期在设定的3-1439范围内
    newPeriod = math.max(3, math.min(1439, abs(clickBarGap)))
    movePeriods := newPeriod

// 示例:标记周期起点K线
plotshape(bar_index == bar_index - movePeriods + 1, location=location.belowbar, color=color.red, style=shape.labelup, text=str.tostring(movePeriods))
plot(close, color=color.blue)

二、拖拽设置周期(点拖方案)

监听鼠标拖拽的起始和结束位置,计算拖动覆盖的K线数量,以此作为指标周期,操作更直观。

代码实现:

//@version=5
indicator("拖拽设周期", overlay=true)

var int movePeriods = 37
var int dragStartBar = na

// 记录拖拽起始K线的索引
if mousedrag.start
    dragStartBar := bar_index

// 拖拽结束时计算并更新周期
if mousedrag.end
    // 计算拖拽覆盖的K线总数
    dragLength = abs(bar_index - dragStartBar) + 1
    newPeriod = math.max(3, math.min(1439, dragLength))
    movePeriods := newPeriod
    dragStartBar := na

// 示例:高亮当前周期对应的K线区间
bgcolor(bar_index >= bar_index - movePeriods + 1 ? color.new(color.green, 90) : na)
plot(close, color=color.blue)

说明:以上两种方案完全替代了原input.int的面板输入逻辑,直接在K线图上通过点击或拖拽就能修改movePeriods的值,满足无需打开指标小部件面板的需求。

内容的提问来源于stack exchange,提问作者Alejandro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:42:46