untime.error(“stop”)
Boleh digunakan`:=`Operator penyerahan semula mengubah nilai medan objek.
**Kumpulan objek**
Contoh mengisytiharkan array kosong yang akan menyimpan objek jenis order yang ditakrifkan pengguna:
```pine
type order
float price
float amount
string symbol
arrOrder = array.new<order>()
order1 = order.new(99, 1, "BTC_USDT")
order2 = order.new(100, 2, "ETH_USDT")
array.push(arrOrder, order1)
array.push(arrOrder, order2)
runtime.log(arrOrder)
runtime.error("stop")
atau
type order
float price
float amount
string symbol
var array<order> arrOrder = na
arrOrder := array.new<order>()
order1 = order.new(99, 1, "BTC_USDT")
order2 = order.new(100, 2, "ETH_USDT")
array.push(arrOrder, order1)
array.push(arrOrder, order2)
runtime.log(arrOrder)
runtime.error("stop")
Objek yang disalin
Dalam Pine, objek diagihkan melalui rujukan. Apabila objek sedia ada diagihkan kepada pembolehubah baru, kedua-duanya merujuk kepada objek yang sama.
//@version=5
indicator("")
type pivotPoint
int x
float y
pivot1 = pivotPoint.new()
pivot1.x := 1000
pivot2 = pivot1
pivot2.x := 2000
// Both plot the value 2000.
plot(pivot1.x)
plot(pivot2.x)
Dalam contoh di bawah ini, kita membuat objek pivot1 dan menetapkan medan x-nya kepada 1000. Kemudian, kita menyatakan bahawa pivot2 mengandungi pembolehubah yang merujuk kepada objek pivot1 dan oleh itu kedua-duanya merujuk kepada contoh yang sama. Oleh itu, mengubah pivot2.x juga akan mengubah pivot1.x kerana kedua-duanya merujuk kepada medan x-nya yang sama.
Untuk mencipta salinan yang berasingan daripada objek asal, dalam kes ini kita boleh menggunakan kaedah copy () yang terbina dalam. Dalam contoh ini, kita menyatakan pivot2 merujuk kepada pembolehubah bagi contoh salinan objek pivot1. Sekarang, mengubah pivot2.x tidak akan mengubah pivot1.x, kerana ia merujuk kepada bidang x sebagai objek yang berasingan:
//@version=5
indicator("")
type pivotPoint
int x
float y
pivot1 = pivotPoint.new()
pivot1.x := 1000
pivot2 = pivotPoint.copy(pivot1)
pivot2.x := 2000
// Plots 1000 and 2000.
plot(pivot1.x)
plot(pivot2.x)
Perlu diingat bahawa kaedah salinan TradingView adalah salinan shallow. Jika objek mempunyai bidang jenis khas (array, dll.), Bidang dalam salinan shallow objek akan merujuk kepada contoh yang sama dengan objek tersebut. Platform FMZ melakukan penyalinan mendalam secara langsung tanpa perlu melakukan pemprosesan tambahan, seperti contoh berikut:
Salinan mendalam
//@version=5
indicator("test deepCopy")
type orderInfo
float price
float amount
type labelInfo
orderInfo order
string labelMsg
labelInfo1 = labelInfo.new(orderInfo.new(100, 0.1), "test labelInfo1")
labelInfo2 = labelInfo.copy(labelInfo1)
labelInfo1.labelMsg := "labelInfo1->2" // 修改 labelInfo1 的基础类型字段,看是否影响 labelInfo2
labelInfo1.order.price := 999 // 修改 labelInfo1 的复合类型字段,看是否影响 labelInfo2
runtime.log(labelInfo1)
runtime.log(labelInfo2)
runtime.error("stop")
Hasil ujian, labelInfo.copy ((labelInfo1) dijalankan sebagai salinan mendalam, mengubah labelInfo1 mana-mana bidang tidak akan menjejaskan labelInfo2。
Kaedah dalam bahasa Pine adalah fungsi khusus yang berkaitan dengan jenis yang terbina dalam atau ditakrifkan oleh pengguna untuk contoh tertentu. Dalam kebanyakan hal, mereka adalah sama dengan fungsi biasa, tetapi menawarkan sintaksis yang lebih pendek dan lebih mudah. Pengguna boleh menggunakan kaedah secara langsung menggunakan tanda titik pada pembolehubah, seperti mengakses bidang objek Pine.
Kaedah terbina dalam
Sebagai contoh, ini adalah sebahagian daripada kod skrip:
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
var float sampleMean = na
var float sampleDev = na
// Identify if `n` bars have passed.
if bar_index % n == 0
// Update the queue.
array.push(sourceArray, sourceInput)
array.shift(sourceArray)
// Update the mean and standard deviaiton values.
sampleMean := array.avg(sourceArray)
sampleDev := array.stdev(sourceArray) * multiplier
// Calculate bands.
float highBand = sampleMean + sampleDev
float lowBand = sampleMean - sampleDev
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
Ia boleh ditulis sebagai:
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
var float sampleMean = na
var float sampleDev = na
// Identify if `n` bars have passed.
if bar_index % n == 0
// Update the queue.
sourceArray.push(sourceInput)
sourceArray.shift()
// Update the mean and standard deviaiton values.
sampleMean := sourceArray.avg()
sampleDev := sourceArray.stdev() * multiplier
// Calculate band values.
float highBand = sampleMean + sampleDev
float lowBand = sampleMean - sampleDev
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
Ini menunjukkan bahawa PINE menyokongMethods
Selepas itu, kodarray.avg(sourceArray)
Ia boleh ditulis dalam bentuk kaedah (methods):sourceArray.avg()
。
Nota: FMZ tidak disokong buat masa iniarray.avg
Perkataan yang sama juga digunakan oleh beberapa orang di Malaysia.
Kaedah yang ditakrifkan pengguna
Pine membolehkan pengguna menentukan kaedah tersuai yang digunakan bersama dengan objek apa-apa jenis terbina dalam atau yang ditentukan oleh pengguna. Kaedah penentuan adalah pada dasarnya sama dengan fungsi penentuan, tetapi dengan dua perbezaan utama:
1 , kata kunci method mestilah dimasukkan sebelum nama fungsi . 2. Parameter method, di mana jenis parameter pertama mesti dinyatakan secara eksplisit, kerana ia menyatakan jenis objek yang akan dikaitkan dengan kaedah tersebut.
Sebagai contoh, dalam kod berikut, anda boleh membungkus kod untuk mengira indeks Brin sebagai kaedah yang disesuaikan oleh pengguna:
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
var float sampleMean = na
var float sampleDev = na
// Identify if `n` bars have passed.
if bar_index % n == 0
// Update the queue.
sourceArray.push(sourceInput)
sourceArray.shift()
// Update the mean and standard deviaiton values.
sampleMean := sourceArray.avg()
sampleDev := sourceArray.stdev() * multiplier
// Calculate band values.
float highBand = sampleMean + sampleDev
float lowBand = sampleMean - sampleDev
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
Ia diubah menjadi:
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
method maintainQueue(array<float> srcArray, float value, bool takeSample = true) =>
if takeSample
srcArray.push(value)
srcArray.shift()
srcArray
method calcBB(array<float> srcArray, float mult, bool calculate = true) =>
var float mean = na
var float dev = na
if calculate
mean := srcArray.avg()
dev := srcArray.stdev() * mult
[mean, mean + dev, mean - dev]
bool newSample = bar_index % n == 0
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
Anda boleh lihat bahawa kaedah pengguna yang menggunakan pernyataan method kata kunci:maintainQueue,calcBB yang pertama dalam senarai parameter adalaharray<float>
Type ≠ menyatakan bahawa method adalaharray<float>
Kaedah untuk jenis pembolehubah, jadi anda boleh melihat memanggil kod berikut untuk mengira penunjuk Brin.
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
Methods dimuat semula
Kaedah yang ditakrifkan pengguna boleh mengalip dan memuat naik kaedah terbina dalam yang sedia ada dan kaedah yang ditakrifkan pengguna yang mempunyai pengenal yang sama. Fungsi ini membolehkan pengguna menentukan beberapa prosedur yang berkaitan dengan tandatangan parameter yang berbeza di bawah nama kaedah yang sama. Sebagai contoh mudah, anggaplah kita ingin menentukan kaedah untuk mengenal pasti jenis pembolehubah. Oleh kerana kita harus secara eksplisit menentukan jenis objek yang berkaitan dengan kaedah yang ditakrifkan pengguna, kita perlu menentukan pembolehubah untuk setiap jenis yang kita ingin mengenal pasti.
//@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")
Tentukan jenis asas bagi setiap pembolehubahgetType()
Apa jenis muat naik yang akan digunakan. Di platform FMZ, kerana skrip PINE diimplementasikan sebagai bahasa Javascript, jenis nilai akan dinilai sebagai data jenis titik terapung.
Apabila fungsi dipanggil, parameter dihantar, nama parameter boleh ditetapkan, pemboleh ubah boleh dihantar secara langsung ke lokasi parameter yang sesuai, dan juga menyokong penggunaan campuran. Sebagai contoh:
plot(close, title="test plot") // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"
Selepas menamakan parameter, anda tidak boleh terus menghantar pembolehubah sebagai parameter, dan parameter seterusnya mesti ditulis dalam bentuk penempatan nama parameter.
// plot(close, title="test", color.red) // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red) // 正确写法
Ia akan dihantar kepadatimeframe
Tempoh masa parameter ditukar kepada detik.
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 yang dikembalikan
timeframe
Bilangan saat dalam satu baris K dalam bentuk int menyatakan ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠
parameter
timeframe
(simple string) Tempoh tempoh。 boleh dipilih。 default adalah timeframe.period。Nota
Bagitimeframe
>= Fungsi ‘1M’ berdasarkan 30.4167 (365⁄12) hari dalam satu bulan.
Lihat juga
input.timeframe
timeframe.period
Mencipta kod pengenal permintaan rata-rata K linear yang halus.
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 yang dikembalikan Nombor senar untuk kod saham boleh diberikan kepada fungsi request.security。
parameter
symbol
(simple string) pengenal kod barangan。Lihat juga
syminfo.tickerid
syminfo.ticker
request.security
Meminta 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 yang dikembalikan
parameterattribute
Kumpulan data yang ditetapkan.
parameter
url
(simple string) Url sumber data yang diminta, format data yang dijawab oleh sumber data perlu memenuhi keperluan ((sekurang-kurangnya termasuk sifat time, data):{"data": [], "schema": ["time", "data"]}
◦ Format data boleh dirujuk 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 dan mengembalikan data yang dikehendaki. Contohnya:"$.spot_close_price"
, gunakan$.
Sebagai awalan, nama sifat dan sifat dalam medan data dalam data yang dijawab semasa permintaan sumber dataJika salah, anda perlu menyemakrequest.data
Julat masa yang diminta adalah sama dengan julat masa yang ditetapkan untuk pengesanan, dan data yang tidak dapat dikesan pada urutan masa pengesanan akan dikesan.
Data-data data query SQL dalam contoh ini:
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;
Ia boleh didapati di FMZ.Penerokaan DataPermintaan halaman, mencipta pautan data, yang digunakan dalam contohhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data
。
Minta varieti/resolusi lain.
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 yang dikembalikan Siri permintaan
parameter
symbol
(simple string) Kod barangan.timeframe
(simple string) Tempoh tempoh ≠ senar kosong akan ditafsirkan sebagai tempoh masa semasa grafik ≠expression
(series int/float/bool/color) boleh dikira dan dikembalikan sebagai ungkapan dari permintaan.security. Ia boleh menjadi satu siri atau satu subset yang mengandungi elemen yang boleh ditukar kepada siri.gaps
(barmerge_gaps) memberi strategi penggabungan data yang diminta (yang memerlukan data untuk digabungkan secara automatik dengan siri utama data OHLC). Nilai yang mungkin: barmerge.gaps_on, barmerge.gaps_off. barmerge.gaps_on - data yang diminta digabungkan dengan kemungkinan jurang (na nilai) barmerge.gaps_off - data yang diminta digabungkan secara berterusan, semua jurang dipenuhi dengan nilai yang ada sebelum ini.lookahead
(barmerge_lookahead) memberi strategi penggabungan data yang diminta. Nilai yang mungkin: barmerge.lookahead_on, barmerge.lookahead_off. Bermula dari versi 3, nilai lalai adalah barmerge.lookahead_off. Perhatikan bahawa tingkah laku adalah sama dengan masa nyata, hanya berbeza dalam sejarah.ignore_invalid_symbol
(const bool) Satu parameter pilihan. Jika barang yang ditentukan tidak dijumpai, tindakan fungsi ditentukan: jika false, skrip akan berhenti dan kembali error semasa dijalankan; jika true, fungsi akan kembali na dan terus dijalankan.currency
(simple string) menukarkan nilai berkaitan mata wang komoditi (seperti OHLC) ke dalam mata wang. Kemudian, nilai selepas penukaran dikira berdasarkan expression . Kadar penukaran digunakan berdasarkan kadar pertukaran harian FX_IDC pada hari sebelumnya. berbanding dengan garis K yang dikira.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 barangan yang diminta, seperti tempoh dagangan atau jenis penyesuaian, anda boleh menggunakan ticker.new() fungsi.
Tidak boleh menggunakan pembolehubah ‘ticker’ untuk memindahkan perbezaan titik ke fungsi ini. Anda boleh menggunakan pembolehubah ‘ticker.new’ atau kod saham dalam bentuk ungkapan senar, seperti AAPL+MSFT*TSLA”。
Pada masa ini, satu skrip boleh mempunyai sehingga 40 panggilan request.security.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.
Resolusi parameter yang dibenarkan adalah:
1S, 5S, 15S, 30S - selang detik ((jadual mestilah kurang daripada atau sama dengan tempoh yang diminta)
Dari 1 hingga 1440 minit
Dari 1D hingga 365D
Dari 1W hingga 52W dalam beberapa minggu
Dari 1M kepada 12M beberapa bulan
Lihat juga
syminfo.ticker
syminfo.tickerid
timeframe.period
ta.correlation
barmerge.lookahead_off
barmerge.lookahead_on
Jikasource
Senar mengandungistr
Substring, akan mengembalikan true, jika tidak akan mengembalikan false.
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 yang dikembalikan
Jika dalamsource
Mencari dalam senarstr
Jika tidak, maka ia adalah palsu.
parameter
source
(series string) Senar sumberstr
(series string) Rangkai kata yang ingin dicari.Lihat juga
str.pos
str.match
Jikasource
Senar denganstr
Jika anda menetapkan substring pada akhir, anda akan mengembalikan true, jika tidak, anda akan mengembalikan false.
str.endswith(source, str)
Nilai yang dikembalikan
Jikasource
Senar denganstr
Substring yang ditentukan di dalam berakhir dengan true, jika tidak false.
parameter
source
(series string) Senar sumberstr
(series string) Rangkai kata yang ingin dicari.Lihat juga
str.startswith
Jikasource
Senar denganstr
Jika substring yang ditentukan bermula, ia akan mengembalikan true, jika tidak, ia akan mengembalikan false.
str.startswith(source, str)
Nilai yang dikembalikan
Jikasource
Senar denganstr
Substring yang ditentukan di dalam bermula dengan true, jika tidak false.
parameter
source
(series string) Senar sumberstr
(series string) Rangkai kata yang ingin dicari.Lihat juga
str.endswith
Kembali string baru, ia adalahsource
Substring string. Substring ialahbegin_pos
Karakter yang bermula pada indeks yang ditetapkan dan berkembang kesource
‘end_pos - 1’ daripada rentetan senar.
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 yang dikembalikan String anak yang diambil daripada string sumber.
parameter
source
(series string) String sumber yang diekstrak dari anak-anaknya.begin_pos
(series int) kedudukan permulaan substring yang diambil. Ia adalah eksklusif ((substring yang diambil termasuk watak di tempat itu)end_pos
(series int) Kedudukan pengakhiran。 ia adalah eksklusif ((string yang diambil tidak termasuk watak dalam kedudukan tersebut)。 boleh dipilih。 default ialahsource
Panjang senar.Nota
Indeks senar bermula dengan 0. Jikabegin_pos
sama rataend_pos
, fungsi mengembalikan sebuah string kosong.
Lihat juga
str.contains
str.pos
str.match
str.tonumber(string)
Nilai yang dikembalikan Jika ia mengandungi nombor sah, maka ia adalah floating-point string, jika tidak, maka ia adalah na。
parameter
string
(series string) bentuk ungkapan string int atau float.Menukarkan senar format dan nilai kepada senar format. Senar format boleh mengandungi teks teks dan satu tanda tempat dalam kurung besar {} untuk setiap nilai yang ingin diformat. Setiap tanda tempat termasuk indeks yang akan menggantikan parameter yang diperlukan untuknya (bermula dari 0), dan satu tanda format yang boleh dipilih. Indeks menunjukkan kedudukan 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 yang dikembalikan Senar diformat.
parameter
formatString
(series string) Format senar senar。arg0, arg1, ...
(series int/float/bool/string/na/int[]/float[]/bool[]/string[Nilai yang perlu diformat.Nota Semua tanda kurung dalam gaya yang tidak dikutip mestilah seimbang. Sebagai contoh, “ab {0} de” dan “ab ‘}’ de ” adalah gaya yang sah, tetapi “ab {0’} ‘de”, “ab } de” dan “’{”” bukan gaya yang sah.
Mengembalikan bilangan bulat yang sepadan dengan bilangan aksara dalam senar tersebut.
str.length(string)
Nilai yang dikembalikan Bilangan aksara dalam senar sumber.
parameter
string
(series string) Senar sumberMengembalikan senar baru di mana semua huruf ditukar menjadi huruf kecil.
str.lower(source)
Nilai yang dikembalikan Semua huruf ditukar menjadi senar baru huruf kecil.
parameter
source
(series string) Senar yang akan ditukar.Lihat juga
str.upper
Mengembalikan senar baru di mana semua huruf telah ditukar menjadi huruf besar.
str.upper(source)
Nilai yang dikembalikan Semua huruf telah ditukar menjadi siri baru huruf besar.
parameter
source
(series string) Senar yang akan ditukar.Lihat juga
str.lower
Jika ia sepadanregex
Ekspresi biasa, kembalisource
String anak baru string, atau kembali ‘na’。
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 yang dikembalikan
source
String anak baru string, jika ia sepadan denganregex
Ekspresi biasa, jika tidak ‘na’。
parameter
source
(series string) Senar sumberregex
(series string) Ekspresi biasa yang sepadan dengan senar ini。Nota
Pengembalian Fungsisource
Ungkapan biasa yang muncul pertama kali dalam senar tersebut ialah:
regex
Simbol backslash dalam string memerlukan pengalihan menggunakan backslash tambahan, seperti\d mewakili ungkapan ralat \d。
Lihat juga
str.contains
str.substring
Kembalisource
Pertama kali muncul dalam senarstr
Jika tidak, ia akan mengembalikan ‘na’
str.pos(source, str)
Nilai yang dikembalikan
str
String dalamsource
Kedudukan dalam senar.
parameter
source
(series string) Senar sumberstr
(series string) Rangkai kata yang ingin dicari.Nota Indeks senar bermula dari 0.
Lihat juga
str.contains
str.match
str.substring
Mengembalikan senar baru dengan N+1 kali pertamatarget
Senar dan yang sebelum initarget
String diganti denganreplacement
String, di mana N dalamoccurrence
Tentukan ≠ N sebagai indeks sepadan yang muncul dalam senar sumber sebagai senar sasaran yang akan diganti.
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 yang dikembalikan String yang telah diuruskan
parameter
source
(series string) Senar sumbertarget
(series string) digantikan dengan stringreplacement
(series string) String yang akan disisipkan dan bukannya string sasaran.occurrence
(series int) Senarai sasaran yang akan digantikan adalah indeks yang sepadan yang muncul dalam senar sumber. Indeks yang sepadan pertama bermula dengan 0.Lihat juga
str.replace_all
str.match
Dengan menggantikan senar, menggantikan senar sasaran yang muncul setiap kali dalam senar sumber.
str.replace_all(source, target, replacement)
Nilai yang dikembalikan String yang telah diuruskan
parameter
source
(series string) Senar sumbertarget
(series string) digantikan dengan stringreplacement
(series string) String yang akan digantikan setiap kali ia munculBahagikan string ke dalam sub-array string dan kembalikan ID array mereka.
str.split(string, separator)
Nilai yang dikembalikan ID senar senar
parameter
string
(series string) Senar sumberseparator
(series string) String yang memisahkan setiap substring.str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)
Nilai yang dikembalikan
value
Senarai senar parameter menunjukkan bentuk。
Jikavalue
Parameter adalah string, dan ia akan dikembalikan seperti semula.
Apabilavalue
Apabila na, fungsi mengembalikan string NaN.
parameter
value
(series int/float/bool/string/int[]/float[]/bool[]/string[]) Elemen yang ditukarkan kepada nilai atau ID array senar.format
(series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is ‘#.##########’.Nota Format dengan nilai floating point juga akan mengelilingi nilai-nilai ini jika perlu, contohnya str.tostring ((3.99, ‘#’) akan mengembalikan 4。 Untuk menunjukkan sifar yang diikuti, gunakan ‘0’ dan bukannya ‘#’. Sebagai contoh, ‘#.000’. Apabila menggunakan format.mintick, nilai itu akan diselingi dengan nombor yang paling dekat yang tidak boleh dibahagi dengan siminfo.mintick tanpa tambahan. ❚ String yang dikembalikan diikuti dengan sifar. Jika argumen x adalah senar, ia akan mengembalikan nilai senar yang sama. Bool jenis argumen kembali true atau false. Apabila x adalah na, fungsi kembali NaN.
Warna fungsi akan menetapkan ketelusan untuk warna yang diberikan.
color.new(color, transp)
Contoh
plot(close, color=color.new(color.red, 50))
Nilai yang dikembalikan Warna dengan ketelusan tertentu.
parameter
color
(series color)transp
(series int/float) Nilai yang boleh digunakan adalah dari 0 (tidak telus) hingga 100 (tidak kelihatan)Nota Menggunakan parameter yang sangat banyak (contohnya, simple, input atau series) akan memberi kesan kepada warna yang ditunjukkan dalam tetapan tetingkap skrip / halaman label tetingkap gaya. Sila rujuk 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 yang dikembalikan Warna dengan ketelusan tertentu.
parameter
red
(series int/float) Warna merah. Nilai yang mungkin ialah dari 0 hingga 255green
(series int/float) warna hijau. Nilai yang mungkin adalah dari 0 hingga 255blue
(series int/float) warna biru. Nilai yang mungkin ialah dari 0 hingga 255transp
(series int/float) boleh dipilih. Warna telus. Nilai yang mungkin dari 0 (tidak telus) hingga 100 (telus). Nilai lalai adalah 0 (telus).Nota Menggunakan parameter yang sangat banyak (contohnya, simple, input atau series) akan memberi kesan kepada warna yang ditunjukkan dalam tetapan tetingkap skrip / halaman label tetingkap gaya. Sila rujuk manual pengguna untuk maklumat lanjut.
Mencetak maklumat pembolehubah di papan kawalan.
FMZ PINE mempunyai fungsi khusus untuk bahasa ini.runtime.debug(value)
, hanya satu parameter.
Output di dalam jurnal.
FMZ PINE mempunyai fungsi khusus untuk bahasa ini.runtime.log(1, 2, 3, close, high, ...)
, boleh menghantar beberapa parameter.
Apabila dipanggil, ia akan menyebabkan ralat semasa operasi dan membawamessage
Mesej ralat yang dinyatakan dalam parameter.
runtime.error(message)
parameter message (series string) mesej ralat
Input ditambahkan ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini secara automatik mengesan jenis parameter yang digunakan pada tetapan defval dan menggunakan plugin 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 yang dikembalikan Masukkan nilai
parameter
defval
(const int/float/bool/string/color or source-type built-ins) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap skrip / halaman label tetingkap input, yang boleh diubah oleh pengguna skrip. Fungsi terbina dalam jenis sumber adalah siri terbina dalam yang menentukan sumber pengiraan:close
、hlc3
Dan sebagainya.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.Nota Nilai yang dikembalikan oleh fungsi input harus sentiasa diberikan kepada pembolehubah. Lihat contoh di atas
Lihat juga
input.bool
input.color
input.int
input.float
input.string
input.timeframe
input.source
Menambah input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah menu turun ke bawah yang membolehkan pengguna memilih sumber pengiraan, seperti close, hl2, dan lain-lain. Jika skrip hanya mengandungi satu panggilan input.source (), pengguna juga boleh memilih sumber output lain dari indikator lain pada carta.
input.source(defval, title, tooltip, inline, group)
Contoh
i_src = input.source(close, "Source")
plot(i_src)
Nilai yang dikembalikan Masukkan nilai
parameter
defval
(series int/float) Menentukan nilai lalai bagi input yang disyorkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.Nota Hasil fungsi input.source harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.bool
input.int
input.float
input.string
input.timeframe
input.color
input
Menambahkan input ke papan pilihan input skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input senar ke input skrip.
input.string(defval, title, options, tooltip, inline, group, confirm)
Contoh
i_text = input.string("Hello!", "Message")
runtime.log(i_text)
Nilai yang dikembalikan Masukkan nilai
parameter
defval
(const string) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna. Apabila senarai nilai denganoptions
Apabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.options
(List of constants: [<type>…]) senarai pilihan yang boleh dipilih.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.Nota Hasil fungsi input.string harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.bool
input.int
input.float
input.timeframe
input.source
input.color
input
Menambahkan input ke halaman label input skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah penanda pilih ke input skrip.
input.bool(defval, title, tooltip, inline, group, confirm)
Contoh
i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)
Nilai yang dikembalikan Masukkan nilai
parameter
defval
(const bool) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.Nota Hasil fungsi input.bool harus sentiasa diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.int
input.float
input.string
input.timeframe
input.source
input.color
input
Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input nombor bulat ke 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 yang dikembalikan Masukkan nilai
parameter
defval
(const int) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna skrip. Apabila senarai nilai denganoptions
Apabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.minval
(const int) Minimum mungkin nilai input yang berubah-ubah.maxval
(const int) Nilai maksimum yang mungkin untuk input.step
(const int) untuk menambah/mengurangkan input.options
(tuple of const int values: [val1, val2, …]) Senarai pilihan yang dipilih dari menu turun ke bawah, dipisahkan dengan tanda koma dan dibungkus dengan tanda kurung:[Val1, val2, …] ≠ tidak boleh digunakan apabila menggunakan parameter iniminval
、maxval
danstep
Parametertooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.Nota Hasil fungsi input.int harus sentiasa diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.bool
input.float
input.string
input.timeframe
input.source
input.color
input
Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input titik terapung ke 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 yang dikembalikan Masukkan nilai
parameter
defval
(const int/float) Menentukan nilai lalai bagi input yang disyorkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna skrip. Apabila senarai nilai denganoptions
Apabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.minval
(const int/float) Nilai minimum yang mungkin bagi input variabel。 boleh dipilih。maxval
(const int/float) Nilai maksimum yang mungkin bagi input variabel。 boleh dipilih。step
(const int/float) digunakan untuk menambah/mengurangkan input.options
(tuple of const int/float values: [val1, val2, …]) Senarai pilihan yang dipilih dari menu turun ke bawah, dipisahkan dengan tanda koma dan dibungkus dengan tanda kurung:[Val1, val2, …] ≠ tidak boleh digunakan apabila menggunakan parameter iniminval
、maxval
danstep
Parametertooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.Nota Hasil fungsi input.float harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.bool
input.int
input.string
input.timeframe
input.source
input.color
input
Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah penentu warna yang membolehkan pengguna memilih warna dan ketelusan dari panel warna atau enam belas digit.
input.color(defval, title, tooltip, inline, group, confirm)
Contoh
i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)
Nilai yang dikembalikan Masukkan nilai
parameter
defval
(const color) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetapan / halaman label tetapan input skrip, yang boleh diubah oleh pengguna.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.Nota Hasil fungsi input.color harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.bool
input.int
input.float
input.string
input.timeframe
input.source
input
Tambah input harga ke tetapan tetingkap / tetingkap tetingkap tetingkap skrip.confirm = true
Aktifkan mod input interaktif dan pilih harga dengan mengklik pada 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 yang dikembalikan Masukkan nilai
parameter
defval
(const int/float) Menentukan nilai lalai bagi input yang disyorkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, maka diaktifkan mod input interaktif, dan selesai dengan mengklik grafik apabila penunjuk ditambah ke carta, atau selesai dengan memilih penunjuk dan kemudian bergerak pilihan.Nota
Apabila menggunakan mod interaksi, jika dua fungsi dipanggil keinline
Parameter menggunakan parameter yang sama, anda boleh menggunakan input masa dengan input harga.
Lihat juga
input.bool
input.int
input.float
input.string
input.resolution
input.source
input.color
input
Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah senarai dropdown yang membolehkan pengguna memilih tempoh masa tertentu melalui pemilih tempoh masa dan mengembalikannya sebagai rentetan. Pemilih termasuk tempoh masa yang mungkin digunakan oleh pengguna untuk grafik dan tempoh masa yang disertakan oleh menu dropdown.
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 yang dikembalikan Masukkan nilai
parameter
defval
(const string) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna. Apabila senarai nilai denganoptions
Apabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.title
(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.options
(tuple of const string values: [val1, val2, …]) Senarai pilihan yang boleh dipilih.tooltip
(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.inline
(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.group
(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.confirm
(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.Nota Hasil fungsi input.timeframe harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.
Lihat juga
input.bool
input.int
input.float
input.string
input.source
input.color
input
Tiada
Tiada
Arnaud Legoux Moving Average. Ia menggunakan pengedaran Gaussian sebagai berat purata bergerak.