TradingView 的 indicator()
函数参数多得让人眼花缭乱,但别被吓到,你根本不需要记住所有参数。在绝大多数情况下,你只需要掌握下面这4个核心设置,就能应对90%以上的场景了。
- title:这是指标的“大名”,也是唯一必填的参数。它会显示在图表的各个位置,所以给你的指标起个好名字是第一步。
- overlay:这个参数决定了你的指标显示在哪里,是在主图跟K线“贴身肉搏”(
overlay=true
),还是在下方窗口“另起炉灶”(overlay=false
)。虽然是可选的,但它的使用频率极高。 - max_lines_count:设定脚本能画的趋势线数量上限。
- max_labels_count:设定脚本能创建的文字标签数量上限。
为什么要把最后这两个参数也列为核心?因为 TradingView 默认只允许一个脚本创建大约50个绘图对象(包括线和标签)。当你写一个复杂的指标,比如自动画支撑阻力、标注关键K线形态时,你会发现默认的50个名额很快就会用完,图画到一半就罢工了,所以只要指标可能需要大量绘图,就主动把这两个参数的上限提升到500。
一个包含了这些推荐设置的万金油模板,看起来是这样的:
indicator(title="我的指标脚本", overlay=true, max_lines_count=500, max_labels_count=500)
在这个模板里,我们给脚本命了名,让它叠加在主图上,并且一次性把绘图资源的仓库扩容到最大,避免了后顾之-忧。
timeframe
参数
掌握了基础,我们再来聊一个高手必备的秘密武器:timeframe
参数。它能让你的指标在不同的时间周期上进行计算,实现专业交易员口中的多周期共振分析。
这就像给你开了一只上帝之眼,让你在当前图表上,就能看到更高周期的市场脉络。最终的效果就是,你的指标表现得就好像是直接运行在一个更高周期的图表上一样。
timeframe
参数的几种用法
1、强制指定一个固定周期
如果你想让指标写死在某个周期上计算,比如强制在30分钟周期下运行,可以这样写:
indicator(title="我的指标脚本", timeframe="30")
2、让用户自由选择周期(学长推荐)
这是我更推荐的一种做法。你把timeframe
设置成一个空字符串""
,相当于告诉脚本:“默认你跟着图表走,但请在设置面板里给我一个切换周期的选项。” 这样就把选择权交给了用户,非常灵活。
indicator(title="我的指标脚本", timeframe="")
3、恢复默认状态
如果你想让指标彻底变回默认状态,不带任何多周期功能,那就在代码里完全不写timeframe
参数就行了。
indicator(title="我的指标脚本")
一旦你在代码里使用了timeframe
参数,会产生两个最直接的变化:
首先指标的设置面板里会多出一个“指标时间周期”的下拉菜单,让用户可以随时切换周期。
其次指标会根据你选择的新周期来计算,图表上画出的形态也会随之改变。比如我们在日线图上,把一个指标的周期手动切换到周线,效果如下:
timeframe
能用哪些值
这里有个坑要注意,timeframe
的值不是随便写的,比如你不能写“25分钟”,它只认官方给定的那些值,写错了设置就会被自动忽略掉。
目前官方支持的时间周期选项有:1分钟、3分钟、5分钟、15分钟、30分钟、45分钟、1小时、2小时、3小时、4小时、1天、1周、1月。这是一个固定的列表,无法自行添加。
下面这张表,是你在写代码时,timeframe
参数实际应该填写的字符串和界面选项的对应关系:
总结
最后关于timeframe
,你还需要知道这几点:
timeframe
参数的值必须是一个写死的字符串,不能用变量来动态修改。- 默认情况下,用
timeframe
加载更高周期数据时,图上会出现空白区域,这是因为时间戳无法完美对齐造成的。 timeframe
是把你的整个指标搬到另一个周期去运行,所有计算都在那个新周期下进行。- 这个功能必须通过在代码中加入
timeframe
参数来“激活”。一旦激活设置面板里才会出现手动切换的选项。