最新のPineアップデートでは、入力に関する2つの改善点が導入されました:
- 新しい group パラメーターでは、プログラマーの方が入力グループのセクションヘッダーを定義できます。
- 新しい inline パラメーターでは、複数の入力を1行にまとめることができます。
これらの新機能を利用される事で、自動フィボナッチ・リトレースメント・インジケーターの様に、入力をよりきちんと整理するといったことが可能です。
新しいパラメーターをスクリプトで使用するのは簡単です!VWAPインジケーターの例を見てみましょう。計算の開始地点と終了地点を指定したり、アンカーの表示を制御したりすることができます:
//@version=4 study(title = "Custom Period VWAP", shorttitle = "CPVWAP", overlay = true) src = input(hlc3, "Source", input.source) enableHighlight = input(true, "Highlight", input.bool, inline = "Highlight") highlightType = input("Anchors", "", input.string, options = ["Anchors", "Background"], inline = "Highlight") highlightColor = input(color.red, "", input.color, inline = "Highlight") useStartPeriodTime = input(true, "Start", input.bool, group = "Date Range", inline = "Start Period") startPeriodTime = input(timestamp("20 Jan 2021"), "", input.time, group = "Date Range", inline = "Start Period") useEndPeriodTime = input(true, "End", input.bool, group = "Date Range", inline = "End Period") endPeriodTime = input(timestamp("20 Feb 2021"), "", input.time, group = "Date Range", inline = "End Period") start = useStartPeriodTime ? startPeriodTime >= time : false end = useEndPeriodTime ? endPeriodTime <= time : false calcPeriod = not start and not end var srcVolArray = array.new_float(na) var volArray = array.new_float(na) var line startAnchor = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width = 2) var line endAnchor = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width = 2) useBgcolor = false if calcPeriod array.push(srcVolArray, src*volume) array.push(volArray, volume) else array.clear(srcVolArray), array.clear(volArray) customVwap = array.sum(srcVolArray) / array.sum(volArray) if enableHighlight if highlightType == "Anchors" if useStartPeriodTime line.set_xy1(startAnchor, startPeriodTime, low) line.set_xy2(startAnchor, startPeriodTime, high) if useEndPeriodTime line.set_xy1(endAnchor, not na(customVwap) ? time : line.get_x1(endAnchor), low) line.set_xy2(endAnchor, not na(customVwap) ? time : line.get_x1(endAnchor), high) if highlightType == "Background" useBgcolor := true bgcolor(useBgcolor and calcPeriod ? highlightColor : na, editable = false) plot(customVwap, title="CPVWAP", color = color.blue, linewidth = 2)
group 引数は2つの方法で利用されます。文字列はグループのヘッダーとして使用され、またどの入力がそのグループに属するかを定義します。
inline 引数を使用すると、同じ inline 引数を使用するすべての input() の呼び出しを1行にまとめられます。それぞれの input() コールの title 引数は、フィールドの見出しを決定します。input() コールで title 引数が使用されていない場合には、そのフィールドには見出しが付きません。inline で結合された入力が1行に収まらない場合は、その一部が次の行に折り返されます。
新しいパラメーターの説明は、Pineリファレンスマニュアルの input() の項目をご確認ください。
Pineのすべてのアップデートについては、ユーザーマニュアルのリリースノートをご覧ください。
多数のご要望を頂いたこの機能がお役に立ちましたら幸いです。引き続き改善のためのフィードバックをお寄せください。私たちは皆様のためにTradingViewを構築していますので、フィードバックをお待ちしております。