
第2章 快速上手Pine Script
2.1 第一个程序
在Pine Script中,指标函数indicator和策略函数strategy是两大核心函数。下面我们使用Pine Editor自动生成的脚本框架编写第一个indicator程序和第一个strategy程序。
2.1.1 第一个indicator程序
在图表界面下方,选择“Pine Editor”选项,单击右上方“Open”,在弹出的菜单中选择“TEMPLATES→Indicator”,然后由编辑器自动生成indicator脚本框架,如图2-1所示。

图2-1 由编辑器自动生成indicator脚本框架
简单地修改该脚本,如下所示。

在Pine Editor页面右上方的菜单中选择“Add to chart”,将该脚本添加到图表上。这里以深证指数(399001)为例,如图2-2所示。可以看到该脚本在图表的副图上添加了一个标题为“Hello world!”的指标,该指标根据收盘价(close)绘制了一条蓝色折线。

图2-2 第一个indicator程序“Hello World!”的图表界面
2.1.2 第一个strategy程序
策略函数strategy既有指标函数indicator的功能,又可以进行回测(Backtesting)和前测(Forwardtesting)。
在图表界面下方,选择“Pine Editor”,单击右上方“Open”,在弹出的菜单中选择“TEMPLATES→Strategy”,由编辑器自动生成strategy脚本框架,如图2-3所示。

图2-3 由编辑器自动生成strategy脚本框架
我们以此为框架编写一个标题为“Trend Following Strategy Example(趋势跟踪策略示例)”的脚本。“Trend Following Strategy”设定为当金融资产价格突破前高时做多,而当价格跌破前低时做空,默认周期为20天,脚本如下。

接下来,继续以深证指数(399001)为例,将Trend Following Strategy Example脚本添加到图表上,如图2-4所示。

图2-4 第一个strategy程序“Trend Following Strategy Example”的图表界面
如上图2-4所示,Trend Following Strategy Example脚本在主图上添加了一个标题为“Trend Following Strategy Example”的策略,该策略根据“前高”和“前低”数据绘制了两条折线。绿色折线表示前高线,红色折线表示前低线,并在图表上标注了做多和做空的订单。该策略绩效概览页面位于图表下方,可以查看该策略的盈利能力。根据橙色框内的数据,该策略的净利润率(Net Profit Rate)为49.59%,这证明该策略对于深证指数(399001)还是有效的。