FMZ PINE スクリプトのドキュメント

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

ceArray = array.new (サンプル入力) メソッド maintainQueue ((array srcArray,浮遊値, bool takeSample = true) => if take サンプル srcArray.push (値) srcArray.shift (() について srcArray

メソッド calcBB ((array srcArray, float mult, bool calculate = true) => var フローット平均 = na var float dev = na について 計算する場合は mean:= srcArray.avg() dev:= srcArray.stdev() *マルト [平均,平均 + デブ,平均 - デブ]

bool newSample = bar_index % n == 0

[sampleMean, highBand, lowBand] = sourceArray.maintainQueue ((sourceInput, newSample).calcBB ((倍数, newSample) ] ソースArray.maintainQueue ((sourceInput, newSample) ソースインプット,newSample).calcBB ((倍数,newSample)

グラフ (サンプル) 平均,ベース,色.オレンジ) 図面 (高帯,,色.) グラフ ((lowBand,Lower,色.red)


可以看到使用关键字method声明的用户自定义方法:maintainQueue、calcBB的参数列表中第一个参数都是```array<float>```类型。表示该method是```array<float>```类型变量的方法,所以可以看到调用以下代码来计算布林指标。

```pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)

メソッドをリロードする

ユーザ定義メソッドは,同じ識別子を持つ既存の内蔵メソッドとユーザ定義メソッドを覆い,重載することができる.この機能は,ユーザが同じメソッド名で異なるパラメータ署名に関連した複数のインスタンスを定義することを許可する.例として,変数のタイプを識別するためにメソッドを定義したいと仮定します.ユーザ定義メソッドに関連したオブジェクトのタイプを明確に指定しなければならないため,私たちが認識したいすべてのタイプを定義する重載が必要です.下記では,GetType ( getType) メソッドを定義します.このメソッドは,変数のタイプの文字表示形式を返し,5つの基本的なタイプを重載します:

//@version=5
indicator("Type Inspection")

// @function   Identifies an object's type.
// @param this Object to inspect.
// @returns    (string) A string representation of the type.
method getType(int this) =>
    na(this) ? "int(na)" : "int"

method getType(float this) =>
    na(this) ? "float(na)" : "float"

method getType(bool this) =>
    na(this) ? "bool(na)" : "bool"

method getType(color this) =>
    na(this) ? "color(na)" : "color"

method getType(string this) =>
    na(this) ? "string(na)" : "string"

a = 1             // a.getType(): float
b = 1.0           // b.getType(): float
c = true          // c.getType(): bool
d = color.white   // d.getType(): string(na)
e = "1"           // e.getType(): string

runtime.log("a.getType():", a.getType())
runtime.log("b.getType():", b.getType())
runtime.log("c.getType():", c.getType())
runtime.log("d.getType():", d.getType())
runtime.log("e.getType():", e.getType())
runtime.error("stop")

各変数の基本型が決定されるgetType()FMZプラットフォームでは,PINEの脚本底部がJavaScript言語で実装されているため,数値型は浮点型データ (float) と判断される.

内蔵関数

函数呼び出し時に参数伝達,参数名付けを指定し,対応する参数位置で直接変数を伝達し,混合使用もサポートする.例えば:

plot(close, title="test plot")     // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"

参数名付けを指定した後に,直接参数として変数を転送することはできません.その後の送信は,参数名付けの形式で記述する必要があります.

// plot(close, title="test", color.red)    // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red)             // 正确写法

時間枠

タイムフレーム.in_sec

送られてきます.timeframeパラメータの時間周期を秒に変換します.

timeframe.in_seconds(timeframe)

// Get chart timeframe:
i_tf = input.timeframe("1D")

// Convert timeframe to the int value (number of seconds in 1 Day):
tf = timeframe.in_seconds(i_tf)

plot(tf)

返した値 timeframeint は,K 行の秒数を表す形である.

パラメータ - timeframe(simple string) タイムフレーム、オプション、デフォルトはtimeframe.period。

コメントについてtimeframe>=1M関数は,月間30.4167 (36512) 天が秒数を計算している.

また会おう


## ticker

### ticker.heikinashi

创建一个代码标识符请求平滑平均K线值。

ティッカー.ヘイキナシ.


**例子**
```pine
heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)

heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close)
plot(heikinashi_close)
plot(heikinashi_aapl_60_close)

返した値 股票代码的字符串值,可以提供给request.security函数。

パラメータ - symbol(simple string) 商品コードの識別子.

また会おう


## request

### request.data

请求外部数据。

request.data (URL,属性) について


**例子**

```pine
/*backtest
start: 2024-09-01 16:00:00
end: 2024-10-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["RunMode",1,358374],["ZPrecision",0,358374]]
*/

var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data"
spotPrice = request.data(chart_data, "$.spot_close_price")
futuresPrice = request.data(chart_data, "$.future_close_price")
diff = futuresPrice - spotPrice

plot(diff, "永续-现货差价")
plot(futuresPrice, "期货价格", overlay=true)
plot(spotPrice, "现货价格", overlay=true)

if diff > 80 and strategy.position_size >= 0
    runtime.log("diff > 80")
    strategy.entry("Enter Short", strategy.short)
if diff < 60 and strategy.position_size <= 0
    runtime.log("diff < 60")
    strategy.entry("Enter Short", strategy.long)

返した値パラメータattribute指定されたデータシリーズ.

パラメータ - url(simple string) 要求されたデータソースのurl,データソースが返信するデータ形式は,以下の条件を満たす必要があります (少なくともtime、data属性を含む):{"data": [], "schema": ["time", "data"]}◎例のデータ形式を参照してください:

  {
      "data": [
          [1720051200000, "{\"spot_close_price\" : 57050.01, \"future_close_price\" : 57045.9}"],
          [1720137600000, "{\"spot_close_price\" : 56628.79, \"future_close_price\" : 56604.9}"],
          // ...
      ],
      "schema": ["time", "data"]
  }
  • attribute(simple string) 属性の名前を指定し,必要なデータを返します.例えば:"$.spot_close_price"活用する$.前記として,属性名と要求されたデータソースで返信されたデータ内のdataフィールド内の属性が一致する

誤差が提示された場合,チェックする必要があります.request.dataリクエストの時間範囲がリクエストの設定時間範囲と一致するかどうか,リクエストの時間配列でデータをクエリできない場合はエラーが返されます.

この例では,data-data は SQL 文のデータクエリです.

WITH latest_data AS (
    SELECT 
        klines.spot_1d.Time AS time,
        CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data
    FROM 
        klines.spot_1d
    JOIN 
        klines.future_1d
    ON 
        klines.spot_1d.Time = klines.future_1d.Time
    WHERE
        klines.spot_1d.Symbol = 'btc_usdt'
    AND 
        klines.future_1d.Symbol = 'btc_usdt.swap'
    AND 
        klines.spot_1d.Exchange = 'Binance'
    AND 
        klines.future_1d.Exchange = 'Binance'
    ORDER BY 
        klines.spot_1d.Time DESC
    LIMIT 100
)
SELECT * FROM latest_data
ORDER BY time ASC;

動画はFMZで視聴できます.データ探索ページの検索,データリンク作成,例で使いますhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

異なった種類/解像度を求めます.

request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency) 

s = request.security(syminfo.tickerid, "D", close)   // 1 Day
plot(s)

expr = ta.sma(close, 10)
s1 = request.security(syminfo.tickerid, "240", expr) // 240 Minutes
plot(s1)

// To avoid difference in calculation on history/realtime you can request not latest values and use merge strategy flags as follows:
s2 = request.security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on)
plot(s2)
f() => [open, high]
[o, h] = request.security(syminfo.tickerid, "D", f())
[l, c] = request.security(syminfo.tickerid, "D", [low, close])
plot((o + h + l + c) / 4)

返した値シリーズ要求

パラメータ - symbol(simple string) 商品コード. - どうした?timeframe(simple string) 時間周期、空の文字列は,グラフの現在の時間周期として解釈されます。 - どうした?expression(series int/float/bool/color) は,request.security から計算を呼び出し,表現を返します. それは,一行または一行に変換できる要素を含む一組である可能性があります. - どうした?gaps(barmerge_gaps) 要求されたデータへの統合ポリシー (データ自律的にOHLCの主要なデータセットと結合することを要求する) 可能な値:barmerge.gaps_on,barmerge.gaps_off、barmerge.gaps_on - 要求されたデータと可能なギャップが結合 (n の値) barmerge.gaps_off - 要求されたデータが連続して,すべてのギャップが前の最新の既存の値で満たされるように,断続的に結合される。デフォルト値はbarmerge.gaps_off。 - どうした?lookahead(barmerge_lookahead) 要求されたデータへの統合ポリシー.可能な値:barmerge.lookahead_on,barmerge.lookahead_off.バージョン3よりデフォルト値はbarmerge.lookahead_off.注意してください,動作はリアルタイムと同じで,歴史では異なります. - どうした?ignore_invalid_symbol(const bool) 選択参数.指定された商品が見つからない場合,関数の動作を決定する. falseの場合,スクリプトは停止して実行時にエラーに戻る. trueの場合,関数はnaを返して実行を続けます. デフォルト値はfalseです. - どうした?currency(simple string) 商品の通貨関連値 (例えば OHLC) を変換した通貨である.その後,変換された値に基づいて式式を計算する.使用した変換率は,前日のFX_IDC対の日々の為替率 (計算されるK線に対して).オプション.デフォルト値はsyminfo.currencyである.可能な値:ISO 4217形式の通貨コード (例えばUSD) を含む3文字文字文字文字列または currency.名前空間の定数の一つ,例えばcurrency.USDである.

コメントこの機能を使用したPineScriptコードは,履歴とリアルタイムデータに対して異なる計算を行うことができます.要求された商品に対して,取引時間帯や調整型などの追加パラメータを指定したい場合は,ticker.new() 関数を使用できます. この関数に点差を伝達するには,ticker変数を使用することはできません.ticker.new変数またはAAPL+MSFT*TSLAなどのストックコードの文字列表示形式を使用できます.現在,1つのスクリプトには最大40の request.security コールができます. この変数/関数を使用すると指標が再描画される可能性があります. 解像度パラメータは以下の値で許容されます. 1S,5S,15S,30S - 秒間隔 (グラフ周期は,要求された周期よりも小さいまたはそれと同等である必要があります) 1から1440分まで 1Dから365Dまで 1Wから52Wまで 数週間で 1Mから12Mまで数ヶ月で

また会おう


## str

### str.contains

如果`source`字符串包含`str`子字符串,则返回true,否则返回false。

str.contains (ソース,str)


**例子**
```pine
// If the current chart is a continuous futures chart, e.g “BTC1!”, then the function will return true, false otherwise.
var isFutures = str.contains(syminfo.tickerid, "!")
plot(isFutures ? 1 : 0)

返した値存在している場合source文字列で見つけましたstr偽の場合は true となる.

パラメータ - source(series string) ソース文字列 - どうした?str(series string) 検索する子文字列.

また会おう


### str.endswith

如果`source`字符串以`str`中指定的子字符串结尾,则返回true,否则返回false。

ストランド (ソース,ストランド)


**返回值**
如果`source`字符串以`str`中指定的子字符串结尾,则为true,否则为false。

**参数**
- ```source``` (series string) 来源字符串
- ```str``` (series string) 要搜索的子字符串。

**另见**
```str.startswith```

### str.startswith

如果`source`字符串以`str`中指定的子字符串开头,则返回true,否则返回false。

str.start with ((ソース,str) と始まる


**返回值**
如果`source`字符串以`str`中指定的子字符串开头,则为true,否则为false。

**参数**
- ```source``` (series string) 来源字符串
- ```str``` (series string) 要搜索的子字符串。

**另见**
```str.endswith```

### str.substring

返回一个新字符串,它是`source`字符串的子字符串。子字符串以`begin_pos` 指定的索引处的字符开始,并扩展到`source` 字符串的'end_pos - 1'。

str.substring ((ソース, start_pos)


str.substring ((ソース, start_pos, end_pos)


**例子**
```pine
sym= "EXCHANGE_NAME:SYMBOL_NAME"
pos = str.pos(sym, ":")        // Get position of ":" character
tkr= str.substring(sym, pos+1) // "SYMBOL_NAME"
if barstate.islastconfirmedhistory
    runtime.log(tkr)

返した値ソース文字列から抽出した子文字列.

パラメータ - source(series string) ソース文字列から子文字列を抽出する. - どうした?begin_pos(series int) を抽出した子文字列の開始位置. それは独占的である. (抽出した子文字列にはその位置の文字が含まれている). - どうした?end_pos(series int) 終了位置、それは独占的である (引出した文字列にはその位置の文字が含まれていない)、オプションである。デフォルト値はsource文字列の長さ.

コメント文字列のインデックスは0から始まる.begin_posこれは,end_posこの関数は,空の文字列を返す.

また会おう


### str.tonumber

str.tonumber (文字列)


**返回值**
如果包含有效数字,为字符串的浮点型,否则为na。

**参数**
- ```string``` (series string) int或float的字符串表现形式。

### str.format

将格式字符串和值转换为格式化字符串。格式字符串可以包含文字文本和每个要格式化的值的大括号{}中的一个占位符。每个占位符包括将替换它的必需参数的指数(从0开始) ,以及一个可选的格式说明符。索引表示该参数在str.format参数列表中的位置。

str.format ((format) 文字列, arg0, arg1,...)


**例子**
```pine
// The format specifier inside the curly braces accepts certain modifiers:
// - Specify the number of decimals to display:
s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3
runtime.log(s1)

// - Round a float value to an integer:
s2 = str.format("{0,number,integer}", 1.34) // returns: 1
runtime.log(s2)

// - Display a number in currency:
s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34
runtime.log(s3)

// - Display a number as a percentage:
s4 = str.format("{0,number,percent}", 0.5) // returns: 50%
runtime.log(s4)

// EXAMPLES WITH SEVERAL ARGUMENTS
// returns: Number 1 is not equal to 4
s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4)
runtime.log(s5)

// returns: 1.34 != 1.3
s6 = str.format("{0} != {0, number, #.#}", 1.34)
runtime.log(s6)

// returns: 1 is equal to 1, but 2 is equal to 2
s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52)
runtime.log(s7)

// returns: The cash turnover amounted to $1,340,000.00
s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000)
runtime.log(s8)

// returns: Expected return is 10% - 20%
s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2)
runtime.log(s9)

返した値形式化された文字列.

パラメータ - formatString(series string) 形式の文字列. - どうした?arg0, arg1, ...(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) はフォーマットする値である.

コメント引用されていないスタイルのすべての括弧はバランスを保ちなければならない.例えば,ab {0} deab } deは有効なスタイルだが,ab {0} de,ab } de {は有効なスタイルではない.

str.length

文字列の文字数に対応する整数を返します.

str.length(string)

返した値ソース文字列の文字数.

パラメータ - string(series string) ソース文字列

str.lower

文字をすべて小文字に変換した新しい文字列を返します.

str.lower(source)

返した値すべての文字が新しい文字列に変換される.

パラメータ - source(series string) 変換する文字列.

また会おう


### str.upper

返回一个所有字母都转换为大写的新字符串。

str.upper (ソース)


**返回值**
所有字母都转换为大写的新字符串。

**参数**
- ```source``` (series string) 要转换的字符串。

**另见**
```str.lower```

### str.match

如果匹配`regex`正则表达式,则返回`source`字符串的新子字符串,否则返回'na'。

str.match (ソース,レジェックス)


**例子**
```pine
s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!")

// finding first substring that matches regular expression "[\w]+:[\w]+"
var string tickerid = str.match(s, "[\\w]+:[\\w]+")

if barstate.islastconfirmedhistory
    runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"

返した値 source文字列の新しい子文字列は,regex公式表現は,他の場合は,naです.

パラメータ - source(series string) ソース文字列 - どうした?regex(series string) この文字列にマッチする正規表現.

コメントこの関数は,source文字列に最初に登場する正規表現である.regex文字列内の反斜め\記号は,追加の反斜めを使用して変換する必要があります.例えば,\dは正規式\dを代表します.

また会おう


### str.pos

返回`source`字符串中第一次出现`str`字符串的位置,否则返回'na'。

str.pos (ソース,str)


**返回值**
`str`字符串在`source`字符串中的位置。

**参数**
- ```source``` (series string) 来源字符串
- ```str``` (series string) 要搜索的子字符串。

**备注**
字符串索引从0开始。

**另见**
```str.contains``` ```str.match``` ```str.substring```

### str.replace

返回一个新字符串,其中第N+1次出现的`target`字符串以及以前出现的`target`字符串替换为`replacement`字符串,其中N在`occurrence`中指定。N为要替换的目标字符串在来源字符串中出现的匹配索引。

str.replace ((ソース,ターゲット,代替,発生)


**例子**
```pine
var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"

// Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string
var newSource = str.replace(source, "EXCHANGE1",  "EXCHANGE2", 0)

if barstate.islastconfirmedhistory
    // Display "EXCHANGE2:SYMBOL1 / EXCHANGE1:SYMBOL2"
    runtime.log(newSource)

返した値文字列が処理されています

パラメータ - source(series string) ソース文字列 - どうした?target(series string) 文字列を入れ替えました - どうした?replacement(series string) 挿入する文字列は,ターゲット文字列ではなく, - どうした?occurrence(series int) 代替するターゲット文字列は,ソース文字列に表示されるマッチングインデックスである.最初のマッチングインデックスは0から始まる.オプションである.デフォルト値は0である.

また会おう


### str.replace_all

用替换字符串,替换源字符串中每次出现的目标字符串。

str.replace_all (ソース,ターゲット,代替)


**返回值**
已处理字符串

**参数**
- ```source``` (series string) 来源字符串
- ```target``` (series string) 被替换字符串
- ```replacement``` (series string) 每次出现的目标字串都将替换的字串

### str.split

将字符串划分为子字符串阵列,并返回其阵列ID。

str.split ((文字列,分離器)


**返回值**
字符串阵列的ID。

**参数**
- ```string``` (series string) 来源字符串
- ```separator``` (series string) 分隔每个子字符串的字符串。

### str.tostring

str.tostring (値)


str.tostring (値,フォーマット)


str.tostring ((値[])


str.tostring ((value[,フォーマット)


**返回值**
`value`参数的字符串表示形式。
如果`value`参数是字符串,则按原样返回。
当`value`为na时,函数返回字符串“NaN”。

**参数**
- ```value``` (series int/float/bool/string/int[]/float[]/bool[]/string[]) 其元素转换为字符串的值或数组ID。
- ```format``` (series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is '#.##########'.

**备注**
浮点值的格式也会在必要时四舍五入这些值,例如str.tostring(3.99, '#') 将返回“4”。
要显示尾随零,请使用'0'而不是'#'。例如,'#.000'。
使用format.mintick时,该值将四舍五入到可以除以syminfo.mintick而没有余数的最接近的数字。返回的字符串带有尾随零。
如果x参数是字符串,则将返回相同的字符串值。
Bool类型参数返回“true”或“false”。
当x为na时,函数返回“NaN”。

## color

### color.new

功能颜色将指定透明度应用于给定的颜色。

色.新しい色,トランス)


**例子**
```pine
plot(close, color=color.new(color.red, 50))

返した値透明性のある色はあります.

パラメータ - color(シリーズの色) - どうした?transp(series int/float) 使用可能な値は0 (不透明) から100 (見えない) までです

コメント非常数のパラメータ (例えば,simple,input,またはseries) を使用すると,脚本設定/スタイルラベルページに表示される色に影響されます.詳細については,ユーザーマニュアルを参照してください.

color.rgb

RGB色モデルを使用して透明性のある新しい色を作成します.

color.rgb(red, green, blue, transp)

plot(close, color=color.rgb(255, 0, 0, 50))

返した値透明性のある色はあります.

パラメータ - red(series int/float) 赤い色. 可能な値は0から255である. - どうした?green(series int/float) 緑色.可能な値は0から255である. - どうした?blue(series int/float) 青色. 可能な値は0から255である. - どうした?transp(series int/float) 選択可能です。色透明。可能な値は0 (非透明) から100 (透明) まで。デフォルト値は0である。

コメント非常数のパラメータ (例えば,simple,input,またはseries) を使用すると,脚本設定/スタイルラベルページに表示される色に影響されます.詳細については,ユーザーマニュアルを参照してください.

実行時間

runtime.debug

コントロールで変数情報を印刷します.

FMZ PINEは,FBの言語で機能している.runtime.debug(value)参数1つしかない.

runtime.log

ブログのコンテンツを輸出する.

FMZ PINEは,FBの言語で機能している.runtime.log(1, 2, 3, close, high, ...)複数のパラメータを転送できます.

runtime.error

実行時にエラーが発生し,message参数で指定されたエラーメッセージ.

runtime.error(message)

パラメータmessage (series string) エラーメッセージ.

インプット

インプット

インプットをスクリプト設定のインプットラベルページに追加し,スクリプトユーザーに設定オプションを提供することを許可します. この機能は,自動でdefvalのパラメータタイプを検出し,対応するインプットプラグインを使用します.

input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)

i_switch = input(true, "On/Off")     // 设置true,默认勾选
plot(i_switch ? open : na)

i_len = input(7, "Length")
i_src = input(close, "Source")       // 下拉框,默认选择close
plot(ta.sma(i_src, i_len))

i_col = input(color.red, "Plot Color")
plot(close, color=i_col)

i_text = input("Hello!", "Message")
runtime.log(i_text)

返した値変数の値を入力します.

パラメータ - defval(const int/float/bool/string/color or source-type built-ins) スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を設定し,スクリプトユーザが変更することができます. ソースタイプ内蔵関数は,計算ソースの指定された内蔵一連の浮点変数を指定します:closehlc3ほら - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力の上に標本を作成します. この文字列は標本のテキストとしても使用されます.

コメントinput関数の返した値は常に変数に割り当てられる.上記の例を参照.

また会おう


### input.source

将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此功能添加了一个下拉菜单,允许用户选择计算源,例如close、hl2等。如果脚本只包含一个input.source()调用,用户还可以选择图表上另一个指标的输出作为源。

input.source ((defval, title, tooltip, inline, group) ツール・ティップ,インライン,グループ


**例子**
```pine
i_src = input.source(close, "Source")
plot(i_src)

返した値変数の値を入力します.

パラメータ - defval(series int/float) は,スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を指定し,ユーザが変更することができます. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力の上に標本を作成します. この文字列は標本のテキストとしても使用されます.

コメント input.source函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.string

将input添加到脚本设置的输入选项卡,它允许您向脚本用户提供配置选项。此函数将字符串输入字段添加到脚本的输入中。

input.string ((defval,タイトル,オプション,ツールチップ,インライン,グループ,確認)


**例子**
```pine
i_text = input.string("Hello!", "Message")
runtime.log(i_text)

返した値変数の値を入力します.

パラメータ - defval(const string) スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を指定し,ユーザが変更できる.options参数が一緒に使用される場合,この値はいずれか1つである必要があります. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?options(List of constants: [<type>...]) 選択可能なオプションのリスト. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true とすると,指標がグラフに追加される前に入力値を確認するように要求されます.デフォルト値は false です.

コメント input.string函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.bool

将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数为脚本的输入添加复选标记。

input.bool ((defval, title, tooltip, inline, group, confirm) について説明します


**例子**
```pine
i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)

返した値変数の値を入力します.

パラメータ - defval(const bool) は,スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を指定し,ユーザが変更することができます. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true とすると,指標がグラフに追加される前に入力値を確認するように要求されます.デフォルト値は false です.

コメント input.bool函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.int

将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数将整数输入字段添加到脚本的输入中。

input.int ((defval, title, minval, maxval, step, tooltip, inline, group, confirm) 入力.int (defval, title, minval, maxval, step, tooltip, inline, group, confirm) グループ,グループ,確認する


input.int ((defval, title, options, tooltip, inline, group, confirm) ツール・ティップ,インライン,グループ,確認


**例子**
```pine
i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1)
plot(ta.sma(close, i_len1))

i_len2 = input.int(10, "Length 2", options=[5, 10, 21])
plot(ta.sma(close, i_len2))

返した値変数の値を入力します.

パラメータ - defval(const int) は,スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を設定し,スクリプトユーザが変更できる.options参数が一緒に使用される場合,この値はいずれか1つである必要があります. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?minval(const int) 入力変数の最小可能値です。オプションです。 - どうした?maxval(const int) 入力変数の最大可能値。オプション。 - どうした?step(const int) 入力のステップ長値を増やしたり減らしたりする. ※オプション. ※デフォルト値は 1 です. - どうした?options(tuple of const int values: [val1, val2,...]) 引き下ろしメニューから選択したオプションリスト,コマで区切られ,括弧で括り:[val1, val2,...]................................................................minvalmaxvalそしてstepパラメータは. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true とすると,指標がグラフに追加される前に入力値を確認するように要求されます.デフォルト値は false です.

コメント input.int函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.float

将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数将浮点输入字段添加到脚本的输入中。

input.float ((defval, title, minval, maxval, step, tooltip, inline, group, confirm) 入力.float (defval,タイトル,ミナバル,マックスバル,ステップ,ツールティップ,インライン,グループ,確認)


input.float ((defval,タイトル,オプション,ツール・ティップ,インライン,グループ,確認)


**例子**
```pine
i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02)
plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green)

i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14])
plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)

返した値変数の値を入力します.

パラメータ - defval(const int/float) は,スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を設定し,スクリプトユーザが変更できる.options参数が一緒に使用される場合,この値はいずれか1つである必要があります. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?minval(const int/float) 入力変数の最小可能値。オプション。 - どうした?maxval(const int/float) 入力変数の最大可能値。オプション。 - どうした?step(const int/float) 入力のステップ長さを増やしたり減らしたりする. ※オプション. ※デフォルト値は 1 です. - どうした?options(tuple of const int/float values: [val1, val2,...]) 引き下げメニューから選択したオプションリストを,コマで区切って括弧で括り:[val1, val2,...];;この参数を使用すると使用できません.minvalmaxvalそしてstepパラメータは. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true とすると,指標がグラフに追加される前に入力値を確認するように要求されます.デフォルト値は false です.

コメント input.float函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.color

将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数添加了一个颜色选择器,允许用户从调色板或十六进制值中选择颜色和透明度。

input.color ((defval, title, tooltip, inline, group, confirm) ツール・ティップ,インライン,グループ,確認)


**例子**
```pine
i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)

返した値変数の値を入力します.

パラメータ - defval(const color) は,スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を指定し,ユーザが変更することができます. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true とすると,指標がグラフに追加される前に入力値を確認するように要求されます.デフォルト値は false です.

コメント input.color函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.price

将价格输入添加到脚本的“设置/输入”标签页。使用 `confirm = true` 激活交互式输入模式,通过点击图表选择价格。

input.price ((defval,タイトル,ツール・ティップ,インライン,グループ,確認)


**例子**
```pine
price1 = input.price(title="Date", defval=42)
plot(price1)

price2 = input.price(54, title="Date")
plot(price2)

返した値変数の値を入力します.

パラメータ - defval(const int/float) は,スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を設定し,ユーザが変更することができます. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true の場合は,インタラクティブな入力モードを有効にして,指標をグラフに追加するときにグラフをクリックして選択を完了するか,指標を選択し,その後選択を移動して選択を完了します. ※オプション. ※デフォルト値は false です.

コメント2つの関数に対して呼び出されている場合,inlineパラメータが同じパラメータを使用すると,時間入力と価格入力と組み合わせて使用できます.

また会おう


### input.timeframe

将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数添加一个下拉列表,允许用户通过时间周期选择器选择特定时间周期并将其作为字符串返回。选择器包括用户可能使用图表的时间周期下拉菜单添加的自定义时间周期。

input.timeframe (defval,タイトル,オプション,ツール・ティップ,インライン,グループ,確認)


**例子**
```pine
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security(syminfo.tickerid, i_res, close)
plot(s)

返した値変数の値を入力します.

パラメータ - defval(const string) スクリプトの設定/入力ラベルページで提案された入力変数のデフォルト値を指定し,ユーザが変更できる.options参数が一緒に使用される場合,この値はいずれか1つである必要があります. - どうした?title(const string) 入力されたタイトル. 指定していない場合は,変数の名前で入力されたタイトル. 指定した場合は,タイトルが空っぽで,名前は空文字列になります. - どうした?options(tuple of const string values: [val1, val2,...]) 選択可能なオプションのリスト. - どうした?tooltip(const string) この文字列は,ツール提示のアイコンの上にマウスが停まっているときにユーザーに表示されます. - どうした?inline(const string) 一行に同じ参数を使用したすべての入力呼び出しを組み合わせます.参数として使用された文字列は表示されません.それは同じ行に属する入力だけを識別します. - どうした?group(const string) 同じ集合参数文字列を使用して,すべての入力上の標本を作成します. この文字列は標本のテキストとしても使用されます. - どうした?confirm(const bool) true とすると,指標がグラフに追加される前に入力値を確認するように要求されます.デフォルト値は false です.

コメント input.timeframe函数的结果总是应该分配给一个变量,见上面的例子。

また会おう


### input.integer

暂无

### input.resolution

暂无

## ta

### ta.alma

Arnaud Legoux移动平均线。 它使用高斯分布作为移动平均值的权重。

ta.alma (シリーズ,長さ,オフセット,シグマ)


ta.alma (シリーズ,長さ,オフセット,シグマ,床)


**例子**
```pine
plot(ta.alma(close, 9, 0.85, 6))

// same on pine, but much less efficient
pine_alma(series, windowsize, offset, sigma) =>
    m = offset * (windowsize - 1)
    //m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true
    s = windowsize / sigma
    norm = 0.0
    sum = 0.0
    for i = 0 to windowsize - 1
        weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2)))
        norm := norm + weight
        sum := sum + series[windowsize - i - 1] * weight
    sum / norm
plot(pine_alma(close, 9, 0.85, 6))

返した値アルノ・レグオ 移動平均線

パラメータ - series(series int/float) 実行される一連の値. - どうした?length(series int) K線の数 (長さ) - どうした?offset(simple int/float) 制御のスムーズさ (<=1) と応答性 (<=0) のバランス. - どうした?sigma(simple int/float) ALMAの滑りさを変化させる.シグマが大きいほど,ALMAが滑りやすい. - どうした?floor(simple bool) 選択可能なパラメータ.ALMAを計算する前に,偏差量計算が下限になるかどうかを指定する.デフォルト値はfalseである.

また会おう


### ta.sma

sma函数返回移动平均值,即x的最后y值,除以y。

ta.sma (ソース,長さ)


**例子**
```pine
plot(ta.sma(close, 15))

// same on pine, but much less efficient
pine_sma(x, y) =>
    sum = 0.0
    for i = 0 to y - 1
        sum := sum + x[i] / y
    sum
plot(pine_sma(close, 15))

返した値 length線が戻るsource移動平均線は,

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(series int) K線の数 (長さ)

また会おう


### ta.cog

cog(重心点)是基于统计学和斐波那契黄金比例的指标。

ta.cog (ソース,長さ)


**例子**
```pine
plot(ta.cog(close, 10))

// the same on pine
pine_cog(source, length) =>
    sum = math.sum(source, length)
    num = 0.0
    for i = 0 to length - 1
        price = source[i]
        num := num + price * (i + 1)
    -num / sum

plot(pine_cog(close, 10))

返した値集中する

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(series int) K線の数 (長さ)

また会おう


### ta.dev

衡量系列与其ta.sma之间的差异

ta.dev (ソース,長さ)


**例子**
```pine
plot(ta.dev(close, 10))

// the same on pine
pine_dev(source, length) =>
    mean = ta.sma(source, length)
    sum = 0.0
    for i = 0 to length - 1
        val = source[i]
        sum := sum + math.abs(val - mean)
    dev = sum/length
plot(pine_dev(close, 10))

返した値 length線が戻るsource偏りがある.

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(series int) K線の数 (長さ)

また会おう


### ta.stdev

ta.stdev ((ソース,長さ,偏った)


**例子**
```pine
plot(ta.stdev(close, 5))

//the same on pine
isZero(val, eps) => math.abs(val) <= eps

SUM(fst, snd) =>
    EPS = 1e-10
    res = fst + snd
    if isZero(res, EPS)
        res := 0
    else
        if not isZero(res, 1e-4)
            res := res
        else
            15

pine_stdev(src, length) =>
    avg = ta.sma(src, length)
    sumOfSquareDeviations = 0.0
    for i = 0 to length - 1
        sum = SUM(src[i], -avg)
        sumOfSquareDeviations := sumOfSquareDeviations + sum * sum

    stdev = math.sqrt(sumOfSquareDeviations / length)
plot(pine_stdev(close, 5))

返した値標準差

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(series int) K線の数 (長さ) - どうした?biased(series bool) は,どの推定値を使用すべきかを指定します. ※オプションです. ※デフォルト値は true です.

コメントもしbiasedtrue の場合,関数は全体全体に対する偏差推定を使用して計算し,false の場合 - サンプルに対する偏差のない推定を用います.

また会おう


### ta.ema

ema 函数返回指数加权移动平均线。在 ema 中,加权因子呈指数下降。它使用以下公式计算:EMA = alpha * source + (1 - alpha) * EMA[1],其中 alpha = 2 / (length + 1)。

ta.ema (ソース,長さ)


**例子**
```pine
plot(ta.ema(close, 15))

//the same on pine
pine_ema(src, length) =>
    alpha = 2 / (length + 1)
    sum = 0.0
    sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_ema(close,15))

返した値 source移動平均線の指数,alpha = 2 / (長さ + 1) ー

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(simple int) K線数 (長さ)

コメントこの変数/関数を使用すると指標が再描画される可能性があります.

また会おう


### ta.wma

wma 函数返回 `length` K线的 `source` 的加权移动平均值。在 wma 中,加权因子以算术级数递减。

ta.wma (ソース,長さ)


**例子**
```pine
plot(ta.wma(close, 15))

// same on pine, but much less efficient
pine_wma(x, y) =>
    norm = 0.0
    sum = 0.0
    for i = 0 to y - 1
        weight = (y - i) * y
        norm := norm + weight
        sum := sum + x[i] * weight
    sum / norm
plot(pine_wma(close, 15))

返した値 length線が戻るsource体重移動平均線は,

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(series int) K線の数 (長さ)

また会おう


### ta.swma

具有固定长度的对称加权移动平均线:4.权重:[1/6,2 / 6,2 / 6,1 / 6]。

タミル語 (swma)


**例子**
```pine
plot(ta.swma(close))

// same on pine, but less efficient
pine_swma(x) =>
    x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))

返した値対称加重移動平均線は,

パラメータ - source(series int/float) ソースシリーズ.

また会おう


### ta.hma

hma函数返回船体移动平均线HMA。

ta.hma (ソース,長さ)


**例子**
```pine
src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)

返した値Hull Moving Average を返します. Hull Moving Average を返します.

パラメータ - source(series int/float) 実行される一連の値. - どうした?length簡単な int 文字列数

また会おう


### ta.rma

RSI中使用的移动平均线。 它是指数加权移动平均线,alpha加权值 = 1 /长度。

ta.rma ((ソース,長さ)


**例子**
```pine
plot(ta.rma(close, 15))

//the same on pine
pine_rma(src, length) =>
  alpha = 1/length
  sum = 0.0
  sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_rma(close, 15))

返した値 source移動平均線は,x=1で,x=1で,x=1で,x=1で,x=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1で,y=1でlength

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(simple int) K線数 (長さ)

また会おう


### ta.rsi

相对强度指数。它是使用在最后一个 `length` K线上`source` 的向上和向下变化的`ta.rma()` 计算的。

ta.rsi ((ソース,長さ)


**例子**
```pine
plot(ta.rsi(close, 7))

// same on pine, but less efficient
pine_rsi(x, y) => 
    u = math.max(x - x[1], 0) // upward ta.change
    d = math.max(x[1] - x, 0) // downward ta.change
    rs = ta.rma(u, y) / ta.rma(d, y)
    res = 100 - 100 / (1 + rs)
    res

plot(pine_rsi(close, 7))

返した値比較強弱指標 (RSI)

パラメータ - source(series int/float) 実行される一連の値. - どうした?length(simple int) K線数 (長さ)

また会おう


### ta.tsi

真实强弱指数。它使用金融工具潜在动量的移动平均线。

ta.tsi ((ソース,短_長,長_長)


**返回值**
真实强弱指数。范围[-1,1]中的值。

**参数**
- ```source``` (series int/float) 源系列。
- ```short_length``` (simple int) 短的长度。
- ```long_length``` (simple int) 长线长度。

### ta.roc

函数 roc(变化率)显示 `source` 的当前值与 `source` 几天前的 `length` 值之间的差异。
由以下公式计算:100 * change(src, length) / src[length]。

ta.roc (ソース,長さ)


**返回值**
`length`K线返回的`source`的变化率。

**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).

### ta.range

返回序列中最小值和最大值之间的差。

ta.range (ソース,長さ)


**返回值**
序列中最小值和最大值之间的差。

**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).

### ta.macd

MACD(平滑异同平均线)。 它应该揭示股票价格趋势的实力、方向、动量和持续时间的变化。

ta.macd ((ソース,fastlen,slowlen,siglen)


**例子**
```pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(macdLine, color=color.blue)
plot(signalLine, color=color.orange)
plot(histLine, color=color.red, style=plot.style_histogram)

単に1つの値だけが必要な場合は,このような位置表示符_を使用してください.

[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)

返した値3つのMACDシリーズ構成要素:MACD線,信号線,直線線.

パラメータ - source(series int/float) 実行される一連の値. - どうした?fastlen(simple int) ショートライン参数 - どうした?slowlen(simple int) 遅い長さの参数. - どうした?siglen(simple int) シグナル長さのパラメータ.

また会おう


### ta.mode

返回序列的模式。如果有多个具有相同频率的值,则返回最小值。

ta.mode (ソース,長さ)


**返回值**
序列的模式。

**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).

### ta.median

返回序列的中位数。

ta.median ((ソース,長さ)


**返回值**
序列的中位数。

**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).

### ta.linreg

线性回归曲线。一条最符合用户定义时间段内指定价格的线。它是使用最小二乘法计算的。此函数的结果使用以下公式计算:linreg = intercept + slope * (length - 1 - offset),其中 intercept 和 slope 是使用 `source` 系列的最小二乘法计算的值。

ta.linreg ((ソース,長さ,オフセット)


**返回值**
线性回归曲线

**参数**
- ```source``` (series int/float) 源系列。
- ```length``` (series int)
- ```offset``` (simple int) 偏移

### ta.bb

布林带。布林带是一种技术分析工具,由一组线定义,这些线与证券价格的简单移动平均线(SMA)相距两个标准偏差(正向和负向),但可以根据用户偏好进行调整。

ta.bb (シリーズ,長さ,複数)


**例子**
```pine
[middle, upper, lower] = ta.bb(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)

// the same on pine
f_bb(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    [basis, basis + dev, basis - dev]

[pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4)

plot(pineMiddle)
plot(pineUpper)
plot(pineLower)

返した値ブリン・ベルト.

パラメータ - series(series int/float) 実行中の系数


もっと見る

ウウオヤン取引が同時に行われることを望むなら,

軽い雲JSと同じようなトランザクションも行えますか? ありがとうございました.

リサ20231詳細なドキュメントをありがとうございました.

芸術このPineScriptは,Okexのシミュレーションディスクをプラットフォーム上でどのように使っているのでしょうか?

芸術開発者のプラットフォームに直接コピーして利用できます!

発明者 量化 - 微かな夢PINE言語は単種策のみを行うが,多種策は,python,javascript,c++で設計を書くのがベストである.

発明者 量化 - 微かな夢OKXは特殊なもので,彼らの模擬環境とリアルディスク環境は同じアドレスですが,別の場所では区別されます.

軽い雲OKX模擬盤は使えませんでした.

発明者 量化 - 微かな夢この多様なアーキテクチャの問題は,各取引所のインターフェースが異なるため,インターフェースの周波数制限が異なるため,多くの問題が生じる.

発明者 量化 - 微かな夢雲山さん,この提案をありがとうございました.

軽い雲JSと混同した方が良いと感じて,JSは様々な取引方法により適している.

トレンドハンター販売価格は各品種にわたって行われます.

発明者 量化 - 微かな夢嫌なことをする.

軽い雲素晴らしい,ありがとう,夢大さん.

発明者 量化 - 微かな夢PINE言語の戦略は,一時的に単一品種のみです.

発明者 量化 - 微かな夢この記事へのトラックバック一覧です.

発明者 量化 - 微かな夢ほら,もういいから

発明者 量化 - 微かな夢PINE 模範庫のパラメータは,交換取引所のベースアドレスを設定することができます. 文書の開始: PINE 言語取引庫の模範庫のパラメータ.