大家好,今天我们来学习Pine语言的画图功能。Pine语言是一门基于图表的语言,而在期货交易中,我们做的最多的事情就是看盘。众所周知,看盘是一件很累的事情,K线的不断涨跌彷佛牵动我们的每一刻神经。因此,如果能使用Pine语言,根据我们的交易理解,对我们的K线图进行私人优化,对指标进行更好的呈现,帮助我们快速进行决策的判断,这就是程序化交易的方便之处。在前面的课程中,我们使用了一些基本的画图函数,但是对于画图的参数我们并没有详细的解释。Pine语言具有丰富的图表功能,今天我们将使用代码范例为大家一一呈现。
首先,我们学习最基本的plot函数,它的描述也很朴素:将一系列的数据在图表中进行展示。
strategy(overlay=true)
plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display)
它里面有很多参数,我将挑些重点的为大家讲述下:
overlay (const bool) 优宽平台扩展的参数,用于设置当前函数在主图(设置true)或者副图(设置false)上画图显示,默认值为false。
series (series int/float) 要绘制的数据系列。 必要参数。
title (const string) 绘图标题。
color (series color) 绘图的颜色。您可以使用如’color = red’或’color =#ff001a’的常量。颜色的使用也可以用表达式,例如下例中这里的颜色使用是一个一个三元表达式,在抽盘价大于开盘价的时候,使用的是绿色,否则使用红色。三元表达式的使用很灵活,添加不同字符或者图形都可以根据你的需要进行设置。
style (plot_style) plot类型。可能的值有:plot.style_line、plot.style_stepline、plot.style_stepline_diamond、plot.style_histogram、plot.style_cross、plot.style_area、plot.style_columns、plot.style_circles、plot.style_linebr、plot.style_areabr。默认值为plot.style_line。在下一部分,将为大家一一进行展示。
linewidth (input int) 绘制线的宽度。默认值为1。它不适用于每种样式。
trackprice (input bool) 如果为true,则水平价格线将显示在最后一个指标值的水平。默认为false。
histbase (input int/float) 以plot.style_histogram,plot.style_columns或plot.style_area样式绘制图时,用作参考水平的价格值。默认值为0.0。
offset (series int) 在k线特定数量上向左或向右移动绘图。 默认值为0。
join (input bool) 如果为true,则绘图点将与线连接,仅适用于plot.style_cross和plot.style_circles样式。 默认值为false。
editable (const bool) 如果为true,则绘图样式可在格式对话框中编辑。 默认值为true。
show_last (input int) 如已设置,则定义在图表上绘制的k线数(从最后k线返回过去)。
display (plot_display) 控制显示绘图的位置。可能的值为:display.none、display.all。预设值为display.all。
大家可以感觉到Pine语言画图的参数很灵活,可以根据你的需要进行设置。下面我就plot.style中的不同形状为大家展示下。
plot.style_line 'Line’直线样式的命名常量,用作plot函数中style参数的参数。
plot.style_linebr 'Line With Breaks’样式的命名常量,用作plot函数中style参数的参数。类似于plot.style_line,除了数据中的空白没有被填充。
plot.style_histogram 'Histogram’柱状图样式的命名常量,用作plot函数中style参数的参数。在这里可以为大家展示刚才plot中histbase参数的用法。我们看到当histbase设置为2000时。图像由下所示。
plot(close, title='Title', color=color.new(#00ffaa, 70), linewidth=5, style=plot.style_histogram,histbase=2400)
plot.style_columns ‘Columns’ 样式的命名常量,和histgram区别不大。
plot.style_circles ‘Circles’ 样式的命名常量,用作plot函数中的style参数的参数。
plot.style_area 'Area’样式的命名常量,用作plot函数中style参数的参数。
plot.style_areabr 'Area With Breaks’样式的命名常量,用作plot函数中style参数的参数。类似于plot.style_area,除了数据中的空白没有被填充。
plot(close> open ? close : na , title='Title', color=color.new(#00ffaa, 70), linewidth=2, style=plot.style_area)
plot(close> open ? close : na , title='Title', color=color.new(#00ffaa, 70), linewidth=2, style=plot.style_areabr)
plot.style_cross ‘Cross’ 乘号样式的命名常量,用作plot函数中style参数的参数。
plot.style_stepline 'Step Line’样式的命名常量,用作plot函数中style参数的参数。
使用提供的颜色填充两个绘图或hline之间的背景。本例中使用fill画图画出了close和open之间的差距。
fill(plot1, plot2, color, title, editable, show_last, fillgaps, display)
p1 = plot(open)
p2 = plot(close)
fill(p1, p2, color=color.new(color.green, 90))
在给定的固定价格水平上呈现水平线。其中参数linestyle (hline_style) 渲染线的样式。 可能的值有:solid(实线),dashed(虚线),dotted(点)。 注意,这里的hline是固定的,不能设置为随着策略周期的变化而变化。
strategy(overlay=true)
hline(2500, linestyle = hline.style_solid)
hline(3000, linestyle = hline.style_dashed)
设置背景颜色,可以根据你的交易理念设置不同的背景颜色。
bgcolor(color, offset, editable, show_last, title, display, overlay)
// bgcolor example
bgcolor(close < open ? color.new(color.red,70) : color.new(color.green, 70))
设置K线颜色。在国际上,默认绿色代表的上涨,红色是下跌;而在中国,恰好相反。在优宽平台,k线使用的是国际标准,如果想进行更改,使用barcolor函数就可以。
barcolor(close < open ? color.black : color.white)
本节课的内容讲授结束,下节课我们将继续为大家讲解Pine语言画图的其他功能。
今天编写了Pine语言画图课程教案第一部分。Pine语言是一门基于图表的语言,而在期货交易中,交易者做的最多的事情就是看盘。看盘是一件很累的事情。因此,如果能使用Pine语言,根据交易理解,对K线图进行私人优化,对指标进行更好的呈现,帮助快速进行决策的判断,可以更加展示出Pine语言的优秀之处。画图部分内容比较多,需要大量的画图例子进行呈现,因此将画图部分讲解分为两个部分,第一部分讲解Pine语言plot函数及其重要的内置参数,ploy.style图表形状,以及其它画图函数fill,hline等,辅以代码和图像帮助学员进行更好的了解和使用。