Pine现在支持线条绘图之间的填充

Jan 11, 2022

Pine程序员喜欢在图表上显示指标计算时有不同的选择,这是有充分理由的。我们如何呈现信息与信息本身一样重要,因为精心设计的视觉效果使指标更易于使用。

我们对Pine工具箱的最新添加允许您使用新的“linefill”绘图类型及其随附函数填充两个线条绘图之间的空间。

基础很简单:要填充两个线条绘图之间的空间,使用它们的ID和颜色调用linefill.new()函数。任何两条线条对之间只能有一个linefill,因此在同一对线条上连续调用linefill.new()将用新的填充替换先前的填充。

线条填充的行为取决于它们所附加的线条。如果两条线在同一方向延伸,则线条填充将跟随它们的延伸,如下面的脚本显示所示。

//@version=5
indicator("Channel", overlay = true)

LEN_LEFT = 15
LEN_RIGHT = 5
pH = ta.pivothigh(LEN_LEFT, LEN_RIGHT)
pL = ta.pivotlow(LEN_LEFT, LEN_RIGHT)

// Bar indices of pivot points
pH_x1 = ta.valuewhen(pH, bar_index, 1) - LEN_RIGHT
pH_x2 = ta.valuewhen(pH, bar_index, 0) - LEN_RIGHT
pL_x1 = ta.valuewhen(pL, bar_index, 1) - LEN_RIGHT
pL_x2 = ta.valuewhen(pL, bar_index, 0) - LEN_RIGHT
// Price values of pivot points
pH_y1 = ta.valuewhen(pH, pH, 1)
pH_y2 = ta.valuewhen(pH, pH, 0)
pL_y1 = ta.valuewhen(pL, pL, 1)
pL_y2 = ta.valuewhen(pL, pL, 0)

if barstate.islastconfirmedhistory
    // Lines
    lH = line.new(pH_x1, pH_y1, pH_x2, pH_y2, extend = extend.right)
    lL = line.new(pL_x1, pL_y1, pL_x2, pL_y2, extend = extend.right)
    // Fill
    fillColor = switch
        pH_y2 > pH_y1 and pL_y2 > pL_y1 => color.green
        pH_y2 < pH_y1 and pL_y2 < pL_y1 => color.red
        => color.silver
    linefill.new(lH, lL, color.new(fillColor, 90))

您可以在我们的参考手册中了解有关linefill函数的更多信息:只需在搜索字段中输入“linefill”即可调出所有相关函数。 或者,如果您更喜欢向大师学习,以下示例展示了我们的一些PineCoders如何使用线条填充:

Gann Fan by LonesomeThe Blue

Average Lines by fikira

Auto Fib Time Zones and Trend-Based Fib Time by DGT (…by dgtrd)

要随时了解Pine的新功能,请留意我们的用户手册的发行说明。我们的PineCoders还从Squawk Box Telegram频道、Twitter和TradingView上的Pine脚本公开聊天中广播更新。

我们希望大家发现这些高需求的功能很有用。请继续向我们提供反馈和改进建议。我们为您打造TradingView,总是渴望收到您的来信。


 

还没有关注我们的中文微信公众号?快来扫二维码吧!

Look first Then leap

TradingView专门为您而打造,请确保您充分利用我们出色的功能
开启图表