ceArray =array.new
kaedah calcBB(array
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
input.timeframe
timeframe.period
Membuat pengenal kod meminta rata-rata nilai baris K yang lancar.
ticker.heikinashi(symbol)
Contoh
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
syminfo.tickerid
syminfo.ticker
request.security
Minta data luaran.
request.data(url, attribute)
Contoh
/*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 diminta
Periksa 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.timeframe
(simple string) Jangka masa. String kosong akan ditafsirkan sebagai tempoh masa semasa grafik.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 unsur yang boleh ditukar kepada siri.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。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.ignore_invalid_symbol
(const bool) Satu parameter pilihan. Jika barang yang ditentukan tidak dijumpai, tindakan fungsi ditentukan: jika false, skrip akan berhenti dan kembali kepada kesalahan semasa dijalankan; jika true, fungsi akan kembali ke na dan terus dijalankan. Nilai lalai adalah false.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 wangNota: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 urus niaga atau jenis penyesuaian, anda boleh mengeditnya.您可以使用ticker.newFungsi ini adalah sebagai berikut:
Tidak dapat menggunakan pembolehubah ticker tick untuk menyampaikan perbezaan titik kepada fungsi ini. Anda boleh menggunakan tick.ticker.newBentuk penyampaian baris bagi pembolehubah atau kod saham, seperti AAPL+MSFT*TSLAPada 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
syminfo.ticker
syminfo.tickerid
timeframe.period
ta.correlation
barmerge.lookahead_off
barmerge.lookahead_on
Jikasource
String mengandungistr
String anak, akan kembali ke benar, jika tidak akan kembali ke salah.
str.contains(source, str)
Contoh
// 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 sumberstr
(series string) Substring untuk dicari.Sampai jumpa lagi
str.pos
str.match
Jikasource
String denganstr
Akhir baris yang ditentukan pada fail akan dikembalikan true, jika tidak akan dikembalikan false.
str.endswith(source, str)
Nilai pulanganJikasource
String denganstr
Akhir baris kecil yang ditetapkan di dalam adalah benar, jika tidak, adalah salah.
Parameter
source
(series string) String sumberstr
(series string) Substring untuk dicari.Sampai jumpa lagi
str.startswith
Jikasource
String denganstr
Pada permulaan strings yang ditetapkan pada fail, kembali ke benar atau false.
str.startswith(source, str)
Nilai pulanganJikasource
String denganstr
Permulaan baris kecil yang ditetapkan di dalam adalah benar, jika tidak, adalah salah.
Parameter
source
(series string) String sumberstr
(series string) Substring untuk dicari.Sampai jumpa lagi
str.endswith
dan kembalikan strings yang baru.source
String mempunyai substring.begin_pos
Bermula dengan karakter di dalam indeks yang ditentukan dan dilanjutkan kesource
str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)
Contoh
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 daripada baris baris bawahnya.begin_pos
(series int) adalah kedudukan permulaan daripada baris baris yang diambil. Ia adalah eksklusif (serial baris yang diambil termasuk karakter dari baris tersebut).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.contains
str.pos
str.match
str.tonumber(string)
Nilai pulanganJika mengandungi nombor yang sah, ia adalah jenis titik terapung untuk baris, jika tidak, ia adalah na.
Parameter
string
(series string) int atau float sebagai bentuk penyampaian baris.Mengubah strings dan nilai format kepada strings format. String format boleh mengandungi satu penempatan dalam kurung besar {} dalam teks teks dan setiap nilai yang ingin diformat. Setiap penempatan termasuk indeks yang akan menggantikan parameter yang diperlukan (bermula dari 0), dan penunjuk format pilihan. Indeks menunjukkan tempat parameter dalam senarai parameter str.format.
str.format(formatString, arg0, arg1, ...)
Contoh
// 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.arg0, arg1, ...
(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) adalah nilai yang perlu diformat.Nota:Semua tanda kurung 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 sumberMengembalikan 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
Mengembalikan satu baris baru di mana semua huruf telah ditukar menjadi huruf besar.
str.upper(source)
Nilai pulanganSemua huruf telah ditukar kepada baris baru yang ditulis besar.
Parameter
source
(series string) String yang akan ditukar.Sampai jumpa lagi
str.lower
Jika ia sepadan.regex
Perkataan biasa akan kembali.source
String yang baru, jika tidak akan dikembalikan kepada
str.match(source, regex)
Contoh
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 sumberregex
(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.contains
str.substring
Kembalisource
Pertama kali muncul dalam senar.str
Jika tidak, kembalikan
str.pos(source, str)
Nilai pulangan
str
String disource
Lokasi dalam rentetan.
Parameter
source
(series string) String sumberstr
(series string) Substring untuk dicari.Nota:Indeks senar bermula dari 0.
Sampai jumpa lagi
str.contains
str.match
str.substring
Mengembalikan tali baru yang N + 1 kali muncultarget
String dan sebelum initarget
Garis digantikan denganreplacement
String, di mana N berada dioccurrence
Mengisytiharkan.N sebagai indeks pencocokan yang muncul dalam string sumber untuk string sasaran yang akan digantikan.
str.replace(source, target, replacement, occurrence)
Contoh
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 sumbertarget
(series string) digantikan dengan stringreplacement
(series string) String yang akan dimasukkan dan bukan string sasaran.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.match
Menggunakan penggantian baris, menggantikan baris sasaran setiap kali muncul dalam baris sumber.
str.replace_all(source, target, replacement)
Nilai pulanganSudah diproses.
Parameter
source
(series string) String sumbertarget
(series string) digantikan dengan stringreplacement
(series string) Setiap kali string sasaran muncul, ia akan menggantikan string yang lainMemisahkan strings menjadi array substrings dan mengembalikan ID array mereka.
str.split(string, separator)
Nilai pulanganID barisan baris.
Parameter
string
(series string) String sumberseparator
(series string) String yang memisahkan setiap substring.str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)
Nilai pulangan
value
String parameter menunjukkan bentuknya.
Jikavalue
Parameter adalah tali dan akan dikembalikan seperti semula.
Apabilavalue
Untuk na, fungsi ini mengembalikan string NaN.
Parameter
value
(series int/float/bool/string/int[]/float[]/bool[]/string[]) yang elemennya ditukar kepada nilai atau ID aritmatika.format
(serangkaian rentetan) Format rentetan. Menerima format ini.* konstanta: format.mintick, format.peratus, format.volume. Pilihan. Nilai lalai adalah Nota:Format nilai float juga akan menempatkan nilai-nilai ini jika perlu, contohnya str.tostring ((3.99,
Warna fungsi akan menentukan ketelusan yang digunakan untuk warna yang diberikan.
color.new(color, transp)
Contoh
plot(close, color=color.new(color.red, 50))
Nilai pulanganWarna-warna yang mempunyai ketelusan tertentu.
Parameter
color
(warna siri)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.green
(series int/float) warna hijau. Nilai yang mungkin adalah dari 0 hingga 255.blue
(series int/float) warna biru. Nilai yang mungkin adalah dari 0 hingga 255.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.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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.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.bool
input.color
input.int
input.float
input.string
input.timeframe
input.source
Menambah input ke halaman tag input dengan tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah menu drop-down yang membolehkan pengguna memilih sumber pengiraan, seperti close, hl2, dan lain-lain. Jika skrip hanya mengandungi satu panggilan input.source (), pengguna juga boleh memilih output penunjuk lain pada carta sebagai sumber.
input.source(defval, title, tooltip, inline, group)
Contoh
i_src = input.source(close, "Source")
plot(i_src)
Nilai pulanganNilai pembolehubah input
Parameter
defval
(series int/float) Menentukan nilai lalai bagi pembolehubah input yang disyorkan dalam tetapan setelan / input float skrip pada halaman label, yang boleh diubah oleh pengguna.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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.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.bool
input.int
input.float
input.string
input.timeframe
input.color
input
Menambah input ke tab pilihan input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input baris ke dalam input skrip.
input.string(defval, title, options, tooltip, inline, group, confirm)
Contoh
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.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.options
(List of constants: [tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.int
input.float
input.timeframe
input.source
input.color
input
Menambah input ke halaman tag input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah tag pilihan untuk input skrip.
input.bool(defval, title, tooltip, inline, group, confirm)
Contoh
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.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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.float
input.string
input.timeframe
input.source
input.color
input
Menambah input ke halaman tag input dengan tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input bilangan bulat ke dalam input skrip.
input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)
Contoh
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.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.minval
(const int) Nilai minimum yang mungkin bagi pembolehubah input. Opsional.maxval
(const int) Nilai maksimum yang mungkin bagi pembolehubah input. Opsional.step
(const int) Digunakan untuk menambah/mengurangkan panjang langkah input. Opsional. Nilai lalai ialah 1options
(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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.bool
input.float
input.string
input.timeframe
input.source
input.color
input
Menambah input ke halaman tag input dengan tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input float ke dalam input skrip.
input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)
Contoh
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.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.minval
(const int/float) Nilai minimum yang mungkin bagi pembolehubah input. Opsional.maxval
(const int/float) Nilai maksimum yang mungkin bagi pembolehubah input. Opsional.step
(const int/float) digunakan untuk menambah/mengurangkan nilai langkah input. Opsional. Nilai lalai ialah 1..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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.bool
input.int
input.string
input.timeframe
input.source
input.color
input
Menambah input ke halaman tag input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah pilihan warna yang membolehkan pengguna memilih warna dan ketelusan dari papan warna atau nilai setelan 16 digit.
input.color(defval, title, tooltip, inline, group, confirm)
Contoh
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 disyorkan pada halaman tag tetapan, yang boleh diubah oleh pengguna.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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.bool
input.int
input.float
input.string
input.timeframe
input.source
input
Menambah entri harga ke skrip tetapan acuan / menggunakan halaman tag acuan.confirm = true
Mengaktifkan mod input interaktif, pilih harga dengan mengklik carta.
input.price(defval, title, tooltip, inline, group, confirm)
Contoh
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 pembolehubah input yang disyorkan dalam tetapan tetapan / label tetapan skrip, yang boleh diubah oleh pengguna.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.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.bool
input.int
input.float
input.string
input.resolution
input.source
input.color
input
Menambah input ke halaman tag input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah senarai turun yang membolehkan pengguna memilih tempoh masa tertentu melalui pemilih tempoh masa dan mengembalikannya sebagai senar. Pemilih termasuk tempoh masa khusus yang ditambahkan menu turun yang mungkin digunakan pengguna untuk grafik.
input.timeframe(defval, title, options, tooltip, inline, group, confirm)
Contoh
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.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.options
(tuple of const string values: [val1, val2,...]) Senarai pilihan yang boleh dipilih.tooltip
(const string) String ini akan dipaparkan kepada pengguna apabila tetikus anda berada di atas ikon alat rujukan.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.group
(const string) Mencipta tajuk di atas semua input menggunakan senar parameter kumpulan yang sama. Senar ini juga digunakan sebagai teks tajuk tag.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.bool
input.int
input.float
input.string
input.source
input.color
input
Tiada
Tiada
Arnaud Legoux purata bergerak. Ia menggunakan pembahagian Gauss sebagai berat purata bergerak.
ta.alma(series, length, offset, sigma)
ta.alma(series, length, offset, sigma, floor)
Contoh
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.length
(series int) Bilangan baris K (panjang).offset
(simple int/float) Mengendalikan trade-off antara kelancaran (<= 1) dan responsif (<= 0).sigma
(simple int/float) mengubah kelancaran ALMA.floor
(simple bool) Pilihan parameter. Sebelum mengira ALMA, tentukan sama ada pengiraan deviasi adalah terendah. Nilai lalai adalah false.Sampai jumpa lagi
ta.sma
ta.ema
ta.rma
ta.wma
ta.vwma
ta.swma
Fungsi sma mengembalikan purata bergerak, iaitu nilai y terakhir untuk x, yang dibahagikan dengan y.
ta.sma(source, length)
Contoh
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.length
(series int) Bilangan baris K (panjang).Sampai jumpa lagi
ta.ema
ta.rma
ta.wma
ta.vwma
ta.swma
ta.alma
cog (graviti) adalah satu penunjuk berdasarkan statistik dan nisbah emas Fibonacci.
ta.cog(source, length)
Contoh
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.length
(series int) Bilangan baris K (panjang).Sampai jumpa lagi
ta.stoch
衡量系列与其ta.sma之间的差异
ta.dev(source, length)
Contoh
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.length
(series int) Bilangan baris K (panjang).Sampai jumpa lagi
ta.variance
ta.stdev
ta.stdev(source, length, biased)
Contoh
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.length
(series int) Bilangan baris K (panjang).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.dev
ta.variance
Fungsi ema mengembalikan garis purata bergerak ditambah indeks. Dalam ema, faktor tambah berat menunjukkan penurunan indeks. Ia dikira menggunakan formula berikut: EMA = alpha * sumber + (1 - alpha) * EMA,[1] di mana alpha = 2 / (panjang + 1) ≠ 0.
ta.ema(source, length)
Contoh
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.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.sma
ta.rma
ta.wma
ta.vwma
ta.swma
ta.alma
Fungsi wma dikembalikanlength
Garis Ksource
Dalam wma, faktor berat dikurangkan dengan bilangan pangkat aritmatika.
ta.wma(source, length)
Contoh
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.length
(series int) Bilangan baris K (panjang).Sampai jumpa lagi
ta.sma
ta.ema
ta.rma
ta.vwma
ta.swma
ta.alma
Rata-rata bergerak bertimbang simetri dengan panjang tetap: 4. Berat: [1/6,2 / 6,2 / 6,1 / 6].
ta.swma(source)
Contoh
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.sma
ta.ema
ta.rma
ta.wma
ta.vwma
ta.alma
Fungsi hma mengembalikan HMA.
ta.hma(source, length)
Contoh
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.length
(simple int) Bilangan baris KSampai jumpa lagi
ta.ema
ta.rma
ta.wma
ta.vwma
ta.sma
Garis purata bergerak yang digunakan dalam RSI. Ia adalah garis purata bergerak bertimbang indeks, dengan nilai alfa ditambah berat = 1 / panjang.
ta.rma(source, length)
Contoh
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.length
(simple int) Bilangan garis K (panjang).Sampai jumpa lagi
ta.sma
ta.ema
ta.wma
ta.vwma
ta.swma
ta.alma
ta.rsi
Indeks intensiti relatif. Ia digunakan pada akhirlength
K Linesource
Perubahan atas dan bawahta.rma()
Percuma.
ta.rsi(source, length)
Contoh
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.length
(simple int) Bilangan garis K (panjang).Sampai jumpa lagi
ta.rma
Indeks kekuatan dan kelemahan sebenar. Ia menggunakan purata bergerak potensi pergerakan instrumen kewangan.
ta.tsi(source, short_length, long_length)
Nilai pulanganIndeks kekuatan dan kelemahan sebenar. Nilai dalam julat [-1,1].
Parameter
source
(series int/float) Siri sumber.short_length
(simple int) panjang pendek.long_length
(simple int) Panjang baris panjang.Fungsi roc ((perubahan kadar) menunjukkansource
nilai semasa dansource
Beberapa hari yang lalulength
Perbezaan antara nilai-nilai.
Ia dikira dengan formula berikut: 100 * change (src, length) / src (length) ⋅
ta.roc(source, length)
Nilai pulangan
length
K-garis kembalisource
Perbezaan dalam jumlah pengguna.
Parameter
source
(series int/float) Nilai siri yang akan dijalankan.length
(series int) Bilangan baris K (panjang).Mengembalikan perbezaan antara nilai minimum dan maksimum dalam siri.
ta.range(source, length)
Nilai pulanganPerbezaan antara nilai minimum dan nilai maksimum dalam siri tersebut.
Parameter
source
(series int/float) Nilai siri yang akan dijalankan.length
(series int) Bilangan baris K (panjang).MACD (Smooth Asymmetric Average). Ia sepatutnya mendedahkan perubahan kekuatan, arah, momentum dan tempoh trend harga saham.
ta.macd(source, fastlen, slowlen, siglen)
Contoh
[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, 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.fastlen
(simple int) Parameter garisan ringkasslowlen
(simple int) Parameter panjang perlahan.siglen
(simple int) Parameter panjang isyarat.Sampai jumpa lagi
ta.sma
ta.ema
Mengembalikan corak siri. Jika terdapat beberapa nilai dengan frekuensi yang sama, nilai minimum dikembalikan.
ta.mode(source, length)
Nilai pulanganModel siri.
Parameter
source
(series int/float) Nilai siri yang akan dijalankan.length
(series int) Bilangan baris K (panjang).Mengembalikan nombor tengah siri.
ta.median(source, length)
Nilai pulanganBilangan tengah dalam satu siri.
Parameter
source
(series int/float) Nilai siri yang akan dijalankan.length
(series int) Bilangan baris K (panjang).Garis regresi linear. Garis yang paling sesuai dengan harga yang ditetapkan dalam tempoh masa yang ditakrifkan oleh pengguna. Ia dikira menggunakan penggandaan dua minimum. Hasil fungsi ini dikira menggunakan formula berikut: linreg = intercept + slope * (length - 1 - offset), di mana intercept dan slope digunakan.source
Nilai untuk pengiraan dua kali ganda terendah dalam siri tersebut.
ta.linreg(source, length, offset)
Nilai pulanganGaris regresi linear
Parameter
source
(series int/float) Siri sumber.length
(seri int)offset
(simple int) penyesuaianBlink band. Blink band adalah alat analisis teknikal yang ditakrifkan oleh satu set garis yang berhampiran dengan purata bergerak mudah (SMA) harga sekuriti dengan dua kesesuaian standard (positif dan negatif), tetapi boleh disesuaikan mengikut pilihan pengguna.
ta.bb(series, length, mult)
Contoh
[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 dijalankanwuhuoyanBagaimana 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.