資源の読み込みに... 荷物...

FMZ PINE スクリプト ドック

作者: リン・ハーン発明者 量化 - 微かな夢, 作成日:2022-04-28 16:05:05, 更新日:2024-10-12 17:25:27

指示値が長ければ長い矢印が引かれる.

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

この関数は数列から最後の要素を削除し,その値を返します

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

この関数は配列の最初の要素を削除し,その値を返します.

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

この関数は配列の初めに値を挿入します

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

この関数は配列内の要素の数を返します

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

この関数は,既存の配列からスライスを作成します.スライスのオブジェクトが変更された場合,変更は新しい配列と元の配列の両方に適用されます.

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

元の配列の各要素の絶対値を含む配列を返します.

array.abs(id)

議論

  • id(int[]/float[]) 配列オブジェクト

ほかにも参照 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search について

この関数は値のインデックス,または値が見つからない場合 -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 リストを表示する

この関数は,値が見つかった場合,値のインデックスを返します.値が見つからない場合,値は配列に含まれていた場合,値が置かれる左の次の最小要素のインデックスを返します.検索する配列は上昇順序でソートする必要があります.

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 は,任意の行列を表示しています.

この関数は,値が見つかった場合,値のインデックスを返す.値が見つからない場合,値は配列の中にあった場合,値が置かれる右の部分に要素のインデックスを返す.配列は上昇順序で並べなければならない.

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

この関数は配列の要素をソートします

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 を表示する

元の配列をインデックスするために使用すると,その配列の要素に並べた順序でアクセスする配列の索引を返します.元の配列を変更しません.

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

この関数は配列からすべての要素を削除します

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

array.concat

この関数は,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

この関数は,既存の配列のコピーを作成します.

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

この関数は配列の要素の標準偏差を返します.

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

この関数は標準化された要素の配列を返します.

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

この関数は配列の要素の変数を返します.

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

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

array.fill

この関数は,配列の要素を単一の値に設定する.インデックスが指定されていない場合,すべての要素が設定される.スタートインデックス (デフォルト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

array.includes

この関数は値が配列で見つかった場合 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

この関数は,新しい要素を追加することで配列の内容を変更します.

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

この関数は,指定された分離文字列で分離された配列のすべての要素を連結して新しい文字列を作成し,返します.

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

array.lastindexof

この関数は値の最後の出現のインデックスを返します. もし値が見つからない場合は -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

この関数は最大値,または与えられた配列の最大値を返します

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

array.min

この関数は最小値,または 与えられた配列の第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

この関数は配列の要素の中位値を返します.

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

この関数は,配列の要素のモードを返します.同じ周波数を持つ複数の値がある場合は,最小値を返します.

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 について

線形インターポレーションを用いて,表示された数列値 (百分位数) の割合がそれよりも小さいまたはそれと同等である値を返します.

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 について

最寄りのランクメソッドを使用して,指定された数列値 (百分位) の割合がそれよりも小さいまたはそれと同等である値を返します.

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

配列内の値の百分位順位を返します.

array.percentrank(id, index) 

議論

  • id(int[]/float[]) 配列オブジェクト
  • index( int シリーズ) その百分位順位を計算する値.

コメントパーセンチルランクは,配列内の要素の数が基準値よりも小さいか,またはそれと同等である割合です.

ほかにも参照 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.range

この関数は,与えられた配列の最小値と最大値の違いを返します.

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

この関数は,指定されたインデックスを持つ要素を削除することで,配列の内容を変更します.

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

この関数は配列を逆転します.最初の配列要素が最後の配列要素になり,最後の配列要素が最初の配列要素になります.

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

array.from

この関数は, 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) 配列引数

array.new

この関数は新しい配列オブジェクトを作成します.<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(シリーズ ) すべての配列要素の初期値.オプション.デフォルトはna.

コメント配列インデックスは0から始まります 配列を初期化し,すべての要素を同時に指定したい場合は,関数 array.from を使用します.

ほかにも参照 array.from array.push array.get array.size array.remove array.shift array.sum

array.new_bool を入力する

この関数は 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) すべての配列要素の初期値.オプション.デフォルトはna.

コメント配列インデックスは0から始まります.

ほかにも参照 array.new_float array.get array.slice array.sort

array.new_float を表示する

この関数は 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) すべての配列要素の初期値.オプション.デフォルトはna.

コメント配列インデックスは0から始まります

ほかにも参照 array.new_bool array.get array.slice array.sort

array.new_int について

この関数は 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) すべての配列要素の初期値.オプション.デフォルトはna.

コメント配列インデックスは0から始まります

ほかにも参照 array.new_float array.get array.slice array.sort

array.new_string について

この関数は文字列型の要素からなる新しい配列オブジェクトを作成します.

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(シリーズ文字列) すべての配列要素の初期値.オプションです.デフォルトはnaです.

コメント配列インデックスは0から始まります

ほかにも参照 array.new_float array.get array.slice

array.get

この関数は,指定されたインデックスで要素の値を返します.

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

この関数は配列に値を追加します

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

この関数は,指定されたインデックスで要素の値を設定します.

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

この関数は,配列の要素の合計を返します.

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

この関数は配列の要素の平均値を返します.

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

array.indexof

この関数は,値の最初の出現のインデックスを返します. もし値が見つからない場合は -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_valuePINE 言語戦略のインターフェース引数で他の引数を設定できます.

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(const string) 価格軸上のフォーマット指標値の種類.可能な値は:format.inherit,format.price,format.volume.デフォルトはformat.inherit.
  • precision(const int) 価格軸上の指標値の浮動点の後ろの桁の数.非負の整数で16を超えない必要があります.省略した場合,親シリーズからのフォーマットを使用します.フォーマットがformat.inheritでこの引数が設定されている場合,フォーマットがformat.priceになります.
  • scale(scale_type) インディケーターが接続されるべき価格スケール.可能な値は: scale.right, scale.left, scale.none. 値 scale.none は,overlay=trueの設定と組み合わせた場合にのみ適用できます.
  • pyramiding(const int) 同じ方向で許容されるエントリの最大数.値が0である場合,同じ方向で1つのエントリーオーダーのみを開くことができ,追加のエントリーオーダーは拒否されます.デフォルト値は0です.
  • calc_on_order_fills(const bool) 追加的な1回のバー内のオーダー計算.引数が true に設定されている場合,オーダーが満たされた後に (バーの閉じる時にのみではなく) 戦略が再計算されます.デフォルト値は false です.
  • calc_on_every_tick(const bool) 追加的なバー内戦略計算.引数が trueである場合, ストラテジーはバーの閉じるよりもリアルタイムですべてのティックで計算します. 引数は歴史的なデータでの戦略計算に影響しません. デフォルト値は falseです.
  • max_bars_back(const int) 歴史参照の戦略のために利用可能なバーの最大数.この引数は,スクリプトのコードに変数の歴史データへの参照がある場合,スクリプト内のすべての内蔵またはユーザー変数に適用されます ([]オペレータが使用されます). パインスクリプトの変数バッファサイズは,通常自動検出されます.しかし,これは特定の場合には不可能です.この理由から,引数はユーザがこの値の下限を手動で設定することを可能にします. 注:引の代わりにmax_bars_back関数を使用することは,単一の変数に適用されるため最適です.
  • backtest_fill_limits_assumption(const int) 制限オーダーの実行仮定. 制限オーダーは,市場価格が制限オーダーのレベルを指定された数値で上回る場合にのみ,バー内で実行されます.
  • default_qty_type(const文字列) 値がどれかを決定しますqty戦略.エントリーまたは戦略.オーダー関数で表示される.可能な値は: 契約/株/ロットのための戦略.固定,strategy.cash通貨の金額については,または strategy.percent_of_equity は,利用可能な株式の割合です.
  • default_qty_value(const int/float) 戦略.エントリーまたは戦略.オーダーで取引するデフォルトの量は,そのqty引数が定義されていない場合,default_qty_type引数で使用される引数によって決定される単位で.
  • 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, currency.BTC, currency.ETH, currency.MYR, currency.KRW.
  • slippage(const int) 購入/販売市場またはストップオーダーのフィール価格に追加/減算するティックのスリップ.もし mintick=0.01とスリップ=5の場合,スリップの量は5*0.01=0.05になります.
  • commission_type(const string) オーダーのためのコミッションタイプ.許容される値は: strategy.commission.percent (オーダーの現金量のパーセント), strategy.commission.cash_per_contract (契約ごとに口座通貨で表示される金額), strategy.commission.cash_per_order (オーダーごとに口座通貨で表示される金額).
  • commission_value(const int/float) 注文の佣金値.選択された種類 (commission_type) に基づいて,パーセントまたは金銭が含まれます.
  • process_orders_on_close(const bool) を設定するとtrue,バーが閉じ,戦略計算が完了した後,オーダーを実行する追加の試みを生成する.オーダーが市場オーダーである場合,ブローカーエミュレーターは次のバーが開かれる前にそれらを実行する.オーダーが価格に依存している場合は,価格条件を満たす場合にのみ満たされる.現在のバーでポジションを閉じたい場合,このオプションは有用である.デフォルト値はfalseである.
  • close_entries_rule(const string) 注文が閉じる順序を決定する.許容される値は: FIFOまたは ANY. FIFO (First-In, First-Out) は,複数の取引が開かれたとき,最も早い取引が最初に閉じる必要があることを意味します.このルールは株式,先物,米国外為為替に適用されます (NFAコンプライアンスルール 2-43b). ANYは,取引が任意の順序で閉じる可能性があることを意味します.これは米国外為替で許可されています.デフォルト値は FIFOです.
  • max_lines_count(const int) 最後の行図の表示数 デフォルト値は50で,最大値は500です
  • max_labels_count(const int) 最後の表示されたラベル図の数 デフォルト値は50で,最大値は500です
  • max_boxes_count(const int) 最後のボックス図の表示数 デフォルト値は50で,最大値は500です
  • margin_long(const int/float) マージンロングは,ロングポジションの現金または担保でカバーされなければならない証券の購入価格のパーセントである. 負でない数字でなければならない. オプションである. デフォルトは100である. - そうだmargin_short~~ (const int/float) マージンショートとは,ショートポジションの現金または担保でカバーされなければならない証券の購入価格の割合である. 負でない数字でなければならない. オプションである. デフォルトは100である.
  • explicit_plot_zorder(const bool) インディケーターのプロット,フィール,hラインが表示される順序を指定します.もし真である場合は,プロットがインディケーターのコードに表示される順序に基づいて描かれ,新しいプロットが前者の上に描かれます.これはプロット*() 関数,フィール,hラインのみに適用されます.オプションです.デフォルトはfalse.
  • initial_capital(const int/float) 戦略の取引に最初に利用可能な資金の金額,currency選択可能 既定値は100万
  • risk_free_rate(const int/float) リスクのない利回率は,シャールプ比率とソルチノ比率を計算するために使用される,最小またはゼロリスクの投資の価値の年間パーセント変化です.デフォルト値は2です.

コメントすべての戦略脚本には 1 つの戦略コールが必要です パインスクリプトコードで calc_on_every_tick = true という引数を使用すると,履歴とリアルタイムデータで異なる計算が可能になります. 非標準的なチャートタイプを戦略の基礎として使用する場合は,結果は異なることを認識する必要があります. オーダーはこのチャートの価格で実行されます (例えば,ハイキンアシでは,実際の市場価格ではなくハイキンアシの価格 (平均値) を取るでしょう). したがって,戦略のために標準的なチャートタイプを使用することを強くお勧めします.

ほかにも参照 indicator

strategy.entry

このコマンドは,市場ポジションを入力するコマンドです.同じ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) 任意の引数.取引される契約/株/ロット/ユニットの数.デフォルト値はNaNです.
  • limit(series int/float) 任意の引数.オーダーの制限価格.指定されている場合,オーダーのタイプはlimit,またはstop-limitである.他の任意のオーダータイプではNaNを指定する必要があります.
  • stop(series int/float) 任意の引数.オーダーのストップ価格.指定されている場合,オーダーのタイプはストップまたはストップ・リミットである.他の任意のオーダータイプではNaNを指定する必要があります.
  • oca_name(series string) 任意の引数.順序が属する OCA グループの名前.順序が特定の OCA グループに属さない場合は,空の文字列がある必要があります.FMZはこの主張を支持していないことに注意してください.~~
  • oca_type(入力文字列) 任意の引数. OCA グループの種類. 許容される値は: strategy.oca.none - オーダーは特定の OCA グループに属してはならない; strategy.oca.cancel - オーダーは OCA グループに属すべきで,オーダーが完了するとすぐに,同じグループの他のすべてのオーダーがキャンセルされる; strategy.oca.reduce - オーダーは OCA グループに属すべきで,オーダーの X 数の契約が完了すると,同じ OCA グループの他の各オーダーの契約数が X に減少します.FMZはこの主張を支持していないことに注意してください.
  • comment(シリーズ文字列) 任意の引数 順序に関する追加注釈
  • when(series bool) 任意の引数. 順序の条件. 条件がtrueである場合,順序は置かれます. 条件がfalseである場合,何も起こらない (同じIDで以前に置かれた順序はキャンセルされません). デフォルト値はtrueです.
  • alert_message(シリーズ文字列) create Alert 対話ボックスs Message フィールドで使用されたときに {{strategy.order.alert_message}} プレースホルダーを入れ替えるオプション引数.

strategy.close

このコマンドは,指定された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) 選択可能な引数.取引を終了する契約/株/ロット/ユニットの数.デフォルト値はNaNです.
  • qty_percent(series int/float) 閉じるポジションのパーセント (0-100) を定義する.その優先度は,qty引数より低い.オプション.デフォルトは100である.
  • comment(シリーズ文字列) 任意の引数 順序に関する追加注釈
  • alert_message(シリーズ文字列) create Alert 対話ボックスs Message フィールドで使用されたときに {{strategy.order.alert_message}} プレースホルダーを入れ替えるオプション引数.

戦略.close_all

現在の市場位置を退去し,それをフラットにする.

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(シリーズ文字列) create Alert 対話ボックスs Message フィールドで使用されたときに {{strategy.order.alert_message}} プレースホルダーを入れ替えるオプション引数.

strategy.exit

この命令は,特定のエントリまたは全市場ポジションを終了するコマンドです.同じIDのオーダーが既に待ち受けている場合,オーダーを変更することは可能です.エントリーオーダーが満たされていないが,出口オーダーが生成された場合,出口オーダーはエントリーオーダーが満たされるまで待機し,その後出口オーダーが配置されます.出口オーダーを無効化するには,コマンド strategy.cancel または strategy.cancel_all を使用する必要があります.strategy.exitコマンドは,一度呼び出され,一度だけポジションを終了します.strategy.exitストップ・ロストとトレーリング・ストップを複数回呼び出す必要があります. ストップ・ロストとトレーリング・ストップを使用すると,そのオーダータイプはストップで,そのうちの1つだけ (最初に満たされるはずの) が配置されます. 次の引数すべてである利益,制限,損失,ストップ,トレイル_ポイント,トレイル_オフセットNaNである場合,コマンドは失敗します. 市場オーダーを使用して退出するには,コマンド strategy.close または strategy.close_all を使用する必要があります.

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) 選択可能な引数.取引を終了する契約/株/ロット/ユニットの数.デフォルト値はNaNです.
  • qty_percent(series int/float) 閉じるポジションの (0-100) のパーセントを定義する.その優先度は,qty引数より低い.オプション.デフォルトは100である.
  • profit(series int/float) 任意の引数. 利益目標 (ティックで指定). 指定されている場合,指定された利益額 (ティックで) が達成されたときに,市場ポジションを退出する制限オーダーが設定されます. デフォルト値はNaNです.
  • limit(series int/float) 任意の引数. 利益目標 (特定の価格が必要です). 指定されている場合,指定された価格 (またはそれ以上の価格) で市場ポジションを退出するために制限オーダーが設定されます. 引数 limit の優先度は,引数 profit の優先度より高くなります (その値が NaN でなければ,limitprofit の代わりに使用されます). デフォルト値は NaN です.
  • loss(series int/float) オプションの引数.ストップ損失 (ティックで指定).指定されている場合,指定された損失額 (ティックで) に達すると,ストップオーダーが市場ポジションから退出されます.デフォルト値はNaNです.
  • stop(int/floatシリーズ) オプションの引数.ストップ損失 (特定の価格が必要です).指定された場合,ストップオーダーは指定された価格 (またはより悪い) で市場ポジションを退出するために配置されます.引数ストップの優先度が引数損失の優先度より高くなります (その値がNaNでない場合,ストップ損失の代わりに使用されます). デフォルト

もっと

乞食なぜ戦略広場複製のパイン戦略が実用化できないのか

発明者 量化 - 微かな夢じゃあ調べてみよう.

乞食張超大の最適化されたトレンドトレーカー

発明者 量化 - 微かな夢こんにちは,具体的にはどんな戦略ですか?