在TradingView里,indicator()
函数是每个指标脚本的开场白,你可以把它想象成在给你的脚本办一张身份证,它决定了脚本的名称、显示位置以及各种基础行为。
通过indicator()
函数,我们不仅能设定那些在图表界面上可以手动调整的选项,还能配置一些更深层次、只能通过代码触及的高级功能。indicator()
函数有一堆参数可供设置,但真正必填的只有一个,那就是title
。这个参数,说白了,就是给你的指标起个全名,显示在图表上。
所以,一个最简单的indicator()
写法就是这样:
indicator(title="我的布林带指标")
当然一个专业的指标光有名字是不够的,我们还需要通过其他参数,来精细地定制它的行为。
举个实战中很常见的例子:我们希望指标能直接叠加在主图的K线上,而不是显示在下方的独立窗口里,同时我们还希望指标数值只保留两位小数,让图表更清爽,那么代码就可以这样写:
indicator(title="我的布林带指标", overlay=true, precision=2)
这里多说一句,调用indicator()
函数时,PineScript允许你不写参数名,直接按顺序填入参数值。比如下面这样:
indicator("我的布林带指标", "MBB指标", true)
这种写法虽然代码短了,但我个人非常不推荐。为什么?因为过段时间再回来看代码,你可能早就忘了那个true
到底代表什么。养成参数名=参数值
的好习惯,能让你的代码逻辑清晰,一目了然,这才是专业的风格。
indicator()
参数详解
下面是indicator()
函数支持的所有参数列表,不过你不用都背下来,我会告诉你哪些是常用的,哪些是特定场景下才会动用的“秘密武器”。
indicator(title, shorttitle, overlay, format, precision, scale,
max_bars_back, linktoseries, max_lines_count,
max_labels_count, resolution, resolution_gaps)
这里面的设置非常多,但别被吓到。实战中我们打交道最多的就是 title
, shorttitle
, overlay
, format
和 precision
这几个。先把它们摸透,就足够你应对90%以上的场景了。
学长提示
尽可能把所有配置都写在代码里,这能省去你每次加载指标到图表时,都要手动重新设置一遍的麻烦。更重要的是有些高级功能,比如多周期计算,压根就没有手动设置的入口,只能通过代码来实现。最后你必须牢记的规则:
- 每个指标脚本,都必须调用一次
indicator()
函数。 - title是唯一的必填项:其他所有参数都是可选的,按需添加即可。
- 按照约定俗成的规范,
indicator()
函数通常紧跟在版本声明//@version=6
的下一行。 - 指标和策略的分水岭:脚本里用了
indicator()
,它就是个指标;如果用的是strategy()
,那它就是一个交易策略。这是两种完全不同的脚本类型。
一个规范的脚本开头,看起来应该是这样的:
//@version=6
indicator(title="我的布林带", overlay=true)