资源加载中... loading...

商品期货量化交易-TradingviewPine语言基础课程(十一):画图(1)

Author: ianzeng123, Created: 2023-02-22 14:01:17, Updated:

大家好,今天我们来学习Pine语言的画图功能。Pine语言是一门基于图表的语言,而在期货交易中,我们做的最多的事情就是看盘。众所周知,看盘是一件很累的事情,K线的不断涨跌彷佛牵动我们的每一刻神经。因此,如果能使用Pine语言,根据我们的交易理解,对我们的K线图进行私人优化,对指标进行更好的呈现,帮助我们快速进行决策的判断,这就是程序化交易的方便之处。在前面的课程中,我们使用了一些基本的画图函数,但是对于画图的参数我们并没有详细的解释。Pine语言具有丰富的图表功能,今天我们将使用代码范例为大家一一呈现。

plot

首先,我们学习最基本的plot函数,它的描述也很朴素:将一系列的数据在图表中进行展示。

strategy(overlay=true)
plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display) 

img

它里面有很多参数,我将挑些重点的为大家讲述下:

  • 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

  • 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)

img

  • 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)

img img

  • plot.style_cross ‘Cross’ 乘号样式的命名常量,用作plot函数中style参数的参数。

  • plot.style_stepline 'Step Line’样式的命名常量,用作plot函数中style参数的参数。

img

fill

使用提供的颜色填充两个绘图或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))

img

hline

在给定的固定价格水平上呈现水平线。其中参数linestyle (hline_style) 渲染线的样式。 可能的值有:solid(实线),dashed(虚线),dotted(点)。 注意,这里的hline是固定的,不能设置为随着策略周期的变化而变化。

strategy(overlay=true)

hline(2500, linestyle = hline.style_solid)
hline(3000, linestyle = hline.style_dashed)

img

bgcolor

设置背景颜色,可以根据你的交易理念设置不同的背景颜色。

bgcolor(color, offset, editable, show_last, title, display, overlay)


// bgcolor example
bgcolor(close < open ? color.new(color.red,70) : color.new(color.green, 70))

img

barcolor

设置K线颜色。在国际上,默认绿色代表的上涨,红色是下跌;而在中国,恰好相反。在优宽平台,k线使用的是国际标准,如果想进行更改,使用barcolor函数就可以。

 barcolor(close < open ? color.black : color.white)

img

本节课的内容讲授结束,下节课我们将继续为大家讲解Pine语言画图的其他功能。

今天编写了Pine语言画图课程教案第一部分。Pine语言是一门基于图表的语言,而在期货交易中,交易者做的最多的事情就是看盘。看盘是一件很累的事情。因此,如果能使用Pine语言,根据交易理解,对K线图进行私人优化,对指标进行更好的呈现,帮助快速进行决策的判断,可以更加展示出Pine语言的优秀之处。画图部分内容比较多,需要大量的画图例子进行呈现,因此将画图部分讲解分为两个部分,第一部分讲解Pine语言plot函数及其重要的内置参数,ploy.style图表形状,以及其它画图函数fill,hline等,辅以代码和图像帮助学员进行更好的了解和使用。


更多内容