input #
スクリプトインジケーターに入力を追加。ユーザーはスクリプトスタディのオブジェクトダイアログのフォーマットに入力することで、表示や編集を行うことができます。入力されたスクリプトはビルトインされたテクニカル分析インジケーターと同様にしっかりと表示され稼働します。
input(defval, title, type, confirm, tooltip, inline, group) → input bool
input(defval, title, type, confirm, inline, group) → input color
input(defval, title, type, minval, maxval, confirm, step, options, tooltip, inline, group) → input integer
input(defval, title, type, minval, maxval, confirm, step, options, tooltip, inline, group) → input float
input(defval, title, type, confirm, options, tooltip, inline, group) → input string
input(defval, title, type, tooltip, inline, group) → series[float]
戻り値 #
input変数の値。
引数 #
defval (Its type must match the type defined with the ‘type’ parameter’s value) | スクリプトの [設定/パラメーター] タブで提示される入力変数のデフォルト値を決定します。ユーザーはそこで値を変更する事が可能です。input.time タイプを使用する場合、値は timestamp 関数にする事ができますが、定数文字列形式の日付引数を使用する場合に限ります。 |
title (const string) | 入力項目のタイトルです。指定されていない場合には、変数名が入力のタイトルとして使用されます。タイトルが指定されている場合でもそれが空の場合には、名前は空の文字列になります。 |
type (const string) | 入力タイプ。可能な値は input.bool, input.integer, input.float, input.string, input.symbol, input.resolution, input.session, input.source, input.color, input.time です。 |
minval (const integer, float) | input変数の最小可能値。この引数はinputの種類がinput.integerかinput.floatの時にだけ用いられます。 |
maxval (const integer, float) | input変数の最大可能値。この引数はinputの種類がinput.integerかinput.floatの時にだけ用いられます。 |
confirm (const bool) | trueの場合、インジケーターをチャートに追加する前に、ユーザーはinput値の確認を求められます。デフォルト値はfalseです。この引数は、inputの種類がinput.sourceの時は利用されません。 |
step (const integer, float) | フォーマットダイアログの入力を増減する際のステップ値。デフォルト値は1。この引数は、inputの種類がinput.integerとinput.floatの時にだけ用いられます。 |
options (List of constants: [ | 選択オプションのリスト。この引数は、inputの種類がinput.integer, input.float, input.stringの時にだけ用いられます。 |
tooltip (const string) | ツールチップアイコンにカーソルを合わせた時にユーザーに表示される文字列です。 |
inline (const string) | 同じ引数を使ったすべてのinputの呼び出しを1行にまとめます。引数として使われる文字列は表示されません。これは、同じ行に属する入力項目を識別するためにのみ使用されます。 |
group (const string) | 同じグループ引数の文字列を使用するすべての入力項目の上にヘッダーを作成します。この文字列は、ヘッダーのテキストとしても使用されます。 |
例 #
b = input(title="On/Off", type=input.bool, defval=true)
plot(b ? open : na)
i = input(title="Offset", type=input.integer, defval=7, minval=-10, maxval=10)
plot(offset(close, i))
f = input(title="Angle", type=input.float, defval=-0.5, minval=-3.14, maxval=3.14, step=0.02)
plot(sin(f) > 0 ? close : open)
sym = input(title="Symbol", type=input.symbol, defval="DELL")
res = input(title="Resolution", type=input.resolution, defval="60")
c = input(title="Plot Color", type=input.color, defval=color.red)
plot(close, color=c)
plot(security(sym, res, close), color=color.green)
s = input(title="Session", defval="24x7", options=["24x7", "0900-1300", "1300-1700", "1700-2100"])
plot(time(timeframe.period, s))
src = input(title="Source", type=input.source, defval=close)
plot(src)
date1 = input(title="Date", type=input.time, defval=timestamp("20 Feb 2020 00:00 +0300"))
plot(date1)
date2 = input(title="Date", type=input.time, defval=timestamp("2020-02-20T00:00+03:00"))
plot(date2)
備考 #
input 関数の戻りは、常に変数に割り当てられる必要があります。上記の例をご覧ください。
strategy #
この関数はいくつかのストラテジーのプロパティを設定します。
strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, max_lines_count, max_labels_count, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, max_boxes_count, explicit_plot_zorder) → void
引数 #
title (const string) | インジケーター/ストラテジーウィジェットで見られる研究タイトル。 引数は必須です。 |
shorttitle (const string) | 過去チャートに表示される短い研究タイトル。引数は追加です。 |
overlay (const bool) | もしtrueの場合は研究は主な形式のオーバーレイとして追加されます。 もしfalseの場合は、別のチャートペインに追加されます。 デフォルトはfalseです。 |
format (const string) | 価格軸のstudy値のフォーマットタイプ。可能な値は format.inherit, format.price, format.volume です。デフォルトは format.inherit です。 |
precision (const integer) | 価格軸のスクリプト値の浮動小数点以下の桁数。16以下の正の整数である必要があります。省略した場合には親系列のフォーマットを利用します。フォーマットがformat.inheritでこの引数が設定された場合、フォーマットはformat.priceになります。 |
scale (const integer) | インジケーターが割り当てられる価格スケール。可能な値は scale.right, scale.left, scale.none です。値 scale.none は、‘overlay = true’ の設定との組み合わせでのみ適用できます。省略された場合は、メインスケールが使用されます。 |
pyramiding (const integer) | 同じ方向に許可されるエントリーの最大数。値が0の場合、同じ方向のエントリーオーダーを1つだけ開くことができ、以降のエントリー注文は拒否されます。デフォルト値は0です。 |
calc_on_order_fills (const bool) | バー内での注文の計算を1回追加します。このパラメータが ‘true’ に設定されている場合、ストラテジーは注文が約定した後に(バーの終値でだけでなく)バー内でもう一度再計算されます。デフォルト値は ‘false’ です。 |
calc_on_every_tick (const bool) | イントラバー(バー内)のストラテジーの追加計算。パラメータが ‘true’ の場合、ストラテジーは、バーの終値ではなく、リアルタイムで毎ティック計算を行います。このパラメータは、ヒストリカルデータでのストラテジーの計算には影響を与えません。デフォルト値は ‘false’ です。 |
max_bars_back (const integer) | strategyで履歴参照に利用可能なバーの最大数。スクリプトのコードで変数の過去データへの参照(‘[]’演算子を使用)がある場合には、このパラメーターはスクリプト内のすべてのビルトインまたはユーザー変数に適用されます。Pineスクリプトの可変バッファサイズは一般的に自動検出されます。しかし特定のケースでは自動検出を行うことができない為、ユーザーはこの値の下限を手動で設定することができます。注記: このパラメーターの代わりに、ひとつの変数にのみ適用される max_bars_back 関数の使用が最適です。 |
backtest_fill_limits_assumption (const integer) | 指値注文実行の想定。指値注文は、市場価格が指値注文の水準を指定されたティック数だけ超える場合にのみイントラバーで約定されます。 |
default_qty_type (const string) | もし’qty' = ‘NaN’の場合は、注文/株式/ロット/ユニットの数を決定するパラメーター。許可される値は、strategy.fixed(デフォルトでは固定数量)、strategy.cash(シンボルの通貨で指定され、合計は数量に変換されます)、strategy.percent_of_equity (現在入手可能な持分の%) です。 |
default_qty_value (const float) | ‘default_qty_type’ = {@ var strategy.fixed}が使用されている場合の注文/シェア/ロット/ユニットの数。「default_qty_type」= {@ var strategy.cash}が使用されている場合、シンボルの通貨の現金合計額。‘default_qty_type’ = {@ var strategy.percent_of_equity}が使用されている場合、実際に利用可能な株式のパーセンテージ数。 |
currency (const string) | このストラテジーの口座通貨です。オプション引数です。デフォルトは、チャート上のシンボルが取引される通貨です。設定可能な値は currency.NONE, currency.USD, currency.EUR, currency.AUD, currency.GBP, currency.NZD, currency.CAD, currency.CHF, currency.HKD, currency.JPY, currency.NOK, currency.SEK, currency.SGD, currency.TRY, currency.ZAR です。 |
slippage (const integer) | 市場の売買価格やストップ注文の約定価格に加算/減算されるティック単位のスリッページです。mintick=0.01 で slippage=5 の場合、スリッページの合計は、5*0.01=0.05 になります。 |
commission_type (const string) | 注文の手数料タイプ。利用できる値は以下の3つです: strategy.commission.percent (注文金額のパーセンテージ)、strategy.commission.cash_per_contract (取引毎に口座通貨の一定額)、strategy.commission.cash_per_order (注文毎に口座通貨の一定額) |
commission_value (const float) | 注文の手数料値。選択されたタイプ(commission_type)に応じてパーセントまたは金額が含まれる。 |
process_orders_on_close (const bool) | true に設定すると、バーがクローズしてストラテジーの計算が完了した後に、追加で注文の試行が行われます。注文が成行注文の場合には、ブローカエミュレーターは次のバーの始値の前にその注文を実行します。注文が価格条件付きの場合には、注文は価格条件が合致する場合のみ約定されます。このオプションは現在のバーでポジションを閉じたい場合に便利です。デフォルト値は ‘false’ です。 |
close_entries_rule (const string) | 注文がクローズされる順序を決定します。許可される値は: ‘FIFO’ または ‘ANY’ です。FIFO (First-In, First-Out) では、複数のトレードがオープンしている時には最も早いトレードが最初に閉じられます。このルールは、株式、先物、米国のFX (NFAコンプライアンスルール 2-43b) に適用されます。‘ANY’ はトレードが任意の順序で閉じられる可能性を意味します(これは米国以外のFXで許可されています)。デフォルト値は ‘FIFO’ です。 |
max_lines_count (const integer) | 表示される直近のライン描画の数。デフォルト値は50で、許可される最大値は500です。 |
max_labels_count (const integer) | 表示される直近のラベル描画の数。デフォルト値は50で、許可される最大値は500です。 |
margin_long (const integer) | マージンロングとは、ロングポジションの場合に、現金または担保でカバーしなければならない銘柄の購入価格の割合のことです。デフォルト値は100で、正の整数である必要があります。 |
margin_short (const integer) | マージンショートとは、ショートポジションの場合に、現金または担保でカバーしなければならない銘柄の購入価格の割合のことです。デフォルト値は100で、正の整数である必要があります。 |
max_boxes_count (const integer) | 表示する直近のボックス描画の数。デフォルト値は50で、最大許容値は500です。 |
explicit_plot_zorder (const bool) | インジケーターのプロット、塗りつぶし、水平線のレンダリング順を指定します。trueの場合、プロットはインジケータのコード上の順序に基づいて描画され、新しいプロットは前のプロットの上に描画されます。これは plot*() 関数、fill、hline にのみ適用されます。オプション引数。デフォルトは faLse です。 |
initial_capital (const float) | ストラテジーの取引に利用可能な currency で定義された通貨での初期資金です。オプション引数で、デフォルトは 100000 です。 |
例 #
strategy(title='MyStrategy')
strategy(title="MyStrategy", shorttitle="MS", pyramiding = 10)
備考 #
全てのストラテジースクリプト毎に strategy を呼び出す必要があります。
引数 calc_on_every_tick = true を使用するPineScriptコードは、ヒストリカルデータとリアルタイムデータで計算方法が異なります。
標準外のチャートタイプを戦略のベースに使用した場合は、成績が変わってしまいます。注文がそのチャートの価格で実行されるからです。(例えば、平均足のチャートでは平均足の価格(平均価格)で実行され、実際のマーケット価格では実行されません。) 従い、戦略を作成する場合は標準のチャートを使用することを強くお勧めします。
study #
この関数はいくつかのインジケーターのプロパティを設定します。
study(title, shorttitle, overlay, format, precision, scale, max_bars_back, max_lines_count, max_labels_count, resolution, resolution_gaps, max_boxes_count, explicit_plot_zorder) → void
引数 #
title (const string) | インジケーターウィジェットに表示される研究タイトル。 引数は必須です。 |
shorttitle (const string) | 過去チャートに表示される短い研究タイトル。引数は追加です。 |
overlay (const bool) | もしtrueの場合は研究は主な形式のオーバーレイとして追加されます。 もしfalseの場合は、別のチャートペインに追加されます。 デフォルトはfalseです。 |
format (const string) | 価格軸のstudy値のフォーマットタイプ。可能な値は format.inherit, format.price, format.volume です。デフォルトは format.inherit です。 |
precision (const integer) | 価格軸のスクリプト値の浮動小数点以下の桁数。16以下の正の整数である必要があります。省略した場合には親系列のフォーマットを利用します。フォーマットがformat.inheritでこの引数が設定された場合、フォーマットはformat.priceになります。 |
scale (const integer) | インジケーターが割り当てられる価格スケール。可能な値は scale.right, scale.left, scale.none です。値 scale.none は、‘overlay = true’ の設定との組み合わせでのみ適用できます。省略された場合は、メインスケールが使用されます。 |
max_bars_back (const integer) | studyで履歴参照に利用可能なバーの最大数。スクリプトのコードで変数の過去データへの参照(‘[]’演算子を使用)がある場合には、このパラメーターはスクリプト内のすべてのビルトインまたはユーザー変数に適用されます。Pineスクリプトの可変バッファサイズは一般的に自動検出されます。しかし特定のケースでは自動検出を行うことができない為、ユーザーはこの値の下限を手動で設定することができます。注記: このパラメーターの代わりに、ひとつの変数にのみ適用される max_bars_back 関数の使用が最適です。 |
linktoseries (const bool) | もしtrueの場合、研究は常に主な形式として同じペイン及び同じ価格スケールになります。 ‘overlay = true’と組み合わせて使用する必要があります。 デフォルトはfalseです。 |
resolution (const string) | study のカスタム時間足。security コンテキストでの study ボディのような study の入力と動作を定義します。空の文字列の時間足を指定した場合、チャートと同じように表示されます。オプション引数です。 |
max_lines_count (const integer) | 表示される直近のライン描画の数。デフォルト値は50で、許可される最大値は500です。 |
max_labels_count (const integer) | 表示される直近のラベル描画の数。デフォルト値は50で、許可される最大値は500です。 |
resolution_gaps (const bool) | リクエストされたデータのマージ方法(要求されたデータは自動的にメイン系列のOHLCデータとマージされます)。可能な値は false, true です。true - リクエストされたデータは、ギャップありでマージされます。false -リクエストされたデータは、ギャップなしで連続してマージされ、すべてのギャップは以前の最も近い既存の値で埋められます。デフォルト値は true です。 |
max_boxes_count (const integer) | 表示する直近のボックス描画の数。デフォルト値は50で、最大許容値は500です。 |
explicit_plot_zorder (const bool) | インジケーターのプロット、塗りつぶし、水平線のレンダリング順を指定します。trueの場合、プロットはインジケータのコード上の順序に基づいて描画され、新しいプロットは前のプロットの上に描画されます。これは plot*() 関数、fill、hline にのみ適用されます。オプション引数。デフォルトは faLse です。 |
例 #
study(title='MyScriptStudy')
study(title="MyScriptStudy", shorttitle="MSS", precision=6, overlay=true)
備考 #
全てのスクリプト毎にstudyを呼び出す必要があります。
間接的な作用のある関数呼び出しは、resolution パラメーターがどの値でもエラーが発生します。