ceArray = array.new ((samplesInput) kaedah maintainQueue(array srcArray, nilai float, bool takeSample = true) => jika mengambilSampel srcArray.push (nilai) srcArray.shift() srcArray
kaedah calcBB(array srcArray, float mult, bool calculate = true) => var rata-rata terapung = na var float dev = na jika mengira mean:= srcArray.avg() dev:= srcArray.stdev() * mult [Rata, rata + dev, rata - dev]
bool newSample = bar_index % n == 0
[sampleMean, highBand, lowBand] = sumberArray.maintainQueue ((sourceInput, newSample).calcBB ((perkali, newSample)
plot ((sampleMean,
可以看到使用关键字method声明的用户自定义方法:maintainQueue、calcBB的参数列表中第一个参数都是```array<float>```类型。表示该method是```array<float>```类型变量的方法,所以可以看到调用以下代码来计算布林指标。
```pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
Methods dimuat semula
Kaedah yang ditakrifkan oleh pengguna boleh mengelilingi dan memuat semula kaedah terbina dalam dan kaedah yang ditakrifkan oleh pengguna yang ada yang mempunyai pengenal yang sama. Fungsi ini membolehkan pengguna untuk menentukan beberapa contoh yang berkaitan dengan tandatangan parameter yang berbeza di bawah nama kaedah yang sama. Sebagai contoh sederhana, katakan kita ingin menentukan kaedah untuk mengenal pasti jenis pembolehubah. Oleh kerana kita mesti menentukan secara eksplisit jenis objek yang berkaitan dengan kaedah yang ditakrifkan oleh pengguna, maka kita perlu menentukan pembolehubah bagi setiap jenis yang kita mahu ia dikenali. Di bawah ini, kita menentukan kaedah getType (() yang mengembalikan bentuk perwakilan baris jenis pembolehubah dan mempunyai lima jenis pembolehubah asas:
//@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")
Jenis asas setiap pembolehubah ditentukangetType()
Jenis pemungutan semula yang akan digunakan. Pada platform FMZ, semua jenis nilai akan dihakimi sebagai data float kerana skrip bawah PINE dilaksanakan sebagai bahasa Javascript.
Menghantar parameter apabila memanggil fungsi, anda boleh menetapkan penyerahan nama parameter, anda boleh menghantar pembolehubah secara langsung di lokasi parameter yang sesuai, dan juga menyokong penggunaan bercampur; contohnya:
plot(close, title="test plot") // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"
Selepas penyampaian nama parameter ditentukan, pemindahan pemboleh ubah tidak boleh lagi dihantar secara langsung sebagai parameter, dan pemindahan seterusnya mesti ditulis dalam bentuk penyampaian nama parameter.
// plot(close, title="test", color.red) // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red) // 正确写法
akan dihantar kepadatimeframe
Tempoh tempoh parameter ditukar kepada saat.
timeframe.in_seconds(timeframe)
Contoh
// 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)
Nilai pulangan
timeframe
Int bagi bilangan saat dalam satu baris K adalah sebagai berikut:
Parameter
- timeframe
(simple string) Jangka masa↑ opsional↑ nilai lalai adalah timeframe.period↑
Nota:Untuktimeframe
>=
Sampai jumpa lagi
## ticker
### ticker.heikinashi
创建一个代码标识符请求平滑平均K线值。
Tick.heikinashi (simbol)
**例子**
```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)
Nilai pulangan 股票代码的字符串值,可以提供给request.security函数。
Parameter
- symbol
(simple string) Pengiktirafan kod barang.
Sampai jumpa lagi
## request
### request.data
请求外部数据。
permintaan.data ((url, atribut)
**例子**
```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)
Nilai pulanganParameterattribute
Rangkaian data yang ditetapkan.
Parameter
- url
(simple string) URL sumber data yang diminta, format data sumber data yang dijawab mesti memenuhi syarat ((minimum mengandungi sifat time、data):{"data": [], "schema": ["time", "data"]}
◎ Boleh merujuk kepada format data dalam contoh:
{
"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) Menentukan nama sifat untuk mengembalikan data yang diperlukan; contohnya:"$.spot_close_price"
, kegunaan$.
Sebagai awalan, nama sifat konsisten dengan sifat dalam medan data dalam data yang dijawab apabila sumber data dimintaPeriksa jika ada kesilapan.request.data
Apakah jangka masa permintaan bersesuaian dengan jangka masa tetapan ulangan, data yang tidak dapat ditanyakan pada urutan masa ulangan akan memberikan kesalahan.
Data-data Data query dalam contoh ini adalah SQL statement:
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;
Boleh didapati di platform FMZPenjelajahan dataMencari halaman, membuat pautan data, contoh yang digunakanhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data
。
Permintaan untuk jenis / resolusi yang berbeza.
request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency)
Contoh
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)
Nilai pulanganPermintaan siri
Parameter
- symbol
(simple string) Kod barang.
- Tidak.timeframe
(simple string) Jangka masa. String kosong akan ditafsirkan sebagai tempoh masa semasa grafik.
- Tidak.expression
(series int/float/bool/color) boleh dipanggil dari request.security dan mengembalikan satu ungkapan. Ia boleh menjadi satu siri atau satu kumpulan yang mengandungi elemen yang boleh ditukarkan kepada siri.
- Tidak.gaps
(barmerge_gaps) Kebijakan penggabungan data yang diminta ((memerlukan data untuk digabungkan secara automatik dengan data OHLC siri utama) ). Nilai yang mungkin: barmerge.gaps_on, barmerge.gaps_off。 barmerge.gaps_on - data yang diminta digabungkan dengan jurang yang mungkin (na nilai) ─ barmerge.gaps_off - data yang diminta digabungkan secara berturut-turut tanpa henti, semua jurang diisi dengan nilai terkini yang ada sebelumnya。 Nilai lalai adalah barmerge.gaps_off。
- Tidak.lookahead
(barmerge_lookahead) memberi dasar penggabungan data yang diminta. Nilai yang mungkin: barmerge.lookahead_on, barmerge.lookahead_off. Bermula dengan versi 3, nilai lalai adalah barmerge.lookahead_off.
- Tidak.ignore_invalid_symbol
(const bool) Satu parameter pilihan. Jika barang yang ditentukan tidak dijumpai, tindakan fungsi ditentukan: jika false, skrip akan berhenti dan kembali ke kesalahan semasa dijalankan; jika true, fungsi akan kembali ke na dan terus dijalankan. Nilai lalai adalah false.
- Tidak.currency
(simple string) Mengubah mata wang yang berkaitan dengan mata wang barang tersebut (misalnya OHLC) kepada mata wang yang dikira; kemudian mengira nilai selepas penukaran berdasarkan mata wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang wang
Nota:Kod PineScript yang menggunakan ciri ini boleh membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.Jika anda ingin menetapkan parameter tambahan untuk barang yang diminta, seperti tempoh transaksi atau jenis penyesuaian, anda boleh menggunakan fungsi ticker.new().
Tidak boleh menggunakan pembolehubah pencuci mulut untuk menyampaikan kesesuaian kepada fungsi ini. Anda boleh menggunakan pembolehubah pencuci mulut.new pencuci mulut atau bentuk baris kod saham, seperti pencuci mulut AAPL + MSFT * TSLA pencuci mulut.Pada masa ini, satu skrip boleh mempunyai maksimum 40 panggilan request.security.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk digariskan semula.
Parameter resolusi dibenarkan untuk:
1S, 5S, 15S, 30S - selang detik (siklus grafik harus kurang daripada atau sama dengan tempoh yang diminta)
Dari 1 hingga 1440 minit
Dari 1D ke 365D hari.
Dari 1W kepada 52W dalam beberapa minggu.
Dari 1M hingga 12M dalam beberapa bulan.
Sampai jumpa lagi
## str
### str.contains
如果`source`字符串包含`str`子字符串,则返回true,否则返回false。
str.contains ((sumber, 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)
Nilai pulanganJikasource
Dijumpai dalam tali.str
, adalah benar, jika tidak, adalah salah.
Parameter
- source
(series string) String sumber
- Tidak.str
(series string) Substring untuk dicari.
Sampai jumpa lagi
### str.endswith
如果`source`字符串以`str`中指定的子字符串结尾,则返回true,否则返回false。
Strendswith (sumber, str)
**返回值**
如果`source`字符串以`str`中指定的子字符串结尾,则为true,否则为false。
**参数**
- ```source``` (series string) 来源字符串
- ```str``` (series string) 要搜索的子字符串。
**另见**
```str.startswith```
### str.startswith
如果`source`字符串以`str`中指定的子字符串开头,则返回true,否则返回false。
str.bermula dengan ((sumber, str)
**返回值**
如果`source`字符串以`str`中指定的子字符串开头,则为true,否则为false。
**参数**
- ```source``` (series string) 来源字符串
- ```str``` (series string) 要搜索的子字符串。
**另见**
```str.endswith```
### str.substring
返回一个新字符串,它是`source`字符串的子字符串。子字符串以`begin_pos` 指定的索引处的字符开始,并扩展到`source` 字符串的'end_pos - 1'。
str.substring ((sumber, mula_pos)
str.substring ((sumber, 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)
Nilai pulanganString yang diambil daripada sumber strings.
Parameter
- source
(series string) Mengekstrak string sumber untuk string kecilnya.
- Tidak.begin_pos
(series int) adalah tempat permulaan daripada baris baris yang diambil. Ia adalah eksklusif (seri baris yang diambil termasuk karakter dari tempat itu).
- Tidak.end_pos
(series int) berakhir di kedudukan. Ia adalah eksklusif (string yang diekstrak tidak termasuk watak di kedudukan) opsional.source
Panjang senar.
Nota:Indeks senar bermula dari 0.begin_pos
sama denganend_pos
Fungsi ini akan mengembalikan satu baris kosong.
Sampai jumpa lagi
### str.tonumber
str.tonumber (string)
**返回值**
如果包含有效数字,为字符串的浮点型,否则为na。
**参数**
- ```string``` (series string) int或float的字符串表现形式。
### str.format
将格式字符串和值转换为格式化字符串。格式字符串可以包含文字文本和每个要格式化的值的大括号{}中的一个占位符。每个占位符包括将替换它的必需参数的指数(从0开始) ,以及一个可选的格式说明符。索引表示该参数在str.format参数列表中的位置。
str.format ((formatString, 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)
Nilai pulanganString yang diformat.
Parameter
- formatString
(series string) Senar format.
- Tidak.arg0, arg1, ...
(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) adalah nilai yang perlu diformat.
Nota:Semua kurung bunga dalam gaya yang tidak dipetik mesti diimbangi. Sebagai contoh,
Mengembalikan bilangan bulat yang sepadan dengan bilangan aksara dalam tali tersebut.
str.length(string)
Nilai pulanganBilangan aksara dalam rentetan sumber.
Parameter
- string
(series string) String sumber
Mengembalikan satu baris baru di mana semua huruf ditukar kepada huruf kecil.
str.lower(source)
Nilai pulanganSemua huruf telah ditukar kepada baris baru yang ditulis dengan huruf kecil.
Parameter
- source
(series string) String yang akan ditukar.
Sampai jumpa lagi
### str.upper
返回一个所有字母都转换为大写的新字符串。
str.upper ((sumber)
**返回值**
所有字母都转换为大写的新字符串。
**参数**
- ```source``` (series string) 要转换的字符串。
**另见**
```str.lower```
### str.match
如果匹配`regex`正则表达式,则返回`source`字符串的新子字符串,否则返回'na'。
str.match (sumber, regex)
**例子**
```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"
Nilai pulangan
source
String yang baru, jika ia sepadan dengan saturegex
Perkataan yang betul, jika tidak, adalah
Parameter
- source
(series string) String sumber
- Tidak.regex
(series string) ungkapan biasa yang sepadan dengan string ini.
Nota:Fungsi kembalisource
Ekspresi biasa yang pertama kali muncul dalam tali.regex
Simbol counter-slash \
Sampai jumpa lagi
### str.pos
返回`source`字符串中第一次出现`str`字符串的位置,否则返回'na'。
str.pos ((sumber, 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 ((sumber, sasaran, penggantian, kejadian)
**例子**
```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)
Nilai pulanganSudah diproses.
Parameter
- source
(series string) String sumber
- Tidak.target
(series string) digantikan dengan string
- Tidak.replacement
(series string) String yang akan dimasukkan dan bukan string sasaran.
- Tidak.occurrence
(series int) Indeks yang sesuai dengan string sasaran yang akan digantikan pada string sumber. Indeks pertama yang sesuai bermula dari 0. Pilihan.
Sampai jumpa lagi
### str.replace_all
用替换字符串,替换源字符串中每次出现的目标字符串。
str.replace_all ((sumber, sasaran, penggantian)
**返回值**
已处理字符串
**参数**
- ```source``` (series string) 来源字符串
- ```target``` (series string) 被替换字符串
- ```replacement``` (series string) 每次出现的目标字串都将替换的字串
### str.split
将字符串划分为子字符串阵列,并返回其阵列ID。
str.split ((string, pemisah)
**返回值**
字符串阵列的ID。
**参数**
- ```string``` (series string) 来源字符串
- ```separator``` (series string) 分隔每个子字符串的字符串。
### str.tostring
str.tostring ((nilai)
str.tostring ((nilai, format)
str.tostring(nilai[])
str.tostring ((nilai[], format)
**返回值**
`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
功能颜色将指定透明度应用于给定的颜色。
warna.baru ((warna, trans)
**例子**
```pine
plot(close, color=color.new(color.red, 50))
Nilai pulanganWarna-warna yang mempunyai ketelusan tertentu.
Parameter
- color
(warna siri)
- Tidak.transp
(series int/float) Nilai yang boleh digunakan adalah dari 0 (tidak jelas) hingga 100 (tidak kelihatan)
Nota:Menggunakan sebilangan besar parameter (contohnya, parameter sederhana, input, atau siri) akan mempengaruhi warna yang dipaparkan pada tetapan tab skrip / halaman tag tab gaya. Sila lihat manual pengguna untuk maklumat lanjut.
Menggunakan model warna RGB untuk mencipta warna baru dengan ketelusan.
color.rgb(red, green, blue, transp)
Contoh
plot(close, color=color.rgb(255, 0, 0, 50))
Nilai pulanganWarna-warna yang mempunyai ketelusan tertentu.
Parameter
- red
(series int/float) warna merah. Nilai yang mungkin adalah dari 0 hingga 255.
- Tidak.green
(series int/float) warna hijau. Nilai yang mungkin adalah dari 0 hingga 255.
- Tidak.blue
(series int/float) warna biru. Nilai yang mungkin adalah dari 0 hingga 255.
- Tidak.transp
(series int/float) boleh dipilih↑ warna telus↑ nilai yang mungkin dari 0 (tidak telus) hingga 100 (telus)↑ nilai lalai adalah 0♦
Nota:Menggunakan sebilangan besar parameter (contohnya, parameter sederhana, input, atau siri) akan mempengaruhi warna yang dipaparkan pada tetapan tab skrip / halaman tag tab gaya. Sila lihat manual pengguna untuk maklumat lanjut.
Mencetak maklumat pembolehubah di papan kawalan.
Bahasa FMZ PINE mempunyai fungsi khas,runtime.debug(value)
, hanya mempunyai satu parameter.
Mengeksport kandungan di log.
Bahasa FMZ PINE mempunyai fungsi khas,runtime.log(1, 2, 3, close, high, ...)
, boleh menghantar pelbagai parameter.
Apabila dipanggil, ia boleh menyebabkan kesilapan semasa berjalan dan membawamessage
Mesej ralat yang dinyatakan dalam parameter.
runtime.error(message)
ParameterMessage (series string) mesej ralat.
Menambah input ke halaman tag input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini secara automatik mengesan jenis parameter yang digunakan untuk penyesuaian defval dan menggunakan pemalam input yang sesuai.
input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)
Contoh
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)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const int/float/bool/string/color or source-type built-ins) Menentukan nilai lalai bagi pembolehubah input yang dicadangkan dalam tetapan gelung skrip / halaman label gelung input, yang boleh diubah oleh pengguna skrip.close
、hlc3
Seperti itu.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
Nota:Nilai pulangan fungsi input harus selalu diberikan kepada pembolehubah; lihat contoh di atas.
Sampai jumpa lagi
### input.source
将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此功能添加了一个下拉菜单,允许用户选择计算源,例如close、hl2等。如果脚本只包含一个input.source()调用,用户还可以选择图表上另一个指标的输出作为源。
input.source ((defval, tajuk, petua alat, inline, kumpulan)
**例子**
```pine
i_src = input.source(close, "Source")
plot(i_src)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(series int/float) Menentukan seting siri skrip / nilai lalai bagi pemboleh ubah input yang dicadangkan dalam halaman tag siri, yang boleh diubah oleh pengguna.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
Nota: input.source函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.string
将input添加到脚本设置的输入选项卡,它允许您向脚本用户提供配置选项。此函数将字符串输入字段添加到脚本的输入中。
input.string ((defval, tajuk, pilihan, petua alat, inline, kumpulan, mengesahkan)
**例子**
```pine
i_text = input.string("Hello!", "Message")
runtime.log(i_text)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const string) Menentukan tetapan senar skrip / input senar pada halaman tag input yang dicadangkan, yang boleh diubah oleh pengguna.options
Apabila parameter digunakan bersama, nilai ini mesti menjadi salah satu daripadanya.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.options
(List of constants: [<type>...]) Senarai pilihan yang boleh dipilih.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta. Nilai lalai adalah false.
Nota: input.string函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.bool
将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数为脚本的输入添加复选标记。
input.bool ((defval, tajuk, alat tip, dalam barisan, kumpulan, mengesahkan)
**例子**
```pine
i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const bool) Menentukan tetapan setup setup skrip / input input variable yang disyorkan pada halaman tag setup, yang boleh diubah oleh pengguna.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta. Nilai lalai adalah false.
Nota: input.bool函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.int
将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数将整数输入字段添加到脚本的输入中。
input.int ((defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int ((defval, tajuk, pilihan, petua alat, dalam barisan, kumpulan, mengesahkan)
**例子**
```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))
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const int) Menentukan tetapan tetapan tetapan skrip / input nilai lalai bagi pemboleh ubah input yang dicadangkan dalam halaman tag tetapan, yang boleh diubah oleh pengguna skrip.options
Apabila parameter digunakan bersama, nilai ini mesti menjadi salah satu daripadanya.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.minval
(const int) Nilai minimum yang mungkin bagi pembolehubah input. Opsional.
- Tidak.maxval
(const int) Nilai maksimum yang mungkin bagi pembolehubah input. Opsional.
- Tidak.step
(const int) Digunakan untuk menambah/mengurangkan panjang langkah input. Opsional. Nilai lalai ialah 1
- Tidak.options
(tuple of const int values: [val1, val2,...]) Senarai pilihan yang dipilih dari menu drop-down, dipisahkan dengan koma dan digabungkan dengan kurung: [val1, val2,...];; tidak boleh digunakan apabila menggunakan parameter iniminval
、maxval
danstep
Parameter.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta. Nilai lalai adalah false.
Nota: input.int函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.float
将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数将浮点输入字段添加到脚本的输入中。
input.float ((defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float ((defval, tajuk, pilihan, petua alat, dalam barisan, kumpulan, mengesahkan)
**例子**
```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)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const int/float) Menentukan nilai lalai bagi pemboleh ubah input yang disyorkan dalam tetapan templat skrip / halaman label templat input, yang boleh diubah oleh pengguna skrip. Apabila senarai nilai disesuaikan denganoptions
Apabila parameter digunakan bersama, nilai ini mesti menjadi salah satu daripadanya.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.minval
(const int/float) Nilai minimum yang mungkin bagi pembolehubah input. Opsional.
- Tidak.maxval
(const int/float) Nilai maksimum yang mungkin bagi pembolehubah input. Opsional.
- Tidak.step
(const int/float) digunakan untuk menambah/mengurangkan nilai langkah input. Opsional. Nilai lalai ialah 1..
- Tidak.options
(tuple of const int/float values: [val1, val2,...]) Senarai pilihan yang dipilih dari menu drop-down, dipisahkan dengan koma dan digabungkan dengan kurung kuasa: [val1, val2,...];; tidak boleh digunakan apabila menggunakan parameter iniminval
、maxval
danstep
Parameter.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta. Nilai lalai adalah false.
Nota: input.float函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.color
将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数添加了一个颜色选择器,允许用户从调色板或十六进制值中选择颜色和透明度。
input.color ((defval, tajuk, alat tip, dalam barisan, kumpulan, mengesahkan)
**例子**
```pine
i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const color) Menentukan tetapan tetapan tetapan skrip / input input variable yang dicadangkan pada halaman tag tetapan, yang boleh diubah oleh pengguna.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta. Nilai lalai adalah false.
Nota: input.color函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.price
将价格输入添加到脚本的“设置/输入”标签页。使用 `confirm = true` 激活交互式输入模式,通过点击图表选择价格。
input.price ((defval, tajuk, alat tip, dalam barisan, kumpulan, mengesahkan)
**例子**
```pine
price1 = input.price(title="Date", defval=42)
plot(price1)
price2 = input.price(54, title="Date")
plot(price2)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const int/float) Menentukan nilai lalai bagi pemboleh ubah input yang dicadangkan dalam tetapan tetapan / label tetapan skrip, yang boleh diubah oleh pengguna.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, aktifkan mod input interaktif dan selesaikan pilihan dengan mengklik grafik semasa penambahan penunjuk ke carta, atau selesaikan pilihan dengan memilih penunjuk dan kemudian bergerak pilihan. Opsional. Nilai lalai false.
Nota:Apabila menggunakan mod interaksi, jika dua fungsi dipanggil untukinline
Jika parameter menggunakan parameter yang sama, input masa boleh digunakan bersama-sama dengan input harga.
Sampai jumpa lagi
### input.timeframe
将input添加到脚本设置的输入标签页,它允许您向脚本用户提供配置选项。此函数添加一个下拉列表,允许用户通过时间周期选择器选择特定时间周期并将其作为字符串返回。选择器包括用户可能使用图表的时间周期下拉菜单添加的自定义时间周期。
input.timeframe ((defval, tajuk, pilihan, petua alat, dalam barisan, kumpulan, mengesahkan)
**例子**
```pine
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security(syminfo.tickerid, i_res, close)
plot(s)
Nilai pulanganNilai pembolehubah input
Parameter
- defval
(const string) Menentukan tetapan senar skrip / input senar pada halaman tag input yang dicadangkan, yang boleh diubah oleh pengguna.options
Apabila parameter digunakan bersama, nilai ini mesti menjadi salah satu daripadanya.
- Tidak.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditentukan tetapi tajuknya kosong, nama akan menjadi rentetan kosong.
- Tidak.options
(tuple of const string values: [val1, val2,...]) Senarai pilihan yang boleh dipilih.
- Tidak.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.
- Tidak.inline
(const string) Menggabungkan semua panggilan input menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan baris yang digunakan sebagai parameter. Ia hanya digunakan untuk mengenal pasti input yang berada di baris yang sama.
- Tidak.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.
- Tidak.confirm
(const bool) Jika benar, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta. Nilai lalai adalah false.
Nota: input.timeframe函数的结果总是应该分配给一个变量,见上面的例子。
Sampai jumpa lagi
### input.integer
暂无
### input.resolution
暂无
## ta
### ta.alma
Arnaud Legoux移动平均线。 它使用高斯分布作为移动平均值的权重。
ta.alma ((seri, panjang, offset, sigma)
ta.alma ((seri, panjang, offset, sigma, lantai)
**例子**
```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))
Nilai pulanganArnaud Legoux purata bergerak
Parameter
- series
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(series int) Bilangan baris K (panjang).
- Tidak.offset
(simple int/float) Mengendalikan trade-off antara kelancaran (lebih dekat 1) dan tindak balas (lebih dekat 0).
- Tidak.sigma
(simple int/float) mengubah kelancaran ALMA. Lebih besar Sigma, lebih lancar ALMA.
- Tidak.floor
(simple bool) Pilihan parameter. Sebelum mengira ALMA, tentukan sama ada pengiraan deviasi adalah terendah. Nilai lalai adalah false.
Sampai jumpa lagi
### ta.sma
sma函数返回移动平均值,即x的最后y值,除以y。
ta.sma ((sumber, panjang)
**例子**
```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))
Nilai pulangan
length
K-garis kembalisource
Perkiraan ini adalah sebagai berikut:
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(series int) Bilangan baris K (panjang).
Sampai jumpa lagi
### ta.cog
cog(重心点)是基于统计学和斐波那契黄金比例的指标。
ta.cog ((sumber, panjang)
**例子**
```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))
Nilai pulanganFokus
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(series int) Bilangan baris K (panjang).
Sampai jumpa lagi
### ta.dev
衡量系列与其ta.sma之间的差异
ta.dev ((sumber, panjang)
**例子**
```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))
Nilai pulangan
length
K-garis kembalisource
Perbezaan.
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(series int) Bilangan baris K (panjang).
Sampai jumpa lagi
### ta.stdev
ta.stdev ((sumber, panjang, berat sebelah)
**例子**
```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))
Nilai pulanganStandar yang kurang
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(series int) Bilangan baris K (panjang).
- Tidak.biased
(series bool) menentukan kiraan mana yang harus digunakan. Opsional. Nilai lalai adalah benar.
Nota:Jikabiased
Jika benar, fungsi akan menggunakan anggaran bias terhadap keseluruhan, jika salah - anggaran tidak bias terhadap sampel.
Sampai jumpa lagi
### ta.ema
ema 函数返回指数加权移动平均线。在 ema 中,加权因子呈指数下降。它使用以下公式计算:EMA = alpha * source + (1 - alpha) * EMA[1],其中 alpha = 2 / (length + 1)。
ta.ema ((sumber, panjang)
**例子**
```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))
Nilai pulangan
source
Indeks purata bergerak, alfa = 2 / (panjang + 1) ≠
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(simple int) Bilangan garis K (panjang).
Nota:Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk digariskan semula.
Sampai jumpa lagi
### ta.wma
wma 函数返回 `length` K线的 `source` 的加权移动平均值。在 wma 中,加权因子以算术级数递减。
ta.wma ((sumber, panjang)
**例子**
```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))
Nilai pulangan
length
K-garis kembalisource
Rata-rata bergerak tertimbang.
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(series int) Bilangan baris K (panjang).
Sampai jumpa lagi
### ta.swma
具有固定长度的对称加权移动平均线:4.权重:[1/6,2 / 6,2 / 6,1 / 6]。
ta.swma (sumber)
**例子**
```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))
Nilai pulanganPergerakan purata simetris ditambah berat.
Parameter
- source
(series int/float) Siri sumber.
Sampai jumpa lagi
### ta.hma
hma函数返回船体移动平均线HMA。
ta.hma ((sumber, panjang)
**例子**
```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)
Nilai pulanganKembali ke Hull Moving Average.
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(simple int) Bilangan baris K
Sampai jumpa lagi
### ta.rma
RSI中使用的移动平均线。 它是指数加权移动平均线,alpha加权值 = 1 /长度。
ta.rma ((sumber, panjang)
**例子**
```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))
Nilai pulangan
source
Ini adalah garis bergerak indeks, alfa = 1/length
。
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(simple int) Bilangan garis K (panjang).
Sampai jumpa lagi
### ta.rsi
相对强度指数。它是使用在最后一个 `length` K线上`source` 的向上和向下变化的`ta.rma()` 计算的。
Ta.rsi ((sumber, panjang)
**例子**
```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))
Nilai pulanganIndikator RSI yang agak kuat dan lemah
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.length
(simple int) Bilangan garis K (panjang).
Sampai jumpa lagi
### ta.tsi
真实强弱指数。它使用金融工具潜在动量的移动平均线。
ta.tsi ((sumber, pendek_panjang, panjang_panjang)
**返回值**
真实强弱指数。范围[-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 ((sumber, panjang)
**返回值**
`length`K线返回的`source`的变化率。
**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).
### ta.range
返回序列中最小值和最大值之间的差。
Ta.range ((sumber, panjang)
**返回值**
序列中最小值和最大值之间的差。
**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).
### ta.macd
MACD(平滑异同平均线)。 它应该揭示股票价格趋势的实力、方向、动量和持续时间的变化。
ta.macd ((sumber, 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)
Jika anda hanya memerlukan satu nilai, sila gunakan simbol_penempatan seperti ini:
Contoh
[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)
Nilai pulanganTiga komponen siri MACD: talian MACD, talian isyarat dan talian grafik lurus.
Parameter
- source
(series int/float) Nilai siri yang akan dijalankan.
- Tidak.fastlen
(simple int) Parameter garisan ringkas
- Tidak.slowlen
(simple int) Parameter panjang perlahan.
- Tidak.siglen
(simple int) Parameter panjang isyarat.
Sampai jumpa lagi
### ta.mode
返回序列的模式。如果有多个具有相同频率的值,则返回最小值。
ta.mode ((sumber, panjang)
**返回值**
序列的模式。
**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).
### ta.median
返回序列的中位数。
ta.median ((sumber, panjang)
**返回值**
序列的中位数。
**参数**
- ```source``` (series int/float) 待执行的系列值。
- ```length``` (series int) K线数量(长度).
### ta.linreg
线性回归曲线。一条最符合用户定义时间段内指定价格的线。它是使用最小二乘法计算的。此函数的结果使用以下公式计算:linreg = intercept + slope * (length - 1 - offset),其中 intercept 和 slope 是使用 `source` 系列的最小二乘法计算的值。
ta.linreg ((sumber, panjang, offset)
**返回值**
线性回归曲线
**参数**
- ```source``` (series int/float) 源系列。
- ```length``` (series int)
- ```offset``` (simple int) 偏移
### ta.bb
布林带。布林带是一种技术分析工具,由一组线定义,这些线与证券价格的简单移动平均线(SMA)相距两个标准偏差(正向和负向),但可以根据用户偏好进行调整。
ta.bb ((seri, panjang, pelbagai)
**例子**
```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)
Nilai pulanganRintangan berwarna-warni.
Parameter
- series
(series int/float) Siri yang akan dijalankan
wuhuoyanBagaimana untuk menjalankan pelbagai transaksi pada masa yang sama untuk kontrak Bitcoin?
Awan ringanBolehkah anda beritahu saya, adakah pine boleh berdagang lebih banyak? Adakah ia boleh berdagang lebih banyak seperti JS? Terima kasih.
Lisa20231Terima kasih untuk maklumat lanjut.
seniWow! bagaimana skrip pine ini menggunakan okx simulator pada platform?
seniIni sama dengan strategi platform tradingview yang boleh disalin terus ke platform pencipta untuk digunakan!
Pencipta Kuantiti - Impian KecilBahasa PINE hanya boleh melakukan dasar varietasi tunggal, strategi pelbagai varietasi adalah yang terbaik atau menulis reka bentuk dengan python, javascript, c ++.
Pencipta Kuantiti - Impian KecilOh, ya, OKX agak istimewa, mereka mempunyai alamat yang sama di persekitaran analog dan persekitaran cakera sebenar, hanya membuat perbezaan di tempat lain.
Awan ringanTidak boleh menggunakan okx analog.
Pencipta Kuantiti - Impian KecilMasalah seni bina yang pelbagai ini tidak dapat diselesaikan dengan baik, kerana setiap pertukaran mempunyai antara muka yang berbeza, dan batasan frekuensi antara muka juga tidak sama, yang akan menimbulkan banyak masalah.
Pencipta Kuantiti - Impian KecilBaiklah, terima kasih kerana mencadangkan, dan laporkan permintaan ini di sini.
Awan ringanPerasaan yang lebih baik untuk disatukan dengan JS, JS boleh menyesuaikan diri dengan pelbagai cara berdagang.
Pemangsa trendAdakah anda akan mempertimbangkan lebih banyak varieti pada masa akan datang?
Pencipta Kuantiti - Impian KecilTidak sopan.
Awan ringanBaiklah, terima kasih banyak.
Pencipta Kuantiti - Impian KecilHalo, sementara, strategi bahasa PINE hanya boleh menggunakan satu jenis sahaja.
Pencipta Kuantiti - Impian KecilTidak sopan, terima kasih atas sokongan anda. Dokumen akan terus diperbaiki.
Pencipta Kuantiti - Impian KecilYa, saya faham.
Pencipta Kuantiti - Impian KecilPINE template library, parameter yang boleh ditetapkan untuk menukar alamat pangkalan pertukaran.