指示値が長ければ長い矢印が引かれる.
plotarrow(series, title, colorup, colordown, offset, minheight, maxheight, editable, show_last, display)
例
codiff = close - open
plotarrow(codiff, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40), overlay=true)
議論
series
(int/float シリーズ) 矢印としてグラフ化されるデータシリーズ. 引数が必要です.title
(コンスト文字列) 土地のタイトル.colorup
上の矢印の色.オプションの引数.colordown
(シリーズ色) 下の矢印の色.オプションの引数.offset
(series int) 矢印を左または右に移動します. 既定値は0.minheight
(インプット int) ピクセルで可能な最小矢印の高さ デフォルトは5ですmaxheight
(インプット int) ピクセルで可能な最大矢印の高さ デフォルトは100ですeditable
(const bool) true の場合は,Plotarrow スタイルは Format のダイアログで編集できます.デフォルトは true です.show_last
(input int) 設定されている場合,グラフにプロットする矢印の数 (最後のバーから過去へ) を定義します.display
(plot_display) プロットが表示されるコントロール.可能な値は: display.none, display.all.デフォルトは display.all.overlay
(const bool) は FMZ プラットフォームの拡張引数で,メイン イメージ (true に設定) またはサブ イメージ (false に設定) に表示される現在の関数を設定するために使用されます.デフォルト値は false です.この引数が指定されていない場合は,overlay
議論strategy
またはindicator
もしstrategy
またはindicator
設定していないoverlay
デフォルトの引数に従って処理されます.ほかにも参照
plot
plotshape
plotchar
barcolor
bgcolor
この関数は数列から最後の要素を削除し,その値を返します
array.pop(id)
例
// array.pop example
a = array.new_float(5,high)
removedEl = array.pop(a)
plot(array.size(a))
plot(removedEl)
リターン削除された要素の値
議論
id
(任意の配列型) 配列オブジェクトほかにも参照
array.new_float
array.set
array.push
array.remove
array.insert
array.shift
この関数は配列の最初の要素を削除し,その値を返します.
array.shift(id)
例
// array.shift example
a = array.new_float(5,high)
removedEl = array.shift(a)
plot(array.size(a))
plot(removedEl)
リターン削除された要素の値
議論
id
(任意の配列型) 配列オブジェクトほかにも参照
array.unshift
array.set
array.push
array.remove
array.includes
この関数は配列の初めに値を挿入します
array.unshift(id, value)
例
// array.unshift example
a = array.new_float(5, 0)
array.unshift(a, open)
plot(array.get(a, 0))
議論
id
(任意の配列型) 配列オブジェクトvalue
(series <type of the array's elements>
) 配列の開始に追加する値.ほかにも参照
array.shift
array.set
array.insert
array.remove
array.indexof
この関数は配列内の要素の数を返します
array.size(id)
例
// array.size example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
// note that changes in slice also modify original array
slice = array.slice(a, 0, 5)
array.push(slice, open)
// size was changed in slice and in original array
plot(array.size(a))
plot(array.size(slice))
リターン配列内の要素の数
議論
id
(任意の配列型) 配列オブジェクトほかにも参照
array.new_float
array.sum
array.slice
array.sort
この関数は,既存の配列からスライスを作成します.スライスのオブジェクトが変更された場合,変更は新しい配列と元の配列の両方に適用されます.
array.slice(id, index_from, index_to)
例
// array.slice example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
// take elements from 0 to 4
// *note that changes in slice also modify original array
slice = array.slice(a, 0, 5)
plot(array.sum(a) / 10)
plot(array.sum(slice) / 5)
リターンアレイのスライスの浅いコピーです
議論
id
(任意の配列型) 配列オブジェクトindex_from
( int シリーズ) 抽出を開始するゼロベースのインデックス.index_to
(series int) エクストラクションを終了する前のゼロベースのインデックス.この関数は,このインデックスを持つ要素を含まない限り,最大まで抽出します.ほかにも参照
array.new_float
array.get
array.sort
元の配列の各要素の絶対値を含む配列を返します.
array.abs(id)
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
この関数は値のインデックス,または値が見つからない場合 -1 を返します.検索する配列は上昇順序でソートする必要があります.
array.binary_search(id, val)
例
// array.binary_search
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search(a, 0) // 1
plot(position)
議論
id
(int[]/float[]) 配列オブジェクトval
(series int/float) 配列で検索する値.コメントバイナリ検索は,上昇順序で前もってソートされた配列で動作する.配列の真ん中の要素をターゲット値と比較することによって始まる. 配列の位置がターゲット値に一致すると,配列内の位置が返される. 配列の値が目標値よりも大きい場合,配列の下半部分で検索が継続される. 配列の値が目標値よりも小さい場合,配列の上半部分で検索が継続される. これを再帰的にすることによって,アルゴリズムは目標値が存在しない配列の小小部分を徐々に排除する.
ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
この関数は,値が見つかった場合,値のインデックスを返します.値が見つからない場合,値は配列に含まれていた場合,値が置かれる左の次の最小要素のインデックスを返します.検索する配列は上昇順序でソートする必要があります.
array.binary_search_leftmost(id, val)
例
// array.binary_search_leftmost
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search_leftmost(a, 3) // 2
plot(position)
議論
id
(int[]/float[]) 配列オブジェクトval
(series int/float) 配列で検索する値.コメントバイナリ検索は,上昇順序で前もってソートされた配列で動作する.配列の真ん中の要素をターゲット値と比較することによって始まる. 配列の位置がターゲット値に一致すると,配列内の位置が返される. 配列の値が目標値よりも大きい場合,配列の下半部分で検索が継続される. 配列の値が目標値よりも小さい場合,配列の上半部分で検索が継続される. これを再帰的にすることによって,アルゴリズムは目標値が存在しない配列の小小部分を徐々に排除する.
ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
この関数は,値が見つかった場合,値のインデックスを返す.値が見つからない場合,値は配列の中にあった場合,値が置かれる右の部分に要素のインデックスを返す.配列は上昇順序で並べなければならない.
array.binary_search_rightmost(id, val)
例
// array.binary_search_rightmost
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search_rightmost(a, 3) // 3
plot(position)
議論
id
(int[]/float[]) 配列オブジェクトval
(series int/float) 配列で検索する値.コメントバイナリ検索は,順番に並べた配列で動作する.配列の真ん中の要素をターゲット値と比較して開始する.もしその要素がターゲット値と一致する場合は,配列内の位置が返される.もしその要素の値がターゲット値よりも大きい場合は,配列の下半部分で検索が継続される.もしその要素の値がターゲット値よりも小さい場合は,配列の上半部分で検索が継続される.これを再帰的にすることによって,アルゴリズムは,目標値が存在しない配列の小小部分を徐々に排除する.
ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
この関数は配列の要素をソートします
array.sort(id, order)
例
// array.sort example
a = array.new_float(0,0)
for i = 0 to 5
array.push(a, high[i])
array.sort(a, order.descending)
if barstate.islast
runtime.log(str.tostring(a))
議論
id
(int[]/float[]/string[]) アレイオブジェクトorder
(sort_order) 整理順序: order.ascending (デフォルト) または order.descendingほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
元の配列をインデックスするために使用すると,その配列の要素に並べた順序でアクセスする配列の索引を返します.元の配列を変更しません.
array.sort_indices(id, order)
例
// array.sort_indices
a = array.from(5, -2, 0, 9, 1)
sortedIndices = array.sort_indices(a) // [1, 2, 4, 0, 3]
indexOfSmallestValue = array.get(sortedIndices, 0) // 1
smallestValue = array.get(a, indexOfSmallestValue) // -2
plot(smallestValue)
議論
id
(int[]/float[]/string[]) アレイオブジェクトorder
(sort_order) 整理順序: order.ascending または order.descending. オプションです. デフォルトは order.ascending です.ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
この関数は配列からすべての要素を削除します
array.clear(id)
例
// array.clear example
a = array.new_float(5,high)
array.clear(a)
array.push(a, close)
plot(array.get(a,0))
plot(array.size(a))
議論
id
(任意の配列型) 配列オブジェクトほかにも参照
array.new_float
array.insert
array.push
array.remove
array.pop
この関数は,2つの配列を合併するために使用されます. 2番目の配列から最初の配列にすべての要素をプッシュし,最初の配列を返します.
array.concat(id1, id2)
例
// array.concat example
a = array.new_float(0,0)
b = array.new_float(0,0)
for i = 0 to 4
array.push(a, high[i])
array.push(b, low[i])
c = array.concat(a,b)
plot(array.size(a))
plot(array.size(b))
plot(array.size(c))
リターン2番目の配列から結合された要素を持つ最初の配列です
議論
id1
(任意の配列タイプ) 最初の配列オブジェクト.id2
(任意の配列タイプ) 2番目の配列オブジェクトほかにも参照
array.new_float
array.insert
array.slice
この関数は,既存の配列のコピーを作成します.
array.copy(id)
例
// array.copy example
length = 5
a = array.new_float(length, close)
b = array.copy(a)
a := array.new_float(length, open)
plot(array.sum(a) / length)
plot(array.sum(b) / length)
リターン配列のコピーです
議論
id
(任意の配列型) 配列オブジェクトほかにも参照
array.new_float
array.get
array.slice
array.sort
この関数は配列の要素の標準偏差を返します.
array.stdev(id, biased)
例
// array.stdev example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.stdev(a))
リターン配列の要素の標準偏差
議論
id
(int[]/float[]) 配列オブジェクトbiased
(series bool) どの推定値を使用すべきかを決定します.オプションです.デフォルトは trueです.コメントもしbiased
誤った場合 - 抽出物の偏見のない推定値です.
ほかにも参照
array.new_float
array.max
array.min
array.avg
この関数は標準化された要素の配列を返します.
array.standardize(id)
例
// array.standardize example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
b = array.standardize(a)
plot(array.min(b))
plot(array.max(b))
リターン標準化された要素の配列
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.max
array.min
array.mode
array.avg
array.variance
array.stdev
この関数は配列の要素の変数を返します.
array.variance(id, biased)
例
// array.variance example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.variance(a))
リターン配列の要素の変数
議論
id
(int[]/float[]) 配列オブジェクトbiased
(series bool) どの推定値を使用すべきかを決定します.オプションです.デフォルトは trueです.コメントもしbiased
誤った場合 - 抽出物の偏見のない推定値です.
ほかにも参照
array.new_float
array.stdev
array.min
array.avg
array.covariance
この関数は2つの配列の共変数を返します
array.covariance(id1, id2, biased)
例
// array.covariance example
a = array.new_float(0)
b = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
array.push(b, open[i])
plot(array.covariance(a, b))
リターン2つの配列の共変数です
議論
id1
(int[]/float[]) 配列オブジェクトid2
(int[]/float[]) 配列オブジェクトbiased
(series bool) どの推定値を使用すべきかを決定します.オプションです.デフォルトは trueです.コメントもしbiased
誤った場合 - 抽出物の偏見のない推定値です.
ほかにも参照
array.new_float
array.max
array.stdev
array.avg
array.variance
この関数は,配列の要素を単一の値に設定する.インデックスが指定されていない場合,すべての要素が設定される.スタートインデックス (デフォルト0) しか提供されていない場合,そのインデックスから始まる要素が設定される.両方のインデックス引数が使用されている場合,スタートインデックスからエンドインデックス (デフォルトna) を含まない要素が設定される.
array.fill(id, value, index_from, index_to)
例
// array.fill example
a = array.new_float(10)
array.fill(a, close)
plot(array.sum(a))
議論
id
(任意の配列型) 配列オブジェクトvalue
(series <type of the array's elements>
) 配列を満たす値index_from
スタートインデックスは0ですindex_to
(series int) 終了インデックス,デフォルトは na. 設定する最後の要素のインデックスよりも1倍大きい必要があります.ほかにも参照
array.new_float
array.set
array.slice
この関数は値が配列で見つかった場合 true を返します.そうでなければ false を返します.
array.includes(id, value)
例
// array.includes example
a = array.new_float(5,high)
p = close
if array.includes(a, high)
p := open
plot(p)
リターン配列で値が見つかった場合 True,そうでなければ False.
議論
id
(任意の配列型) 配列オブジェクトvalue
(series <type of the array's elements>
) 配列で検索する値.ほかにも参照
array.new_float
array.indexof
array.shift
array.remove
array.insert
この関数は,新しい要素を追加することで配列の内容を変更します.
array.insert(id, index, value)
例
// array.insert example
a = array.new_float(5, close)
array.insert(a, 0, open)
plot(array.get(a, 5))
議論
id
(任意の配列型) 配列オブジェクトindex
( int シリーズ) 値を挿入するインデックス.value
(series <type of the array's elements>
) 配列に追加する値.ほかにも参照
array.new_float
array.set
array.push
array.remove
array.pop
array.unshift
この関数は,指定された分離文字列で分離された配列のすべての要素を連結して新しい文字列を作成し,返します.
array.join(id, separator)
例
// array.join example
a = array.new_float(5, 5)
runtime.log(array.join(a, ","))
議論
id
(int[]/float[]/string[]) アレイオブジェクトseparator
(シリーズ文字列) 各配列要素を分離するために使用される文字列.ほかにも参照
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
この関数は値の最後の出現のインデックスを返します. もし値が見つからない場合は -1 です.
array.lastindexof(id, value)
例
// array.lastindexof example
a = array.new_float(5,high)
index = array.lastindexof(a, high)
plot(index)
リターン元素の指数
議論
id
(任意の配列型) 配列オブジェクトvalue
(series <type of the array's elements>
) 配列で検索する値.ほかにも参照
array.new_float
array.set
array.push
array.remove
array.insert
この関数は最大値,または与えられた配列の最大値を返します
array.max(id, nth)
例
// array.max
a = array.from(5, -2, 0, 9, 1)
secondHighest = array.max(a, 2) // 1
plot(secondHighest)
リターン配列の最大または第9番目の最大値です
議論
id
(int[]/float[]) 配列オブジェクトnth
(series int) 返される最大値のn番目の値で,0が最大値です.オプションです.デフォルトは0です.ほかにも参照
array.new_float
array.min
array.sum
この関数は最小値,または 与えられた配列の第9番目の最小値を返します
array.min(id, nth)
例
// array.min
a = array.from(5, -2, 0, 9, 1)
secondLowest = array.min(a, 1) // 0
plot(secondLowest)
リターン配列の最小値です
議論
id
(int[]/float[]) 配列オブジェクトnth
(series int) 返される最小の値は0で,0が最小です.オプションです.デフォルトは0です.ほかにも参照
array.new_float
array.max
array.sum
この関数は配列の要素の中位値を返します.
array.median(id)
例
// array.median example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.median(a))
リターン配列の要素の中位数
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.avg
array.variance
array.min
この関数は,配列の要素のモードを返します.同じ周波数を持つ複数の値がある場合は,最小値を返します.
array.mode(id)
例
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
リターン配列の要素のモード
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.new_float
array.avg
array.variance
array.min
線形インターポレーションを用いて,表示された数列値 (百分位数) の割合がそれよりも小さいまたはそれと同等である値を返します.
array.percentile_linear_interpolation(id, percentage)
議論
id
(int[]/float[]) 配列オブジェクトpercentage
( int/float シリーズ) 返される値に等しくまたはより小さい値の割合.コメント統計学では,百分位は,特定のスコアまたはそれ以下に表示されるランキング項目の割合である.この測定は,測定している百分位位位よりも低い標準周波数分布内のスコアの割合を示します.線形インターポレーションは,2つのランク間の値を推定します.
ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
最寄りのランクメソッドを使用して,指定された数列値 (百分位) の割合がそれよりも小さいまたはそれと同等である値を返します.
array.percentile_nearest_rank(id, percentage)
議論
id
(int[]/float[]) 配列オブジェクトpercentage
( int/float シリーズ) 返される値に等しくまたはより小さい値の割合.コメント統計学では,百分位は,特定のスコアに等しく,またはそれ以下に表示されるランキング項目の割合である.この測定は,測定している百分位ランクよりも低い標準周波数分布内のスコアの割合を示します.
ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
配列内の値の百分位順位を返します.
array.percentrank(id, index)
議論
id
(int[]/float[]) 配列オブジェクトindex
( int シリーズ) その百分位順位を計算する値.コメントパーセンチルランクは,配列内の要素の数が基準値よりも小さいか,またはそれと同等である割合です.
ほかにも参照
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
この関数は,与えられた配列の最小値と最大値の違いを返します.
array.range(id)
例
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
リターン配列の最小値と最大値の差です
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.new_float
array.min
array.max
array.sum
この関数は,指定されたインデックスを持つ要素を削除することで,配列の内容を変更します.
array.remove(id, index)
例
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
リターン削除された要素の値
議論
id
(任意の配列型) 配列オブジェクトindex
( int シリーズ) 削除する要素のインデックス.ほかにも参照
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
この関数は配列を逆転します.最初の配列要素が最後の配列要素になり,最後の配列要素が最初の配列要素になります.
array.reverse(id)
例
// array.reverse example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.get(a, 0))
array.reverse(a)
plot(array.get(a, 0))
議論
id
(任意の配列型) 配列オブジェクトほかにも参照
array.new_float
array.sort
array.push
array.set
array.avg
この関数は, int, float, bool, string, label, line, color, box, table, linefill のいずれかのタイプを持つ変数数の引数を取り,対応型の配列を返します.
array.from(arg0, arg1, ...)
例
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
リターン配列要素の値.
議論
arg0, arg1, ...
(series int/float/bool/color/string/line/linefill) 配列引数この関数は新しい配列オブジェクトを作成します.<type>
elements.
array.new(size, initial_value)
例
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
例
// array.new<color> example
a = array.new<color>()
array.push(a, color.red)
array.push(a, color.green)
plot(close, color = array.get(a, close > open ? 1 : 0))
例
// array.new<float> example
length = 5
var a = array.new<float>(length, close)
if array.size(a) == length
array.remove(a, 0)
array.push(a, close)
plot(array.sum(a) / length, "SMA")
例
// array.new<line> example
// draw last 15 lines
var a = array.new<line>()
array.push(a, line.new(bar_index - 1, close[1], bar_index, close))
if array.size(a) > 15
ln = array.shift(a)
line.delete(ln)
リターン他の配列.*() 関数で使用できる配列オブジェクトのID.
議論
size
(series int) 配列の初期サイズ.オプションです.デフォルトは0.initial_value
(シリーズ コメント配列インデックスは0から始まります 配列を初期化し,すべての要素を同時に指定したい場合は,関数 array.from を使用します.
ほかにも参照
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
この関数は bool 型要素の新しい配列オブジェクトを作成します.
array.new_bool(size, initial_value)
例
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
リターン他の配列.*() 関数で使用できる配列オブジェクトのID.
議論
size
(series int) 配列の初期サイズ.オプションです.デフォルトは0.initial_value
(series bool) すべての配列要素の初期値.オプション.デフォルトはコメント配列インデックスは0から始まります.
ほかにも参照
array.new_float
array.get
array.slice
array.sort
この関数は float タイプ要素の新しい配列オブジェクトを作成します.
array.new_float(size, initial_value)
例
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
リターン他の配列.*() 関数で使用できる配列オブジェクトのID.
議論
size
(series int) 配列の初期サイズ.オプションです.デフォルトは0.initial_value
(series int/float) すべての配列要素の初期値.オプション.デフォルトはコメント配列インデックスは0から始まります
ほかにも参照
array.new_bool
array.get
array.slice
array.sort
この関数は int 型要素の新しい配列オブジェクトを作成します.
array.new_int(size, initial_value)
例
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
リターン他の配列.*() 関数で使用できる配列オブジェクトのID.
議論
size
(series int) 配列の初期サイズ.オプションです.デフォルトは0.initial_value
(series int) すべての配列要素の初期値.オプション.デフォルトはコメント配列インデックスは0から始まります
ほかにも参照
array.new_float
array.get
array.slice
array.sort
この関数は文字列型の要素からなる新しい配列オブジェクトを作成します.
array.new_string(size, initial_value)
例
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
リターン他の配列.*() 関数で使用できる配列オブジェクトのID.
議論
size
(series int) 配列の初期サイズ.オプションです.デフォルトは0.initial_value
(シリーズ文字列) すべての配列要素の初期値.オプションです.デフォルトはコメント配列インデックスは0から始まります
ほかにも参照
array.new_float
array.get
array.slice
この関数は,指定されたインデックスで要素の値を返します.
array.get(id, index)
例
// array.get example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i] - open[i])
plot(array.get(a, 9))
リターン配列要素の値.
議論
id
(任意の配列型) 配列オブジェクトindex
( int シリーズ) 返される値の要素のインデックス.ほかにも参照
array.new_float
array.set
array.slice
array.sort
この関数は配列に値を追加します
array.push(id, value)
例
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
議論
id
(任意の配列型) 配列オブジェクトvalue
(series <type of the array's elements>
) 配列の末尾に追加される要素の値.ほかにも参照
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
この関数は,指定されたインデックスで要素の値を設定します.
array.set(id, index, value)
例
// array.set example
a = array.new_float(10)
for i = 0 to 9
array.set(a, i, close[i])
plot(array.sum(a) / 10)
議論
id
(任意の配列型) 配列オブジェクトindex
( int シリーズ) 変更される要素のインデックス.value
(series <type of the array's elements>
) 設定する新しい値.ほかにも参照
array.new_float
array.get
array.slice
この関数は,配列の要素の合計を返します.
array.sum(id)
例
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
リターン配列の要素の和です
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.new_float
array.max
array.min
この関数は配列の要素の平均値を返します.
array.avg(id)
例
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
リターン配列の要素の平均
議論
id
(int[]/float[]) 配列オブジェクトほかにも参照
array.new_float
array.max
array.min
array.stdev
この関数は,値の最初の出現のインデックスを返します. もし値が見つからない場合は -1 です.
array.indexof(id, value)
例
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
リターン元素の指数
議論
id
(任意の配列型) 配列オブジェクトvalue
(series <type of the array's elements>
) 配列で検索する値.ほかにも参照
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
組み込み機能は,strategy
,ストップ・ロスト・ポイントとテイク・プロフィート・ポイントは1つの価格ジャンプの倍数として定義されます.profit
そしてloss
議論をstrategy.exit
ポイントで停止損失と利益を取ることを表現し,その引数はprofit
価格のジャンプは,内蔵変数です. 価格のジャンプは,syminfo.mintick
.
この関数は,いくつかの戦略特性を設定します.
注目してくださいtitle
, shorttitle
, overlay
, pyramiding
, default_qty_type
, default_qty_value
PINE 言語戦略のインターフェース引数で他の引数を設定できます.
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, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate)
例
strategy("Strategy", overlay = true)
// Enter long by market if current open is greater than previous high.
strategy.entry("Long", strategy.long, 1, when = open > high[1])
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.exit("Exit", "Long", profit = 10, loss = 5)
議論
title
(const string) インディケーター/戦略 ウィジェットで表示される指標のタイトル.引数は必須です.shorttitle
(const string) インディケーターのショートタイトルは,チャートレジェンドで表示されます.引数はオプションです.overlay
(const bool) true の場合,インディケーターはメインシリーズのオーバーレイとして追加されます. false の場合は,別のチャートパネルに追加されます. デフォルトは false です.format
precision
scale
pyramiding
(const int) 同じ方向で許容されるエントリの最大数.値が0である場合,同じ方向で1つのエントリーオーダーのみを開くことができ,追加のエントリーオーダーは拒否されます.デフォルト値は0です.calc_on_order_fills
(const bool) 追加的な1回のバー内のオーダー計算.引数が calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const文字列) 値がどれかを決定しますqty
戦略.エントリーまたは戦略.オーダー関数で表示される.可能な値は: 契約/株/ロットのための戦略.固定,strategy.cash通貨の金額については,または strategy.percent_of_equity は,利用可能な株式の割合です.default_qty_value
(const int/float) 戦略.エントリーまたは戦略.オーダーで取引するデフォルトの量は,そのcurrency
slippage
commission_type
commission_value
process_orders_on_close
true
,バーが閉じ,戦略計算が完了した後,オーダーを実行する追加の試みを生成する.オーダーが市場オーダーである場合,ブローカーエミュレーターは次のバーが開かれる前にそれらを実行する.オーダーが価格に依存している場合は,価格条件を満たす場合にのみ満たされる.現在のバーでポジションを閉じたい場合,このオプションは有用である.デフォルト値はclose_entries_rule
max_lines_count
max_labels_count
max_boxes_count
margin_long
margin_short
~~ (const int/float) マージンショートとは,ショートポジションの現金または担保でカバーされなければならない証券の購入価格の割合である. 負でない数字でなければならない. オプションである. デフォルトは100である.explicit_plot_zorder
false
.initial_capital
currency
選択可能 既定値は100万risk_free_rate
コメントすべての戦略脚本には 1 つの戦略コールが必要です パインスクリプトコードで calc_on_every_tick = true という引数を使用すると,履歴とリアルタイムデータで異なる計算が可能になります. 非標準的なチャートタイプを戦略の基礎として使用する場合は,結果は異なることを認識する必要があります. オーダーはこのチャートの価格で実行されます (例えば,ハイキンアシでは,実際の市場価格ではなくハイキンアシの価格 (平均値) を取るでしょう). したがって,戦略のために標準的なチャートタイプを使用することを強くお勧めします.
ほかにも参照
indicator
このコマンドは,市場ポジションを入力するコマンドです.同じIDを持つオーダーが既に待機している場合,オーダーを変更することは可能です.指定されたIDを持つオーダーがない場合は,新しいオーダーが配置されます.エントリーオーダーを無効化するには,コマンド strategy.cancelまたは strategy.cancel_all を使用する必要があります.機能 strategy.orderと比較して,機能 strategy.entryはピラミダリングによって影響を受け,市場ポジションを正しく逆転することができます.
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
例
strategy(title = "simple strategy entry example")
strategy.entry("enter long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.entry("enter short", strategy.short, 1, when = open < low[1]) // enter short by market if current open less then previous low
議論
id
(シリーズ文字列) 必要な引数. 注文識別子. 注文の識別子を参照して注文をキャンセルまたは修正することが可能です.direction
(戦略_方向) 必要な引数. 市場ポジション方向: qty
(int/float) 任意の引数.取引される契約/株/ロット/ユニットの数.デフォルト値はlimit
(series int/float) 任意の引数.オーダーの制限価格.指定されている場合,オーダーのタイプはstop
(series int/float) 任意の引数.オーダーのストップ価格.指定されている場合,オーダーのタイプはoca_name
oca_type
comment
(シリーズ文字列) 任意の引数 順序に関する追加注釈when
(series bool) 任意の引数. 順序の条件. 条件がalert_message
(シリーズ文字列) このコマンドは,指定されたIDでエントリから終了するコマンドです.同じIDを持つ複数のエントリオーダーがあった場合,それらはすべて一度に終了します.コマンドが起動する時点までに指定されたIDを持つオープンエントリがない場合は,コマンドは有効にはなりません.コマンドはマーケットオーダーを使用します.各エントリは別々のマーケットオーダーで終了します.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
例
strategy("closeEntry Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close("buy", when = open < close, qty_percent = 50, comment = "close buy entry for 50%")
plot(strategy.position_size)
議論
id
(シリーズ文字列) 必要な引数. オーダー識別子. その識別子を参照してオーダーを閉じる事が可能です.when
(シリーズ bool) 任意の引数 コマンドの条件qty
(series int/float) 選択可能な引数.取引を終了する契約/株/ロット/ユニットの数.デフォルト値はqty_percent
(series int/float) 閉じるポジションのパーセント (0-100) を定義する.その優先度は,comment
(シリーズ文字列) 任意の引数 順序に関する追加注釈alert_message
(シリーズ文字列) 現在の市場位置を退去し,それをフラットにする.
strategy.close_all(when, comment, alert_message)
例
strategy("closeAll Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close_all(when = open < close, comment = "close all entries")
plot(strategy.position_size)
議論
when
(シリーズ bool) 任意の引数 コマンドの条件comment
(シリーズ文字列) 任意の引数 順序に関する追加注釈alert_message
(シリーズ文字列) この命令は,特定のエントリまたは全市場ポジションを終了するコマンドです.同じIDのオーダーが既に待ち受けている場合,オーダーを変更することは可能です.エントリーオーダーが満たされていないが,出口オーダーが生成された場合,出口オーダーはエントリーオーダーが満たされるまで待機し,その後出口オーダーが配置されます.出口オーダーを無効化するには,コマンド strategy.cancel または strategy.cancel_all を使用する必要があります.strategy.exitコマンドは,一度呼び出され,一度だけポジションを終了します.strategy.exitストップ・ロストとトレーリング・ストップを複数回呼び出す必要があります. ストップ・ロストとトレーリング・ストップを使用すると,そのオーダータイプは
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)
例
strategy(title = "simple strategy exit example")
strategy.entry("long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.exit("exit", "long", profit = 10, loss = 5) // generate full exit bracket (profit 10 points, loss 5 points per contract) from entry with name "long"
議論
id
(シリーズ文字列) 必要な引数. 注文識別子. 注文の識別子を参照して注文をキャンセルまたは修正することが可能です.from_entry
(series string) オプションの引数.特定の入力命令の識別子.すべてのエントリを終了するには空の文字列を使用する必要があります.デフォルト値は空の文字列です.qty
(series int/float) 選択可能な引数.取引を終了する契約/株/ロット/ユニットの数.デフォルト値はqty_percent
(series int/float) 閉じるポジションの (0-100) のパーセントを定義する.その優先度は,profit
(series int/float) 任意の引数. 利益目標 (ティックで指定). 指定されている場合,指定された利益額 (ティックで) が達成されたときに,市場ポジションを退出する制限オーダーが設定されます. デフォルト値はlimit
(series int/float) 任意の引数. 利益目標 (特定の価格が必要です). 指定されている場合,指定された価格 (またはそれ以上の価格) で市場ポジションを退出するために制限オーダーが設定されます. 引数 loss
(series int/float) オプションの引数.ストップ損失 (ティックで指定).指定されている場合,指定された損失額 (ティックで) に達すると,ストップオーダーが市場ポジションから退出されます.デフォルト値はstop
(int/floatシリーズ) オプションの引数.ストップ損失 (特定の価格が必要です).指定された場合,ストップオーダーは指定された価格 (またはより悪い) で市場ポジションを退出するために配置されます.引数乞食なぜ戦略広場複製のパイン戦略が実用化できないのか
発明者 量化 - 微かな夢じゃあ調べてみよう.
乞食張超大
発明者 量化 - 微かな夢こんにちは,具体的にはどんな戦略ですか?