Sumber daya yang dimuat... Pemuatan...

FMZ PINE Script dokumentasi

Penulis:Penemu Kuantitas - Mimpi Kecil, Dibuat: 2022-05-06 14:27:06, Diperbarui: 2024-10-12 15:27:04

CeArray =array.new(samplesInput) metode maintainQueue(array srcArray, nilai float, bool takeSample = true) => Jika mengambilSampel srcArray.push (nilai) srcArray.shift() srcArray

metode calcBB(array srcArray, float mult, bool calculate = true) => rata-rata rata-rata = na var float dev = na jika menghitung mean:= srcArray.avg() dev:= srcArray.stdev() * mult [berarti, berarti + dev, berarti - dev]

bool newSample = bar_index % n == 0

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

plot ((sampleMean, Base, color.orange) plot ((highBand, Upper, color.lime) plot ((lowBand, Lower,color.red)


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

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

Methods diunduh kembali

Metode yang didefinisikan pengguna dapat overlay dan overload metode terdefinisi pengguna dan metode terdefinisi pengguna yang sudah ada yang memiliki identifikasi yang sama. Fungsi ini memungkinkan pengguna untuk mendefinisikan beberapa contoh yang terkait dengan tanda tangan parameter yang berbeda di bawah nama metode yang sama. Sebagai contoh sederhana, asumsikan bahwa kita ingin mendefinisikan metode untuk mengidentifikasi tipe variabel. Karena kita harus secara eksplisit menentukan jenis objek yang terkait dengan metode yang didefinisikan pengguna, maka kita perlu mendefinisikan overload untuk setiap jenis yang kita ingin mengidentifikasi. Di bawah ini, kita mendefinisikan metode getType (((), yang mengembalikan bentuk ekspresi karakter dari tipe variabel dan memiliki lima tipe overload dasar:

//@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 tipe dasar dari setiap variabelgetType()Jenis overload yang akan digunakan. Pada platform FMZ, semua jenis nilai akan dianggap sebagai float data karena lapisan bawah skrip PINE diimplementasikan sebagai bahasa Javascript.

Fungsi internal

Mengirim parameter saat memanggil fungsi, Anda dapat menentukan penunjukan nama parameter, Anda dapat mengirim variabel langsung di lokasi parameter yang sesuai, dan juga mendukung penggunaan campuran. Misalnya:

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

Setelah parameter diberi nama, tidak dapat lagi ditransfer secara langsung sebagai parameter. Semua parameter yang ditransfer harus ditulis dalam bentuk parameter diberi nama.

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

jangka waktu

waktu.dalam_detik

akan dikirimkan ketimeframePeriode waktu parameter dikonversi menjadi 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)

Kembali nilai timeframeInt adalah jumlah detik dalam satu baris K.

Parameter

  • timeframe(simple string) Periode waktu↑ opsional↑ default adalah timeframe.period↑

PenjelasanUntuktimeframe>= 1 M Fungsi menghitung detik berdasarkan 30.4167 (365/12) hari dalam sebulan.

Sampai jumpa lagi input.timeframe timeframe.period

Tick

ticker.heikinashi

Membuat kode pengidentifikasi meminta rata-rata nilai baris K 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)

Kembali nilai 股票代码的字符串值,可以提供给request.security函数。

Parameter

  • symbol(simple string) Pengidentifikasi kode barang.

Sampai jumpa lagi syminfo.tickerid syminfo.ticker request.security

permintaan

request.data

Permintaan data eksternal.

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)

Kembali nilaiParameterattributeSerial data yang ditentukan.

Parameter

  • url(simple string) Url sumber data yang diminta, format data sumber data yang dijawab harus memenuhi persyaratan (minimal termasuk atribut time、data):{"data": [], "schema": ["time", "data"]}◦ Contoh format data yang dapat digunakan:

    {
        "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 atribut yang akan mengembalikan data yang dibutuhkan; misalnya:"$.spot_close_price"Menggunakan$.Sebagai kata pengantar, nama atribut konsisten dengan atribut dalam data field dalam data yang dijawab pada sumber data yang diminta

Jika ada kesalahan, periksarequest.dataApakah rentang waktu yang diminta sesuai dengan rentang waktu pengaturan retest, jika data tidak dapat ditanyakan pada urutan waktu retest akan memberikan kesalahan.

Data-data data query SQL statement 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;

Anda dapat mengaksesnya di platform FMZ.Penjelajahan dataPermintaan halaman, membuat tautan data, contohnyahttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

Anda bisa memilih jenis atau resolusi yang berbeda.

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)

Kembali nilaiPermintaan seri

Parameter

  • symbol(simple string) Kode barang.
  • timeframe(simple string) Periode waktu. String kosong akan diinterpretasikan sebagai periode waktu saat ini dari grafik.
  • expression(series int/float/bool/color) dapat dihubungi dari request.security untuk menghitung dan mengembalikan suatu ekspresi.
  • gaps(barmerge_gaps) Kebijakan penggabungan data yang diminta ((memerlukan data untuk digabungkan secara otomatis dengan data seri utama OHLC)). Nilai yang mungkin: barmerge.gaps_on, barmerge.gaps_off。 barmerge.gaps_on - data yang diminta digabungkan dengan kemungkinan kesenjangan ((na nilai) ). barmerge.gaps_off - data yang diminta digabungkan secara berturut-turut tanpa gangguan, dengan semua kesenjangan diisi dengan nilai yang paling baru sebelumnya. Default adalah barmerge.gaps_off。
  • lookahead(barmerge_lookahead) memberikan kebijakan penggabungan data yang diminta; kemungkinan nilai: barmerge.lookahead_on, barmerge.lookahead_off. Mulai dari versi 3, default adalah barmerge.lookahead_off. Perhatikan bahwa perilaku ini sama dengan real-time, hanya berbeda dalam sejarah.
  • ignore_invalid_symbol(const bool) Sebuah parameter opsional. Jika barang yang ditentukan tidak ditemukan, tindakan fungsi ditentukan: jika false, skrip akan berhenti dan kembali ke kesalahan saat dijalankan; jika true, fungsi akan kembali ke na dan melanjutkan eksekusi.
  • currency(simple string) Mengkonversi nilai mata uang yang terkait dengan komoditas (misalnya OHLC) ke mata uang yang dikonversi. Kemudian berdasarkan nilai yang dikonversi, dihitung dengan menggunakan ekspresi . Tingkat konversi yang digunakan didasarkan pada nilai tukar harian hari sebelumnya dari pasangan FX_IDC (relatif dengan K-line yang dihitung). Opsional. Nilai default adalah syminfo.currency.

PenjelasanKode PineScript yang menggunakan fitur ini dapat melakukan perhitungan yang berbeda pada catatan sejarah dan data real-time.Jika Anda ingin menentukan parameter tambahan untuk barang yang diminta, seperti periode transaksi atau jenis penyesuaian, Anda dapat mengklik tombol "Transfer".您可以使用ticker.newFungsi ini adalah Tidak dapat menggunakan variabel ticker tick untuk menyampaikan perbedaan titik ke fungsi ini. Anda dapat menggunakan tickticker.newBentuk penunjukan string dari variabel atau kode saham, misalnya AAPL+MSFT*TSLA.Saat ini, satu skrip dapat memiliki hingga 40 panggilan request.security. Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan indikator ditarik kembali. Parameter resolusi memungkinkan nilai: 1S, 5S, 15S, 30S - interval detik (siklus grafik harus kurang dari atau sama dengan periode yang diminta) Dari 1 sampai 1440 menit Dari 1D ke 365D hari. Dari 1W menjadi 52W dalam beberapa minggu. Dari 1M menjadi 12M dalam beberapa bulan.

Sampai jumpa lagi syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

JikasourceString berisistrString anak 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)

Kembali nilaiJika disourceDapat ditemukan dalam string.str, berarti true, jika tidak berarti false.

Parameter

  • source(series string) String sumber
  • str(series string) Substring yang akan dicari.

Sampai jumpa lagi str.pos str.match

str.endswith

JikasourceString denganstrAkhir dari substring yang ditunjuk di dalam akan mengembalikan true, jika tidak akan mengembalikan false.

str.endswith(source, str)

Kembali nilaiJikasourceString denganstrAkhir dari substring yang ditunjuk adalah true, jika tidak, false.

Parameter

  • source(series string) String sumber
  • str(series string) Substring yang akan dicari.

Sampai jumpa lagi str.startswith

str.startswith

JikasourceString denganstrPada awal string yang ditunjuk, kembali ke true, jika tidak kembali ke false.

str.startswith(source, str)

Kembali nilaiJikasourceString denganstrPada awalnya, string kecil yang ditunjuk adalah true, jika tidak, false.

Parameter

  • source(series string) String sumber
  • str(series string) Substring yang akan dicari.

Sampai jumpa lagi str.endswith

str.substring

Jadi jika kita kembali ke string baru, itu adalahsourceString memiliki substring.begin_posTanda-tanda di indeks yang ditentukan dimulai dan diperluas kesourceend_pos dari string - 1.

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)

Kembali nilaiSebuah substring yang diambil dari string sumber.

Parameter

  • source(series string) Ekstrak string sumber dari substringnya.
  • begin_pos(series int) adalah posisi awal dari substring yang diekstrak.
  • end_pos(series int) posisi akhir. Ini eksklusif. (String yang diekstraksi tidak termasuk karakter dari posisi tersebut.) Opsional.sourcePanjang string.

PenjelasanIndeks string dimulai dari 0; jikabegin_possama denganend_posFungsi ini mengembalikan string kosong.

Sampai jumpa lagi str.contains str.pos str.match

str.tonumber

str.tonumber(string)

Kembali nilaiJika berisi angka yang valid, itu adalah tipe titik lebur dari string, jika tidak, itu adalah na.

Parameter

  • string(series string) bentuk ekspresi string int atau float.

str.format

Mengkonversi string dan nilai format menjadi string format. String format dapat berisi satu penggambaran dalam kurung besar {} dari teks teks dan setiap nilai yang akan diformat. Setiap penggambaran berisi indeks yang akan mengganti parameter yang dibutuhkannya (bermula dari 0), dan sebuah indikator format opsional. Indeks menunjukkan posisi parameter dalam daftar 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)

Kembali nilaiString yang diformat.

Parameter

  • formatString(series string) String berformat.
  • arg0, arg1, ...(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) adalah nilai yang akan diformat.

PenjelasanSemua tanda kurung dalam gaya yang tidak dikutip harus seimbang. Misalnya, ab {0} de" dan "ab } de" adalah gaya yang valid, tetapi "ab {0} de, ab } de" dan {" bukanlah gaya yang valid.

str.length

Mengembalikan bilangan bulat yang sesuai dengan jumlah karakter dalam string tersebut.

str.length(string)

Kembali nilaiJumlah karakter dalam string sumber.

Parameter

  • string(series string) String sumber

str.lower

Kembali ke string baru yang mengubah semua huruf menjadi huruf kecil.

str.lower(source)

Kembali nilaiSemua huruf telah dikonversi menjadi string baru yang ditulis dengan huruf kecil.

Parameter

  • source(series string) String yang ingin dikonversi.

Sampai jumpa lagi str.upper

str.upper

Kembali ke string baru yang mengubah semua huruf menjadi huruf besar.

str.upper(source)

Kembali nilaiSemua huruf telah dikonversi menjadi string baru yang dituliskan dengan huruf besar.

Parameter

  • source(series string) String yang ingin dikonversi.

Sampai jumpa lagi str.lower

str.match

Jika cocokregexJika kita menggunakan rumus normal, maka kita akan mendapatkansourceString yang baru adalah substring dari string, jika tidak akan dikembalikan 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"

Kembali nilai sourceJadi kita bisa melihat apakah kita memiliki string yang sama dengan string yang lain.regexJika tidak, maka ini adalah kata yang biasa, yang berarti na.

Parameter

  • source(series string) String sumber
  • regex(series string) ekspresi reguler yang cocok dengan string ini.

PenjelasanFungsi kembalisourceEkspresi reguler yang pertama kali muncul dalam string.regexSimbol counter-slash \\ dalam string membutuhkan pengalihan dengan menggunakan counter-slash tambahan, seperti \\d\\ untuk ekspresi reguler \\d\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Sampai jumpa lagi str.contains str.substring

str.pos

KembalisourcePertama kali muncul dalam string.strJika tidak, kembali ke posisi string.

str.pos(source, str)

Kembali nilai strString disourcePosisi dalam string.

Parameter

  • source(series string) String sumber
  • str(series string) Substring yang akan dicari.

PenjelasanIndeks string dimulai dari 0.

Sampai jumpa lagi str.contains str.match str.substring

str.replace

Kembali ke string baru yang muncul N + 1 kalitargetString dan sebelumnya muncultargetTuliskan di bawah ini.replacementString di mana N berada dioccurrenceN adalah indeks pencocokan dari string target yang akan diganti pada string sumber. N adalah indeks pencocokan dari string sumber.

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)

Kembali nilaiString yang sudah diproses

Parameter

  • source(series string) String sumber
  • target(series string) string yang diganti
  • replacement(series string) string yang akan dimasukkan bukan string target.
  • occurrence(series int) string target yang ingin diganti adalah indeks yang cocok dengan string sumber. Indeks yang cocok pertama dimulai dari 0. Opsional.

Sampai jumpa lagi str.replace_all str.match

str.replace_all

Dengan mengganti string, Anda mengganti target string yang muncul di setiap string sumber.

str.replace_all(source, target, replacement)

Kembali nilaiString yang sudah diproses

Parameter

  • source(series string) String sumber
  • target(series string) string yang diganti
  • replacement(series string) Setiap kali string target muncul, string yang diganti akan muncul

str.split

Memisahkan string menjadi array dari sub-string dan mengembalikan ID arraynya.

str.split(string, separator)

Kembali nilaiID dari array string.

Parameter

  • string(series string) String sumber
  • separator(series string) String yang memisahkan setiap substring.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

Kembali nilai valueString parameter menunjukkan bentuknya. JikavalueJika parameter adalah string, maka akan dikembalikan seperti aslinya. KetikavalueUntuk na, fungsi ini mengembalikan string NaN.

Parameter

  • value(series int/float/bool/string/int[]/float[]/bool[]/string[]) yang elemen-elemennya dikonversi menjadi nilai string atau ID array.
  • format(seri string) Format string. Menerima format ini.* konstanta: format.mintick, format.persen, format.volume. Opsional. Nilai default adalah #.##########

PenjelasanFormat nilai floating point juga akan menempatkan nilai-nilai tersebut di dalam kotak-kotak jika diperlukan, misalnya str.tostring ((3.99, #) akan mengembalikan 4. Untuk menampilkan angka 0 setelah angka tersebut, gunakan angka 0 daripada angka #. Misalnya, angka #.000. Ketika menggunakan format.mintick, nilai ini menempatkan lima hingga angka terdekat yang dapat dibagi dengan syminfo.mintick tanpa bilangan akhir. String yang dikembalikan memiliki nol di belakangnya. Jika x adalah string, maka akan dikembalikan nilai string yang sama. Parameter tipe Bool mengembalikan variabel true atau variabel false. Ketika x adalah na, fungsi ini mengembalikan NaN.

warna

color.new

Fungsi warna akan menentukan transparansi yang akan diterapkan pada warna yang diberikan.

color.new(color, transp)

Contoh

plot(close, color=color.new(color.red, 50))

Kembali nilaiWarna-warna yang memiliki transparansi tertentu.

Parameter

  • color(warna seri)
  • transp(series int/float) Nilai yang tersedia berkisar dari 0 (tidak jelas) hingga 100 (tidak jelas)

PenjelasanMenggunakan sejumlah besar parameter (misalnya, parameter sederhana, input, atau seri) akan mempengaruhi warna yang ditampilkan pada halaman label template / gaya. Lihat panduan pengguna untuk informasi lebih lanjut.

color.rgb

Menggunakan model warna RGB untuk menciptakan warna baru dengan transparansi.

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

Contoh

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

Kembali nilaiWarna-warna yang memiliki transparansi tertentu.

Parameter

  • red(series int/float) warna merah.
  • green(series int/float) berwarna hijau.
  • blue(series int/float) warna biru.
  • transp(series int/float) Opsional. Warna transparan. Kemungkinan nilai dari 0 (tidak transparan) hingga 100 (transparan).

PenjelasanMenggunakan sejumlah besar parameter (misalnya, parameter sederhana, input, atau seri) akan mempengaruhi warna yang ditampilkan pada halaman label template / gaya. Lihat panduan pengguna untuk informasi lebih lanjut.

waktu berjalan

runtime.debug

Mencetak informasi variabel di console.

Bahasa FMZ PINE memiliki fungsi khusus, yaitu:runtime.debug(value), hanya ada satu parameter.

runtime.log

Mengekspor konten di log.

Bahasa FMZ PINE memiliki fungsi khusus, yaitu:runtime.log(1, 2, 3, close, high, ...), Anda dapat mengirim beberapa parameter.

runtime.error

Ini bisa menyebabkan kesalahan pada saat menjalankan, dan membawa masalah padamessagePesan kesalahan yang ditentukan dalam parameter.

runtime.error(message)

Parametermessage (series string) pesan kesalahan.

input

input

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini secara otomatis mendeteksi jenis parameter yang digunakan untuk penargetan 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)

Kembali nilaiNilai variabel input

Parameter

  • defval(const int/float/bool/string/color or source-type built-ins) Menentukan nilai default dari variabel input yang disarankan pada halaman label setelan/input float script, yang dapat diubah oleh pengguna skrip.closehlc3Dan seterusnya.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.

PenjelasanNilai balik dari fungsi input harus selalu diberikan kepada variabel; lihat contoh di atas.

Sampai jumpa lagi input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan menu drop-down yang memungkinkan pengguna untuk memilih sumber perhitungan, seperti close, hl2, dll. Jika skrip hanya berisi satu panggilan input.source (), pengguna juga dapat memilih output dari indikator lain pada grafik sebagai sumber.

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

Contoh

i_src = input.source(close, "Source")
plot(i_src)

Kembali nilaiNilai variabel input

Parameter

  • defval(series int/float) Menentukan default dari variabel input yang disarankan pada halaman setelan/input float tag skrip, yang dapat diubah oleh pengguna.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.

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

Sampai jumpa lagi input.bool input.int input.float input.string input.timeframe input.color input

input.string

Menambahkan input ke tab opsi input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan string input field ke input skrip.

input.string(defval, title, options, tooltip, inline, group, confirm)

Contoh

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

Kembali nilaiNilai variabel input

Parameter

  • defval(const string) Menentukan setelan konstan skrip / nilai default dari variabel input yang disarankan pada halaman label konstan, yang dapat diubah oleh pengguna.optionsBila digunakan bersama, nilai ini harus menjadi salah satu dari keduanya.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • options(List of constants: [...]) Daftar opsi yang dapat dipilih.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika true, pengguna diminta untuk mengkonfirmasi nilai input sebelum indikator ditambahkan ke grafik.

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

Sampai jumpa lagi input.bool input.int input.float input.timeframe input.source input.color input

input.bool

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan 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)

Kembali nilaiNilai variabel input

Parameter

  • defval(const bool) Menentukan default dari variabel input yang disarankan pada halaman setelan / input tab tab tab skrip, yang dapat diubah oleh pengguna.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika true, pengguna diminta untuk mengkonfirmasi nilai input sebelum indikator ditambahkan ke grafik.

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

Sampai jumpa lagi input.int input.float input.string input.timeframe input.source input.color input

input.int

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input integer 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))

Kembali nilaiNilai variabel input

Parameter

  • defval(const int) Menentukan default nilai dari input variable yang disarankan pada halaman setup/input templat script, yang dapat diubah oleh pengguna script.optionsBila digunakan bersama, nilai ini harus menjadi salah satu dari keduanya.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • minval(const int) Nilai minimal dari variabel input. Opsional.
  • maxval(const int) Maksimal kemungkinan nilai variabel input. Opsional.
  • step(const int) digunakan untuk menambah/mengurangi panjang langkah input. Opsional.
  • options(tuple of const int values: [val1, val2,...]) Daftar pilihan yang dipilih dari menu drop-down, dipisahkan dengan koma dan dikelompokan dengan tanda kurung: [val1, val2,...];; tidak dapat digunakan saat menggunakan parameter ini.minvalmaxvaldanstepParameter.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika true, pengguna diminta untuk mengkonfirmasi nilai input sebelum indikator ditambahkan ke grafik.

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

Sampai jumpa lagi input.bool input.float input.string input.timeframe input.source input.color input

input.float

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input floating point 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)

Kembali nilaiNilai variabel input

Parameter

  • defval(const int/float) Menentukan nilai default dari variabel input yang disarankan pada halaman label setelan / input float skrip, yang dapat diubah oleh pengguna skrip.optionsBila digunakan bersama, nilai ini harus menjadi salah satu dari keduanya.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • minval(const int/float) Minimal kemungkinan nilai dari variabel input. Opsional.
  • maxval(const int/float) Maksimal kemungkinan nilai variabel input. Opsional.
  • step(const int/float) digunakan untuk menambah/mengurangi panjang langkah input. Opsional.
  • options(tuple of const int/float values: [val1, val2,...]) Daftar pilihan yang dipilih dari menu drop-down, dipisahkan dengan koma dan dikelompokan dengan tanda kurung: [val1, val2,...];; tidak dapat digunakan saat menggunakan parameter iniminvalmaxvaldanstepParameter.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika true, pengguna diminta untuk mengkonfirmasi nilai input sebelum indikator ditambahkan ke grafik.

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

Sampai jumpa lagi input.bool input.int input.string input.timeframe input.source input.color input

input.color

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan pemilih warna yang memungkinkan pengguna memilih warna dan transparansi dari panel 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)

Kembali nilaiNilai variabel input

Parameter

  • defval(const color) Menentukan setelan konstan skrip / nilai default dari variabel input yang disarankan di halaman label input konstan, yang dapat diubah oleh pengguna.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika true, pengguna diminta untuk mengkonfirmasi nilai input sebelum indikator ditambahkan ke grafik.

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

Sampai jumpa lagi input.bool input.int input.float input.string input.timeframe input.source input

input.price

Menambahkan entri harga ke skrip pada halaman pengaturan / tag entri entri.confirm = trueAktifkan mode input interaktif, pilih harga dengan mengklik grafik.

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)

Kembali nilaiNilai variabel input

Parameter

  • defval(const int/float) Menentukan default dari variabel input yang disarankan pada halaman setelan / input float tag skrip, yang dapat diubah oleh pengguna.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika benar, aktifkan mode input interaktif dan selesaikan seleksi dengan mengklik grafik saat indikator ditambahkan ke grafik, atau selesaikan seleksi dengan memilih indikator dan kemudian memindahkan pilihan. Opsional. Default false.

PenjelasanJika Anda menggunakan mode interaksi, jika dua fungsi dipanggil ke arahnyainlineJika parameter menggunakan parameter yang sama, maka input waktu dapat digunakan bersama dengan input harga.

Sampai jumpa lagi input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

Menambahkan input ke halaman label input pada pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan daftar drop-down yang memungkinkan pengguna untuk memilih periode waktu tertentu melalui pemilih periode waktu dan mengembalikannya sebagai string.

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)

Kembali nilaiNilai variabel input

Parameter

  • defval(const string) Menentukan setelan konstan skrip / nilai default dari variabel input yang disarankan pada halaman label konstan, yang dapat diubah oleh pengguna.optionsBila digunakan bersama, nilai ini harus menjadi salah satu dari keduanya.
  • title(const string) judul input. Jika tidak ditentukan, nama variabel digunakan sebagai judul input. Jika judul ditentukan, tetapi judulnya kosong, namanya akan menjadi string kosong.
  • options(tuple of const string values: [val1, val2,...]) Daftar pilihan yang dapat dipilih.
  • tooltip(const string) String ini akan ditampilkan kepada pengguna saat mouse Anda berada di atas ikon saran alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan parameter yang sama dalam satu baris. Tidak menunjukkan string yang digunakan sebagai parameter. Ini hanya digunakan untuk mengidentifikasi input yang berada di baris yang sama.
  • group(const string) Menggunakan string parameter set yang sama untuk membuat judul di atas semua input. String ini juga digunakan sebagai teks untuk judul tag.
  • confirm(const bool) Jika true, pengguna diminta untuk mengkonfirmasi nilai input sebelum indikator ditambahkan ke grafik.

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

Sampai jumpa lagi input.bool input.int input.float input.string input.source input.color input

input.integer

Tidak ada

input.resolution

Tidak ada

Tn

ta.alma

Arnaud Legoux Moving Average. Ia menggunakan distribusi Gaussian sebagai bobot dari rata-rata 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))

Kembali nilaiArnaud Legoux rata-rata bergerak

Parameter

  • series(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.
  • offset(simple int/float) Mengontrol keseimbangan antara kelancaran (lebih dekat 1) dan responsif (lebih dekat 0).
  • sigma(simple int/float) mengubah kelancaran ALMA.
  • floor(simple bool) Optional parameter. Sebelum menghitung ALMA, tentukan apakah perhitungan deflection adalah batas bawah.

Sampai jumpa lagi ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

Fungsi sma mengembalikan rata-rata bergerak, yaitu nilai akhir y dari x, dibagi 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))

Kembali nilai lengthK-line kembalisourceDi sini, kita bisa melihat bahwa kita memiliki rata-rata bergerak sederhana.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

Sampai jumpa lagi ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

Cog adalah indikator yang didasarkan pada statistik dan rasio 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))

Kembali nilaiFokus

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

Sampai jumpa lagi ta.stoch

ta.dev

衡量系列与其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))

Kembali nilai lengthK-line kembalisourcePerbedaan.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

Sampai jumpa lagi ta.variance ta.stdev

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))

Kembali nilaiStandar yang buruk

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.
  • biased(series bool) menentukan perkiraan mana yang harus digunakan. Opsional. Nilai default adalah true.

PenjelasanJikabiasedJika true, fungsi akan menghitung dengan menggunakan perkiraan bias terhadap keseluruhan, jika false - perkiraan bias terhadap sampel.

Sampai jumpa lagi ta.dev ta.variance

ta.ema

Fungsi ema mengembalikan indeks ditambah dengan nilai rata-rata bergerak. Dalam ema, faktor tambah menunjukkan penurunan indeks. Fungsi ini dihitung dengan rumus: EMA = alpha * source + (1 - alpha) * EMA[1], di mana alpha = 2 / (length + 1) ;

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))

Kembali nilai sourceIndeks dari rata-rata bergerak, alfa = 2 / (panjang + 1) ⋅

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(simple int) Jumlah string K (length).

PenjelasanHarap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan indikator ditarik kembali.

Sampai jumpa lagi ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Fungsi wma kembalilengthGaris KsourceDalam wma, faktor pemuatan dikurangi dengan 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))

Kembali nilai lengthK-line kembalisourceDi sini, kita bisa melihat bahwa kita memiliki nilai yang lebih tinggi.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

Sampai jumpa lagi ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Rata-rata gerak gerak bertimbalan simetris 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))

Kembali nilaiSemi-symmetrical weighted moving average.

Parameter

  • source(series int/float) Serial sumber.

Sampai jumpa lagi ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Fungsi hma mengembalikan rata-rata bergerak HMA dari badan kapal.

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)

Kembali nilaiKembali ke Hull Moving Average dari Hull length dari Hull column dari Hullsource dari Hull.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(simple int) Jumlah K baris

Sampai jumpa lagi ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

Rata-rata bergerak yang digunakan dalam RSI. Ini adalah rata-rata bergerak berongga indeks, alfa ditambah nilai bobot = 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))

Kembali nilai sourceJika kita melihat bahwa kita memiliki nilai 1 per 1 dari indeks, maka kita akan melihat bahwa kita memiliki nilai 1 per 1.length

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(simple int) Jumlah string K (length).

Sampai jumpa lagi ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Indeks Intensitas Relatif.lengthK-linesourcePerubahan atas dan bawahta.rma()Perhitungan ini dilakukan oleh para blogger.

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))

Kembali nilaiIndikator Relatif Kuat dan Lemah (RSI)

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(simple int) Jumlah string K (length).

Sampai jumpa lagi ta.rma

ta.tsi

Indeks Kekuatan dan Kelemahan Sejati.

ta.tsi(source, short_length, long_length)

Kembali nilaiIndeks kekuatan dan kelemahan yang benar.

Parameter

  • source(series int/float) Serial sumber.
  • short_length(simple int) panjang pendek.
  • long_length(simple int) panjang garis panjang.

ta.roc

Fungsi roc (rasio perubahan) menunjukkansourcenilai saat ini dansourceBeberapa hari yang lalulengthPerbedaan antara nilai-nilai tersebut. Hal ini dihitung dengan rumus berikut: 100 * change (src, length) / src (length).

ta.roc(source, length)

Kembali nilai lengthK-line kembalisourcePerkiraan perubahan rata-rata.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

ta.range

Mengembalikan selisih antara nilai minimum dan nilai maksimum dalam urutan.

ta.range(source, length)

Kembali nilaiPerbedaan antara nilai minimum dan nilai maksimum dalam urutan.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

ta.macd

MACD (Smooth Asymmetric Average) ⇒ Ini seharusnya mengungkapkan perubahan kekuatan, arah, momentum, dan durasi tren 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 membutuhkan satu nilai, gunakan tanda_posisi seperti ini:

Contoh

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

Kembali nilaiTiga komponen dari seri MACD: MACD line, signal line, dan line line.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • fastlen(simple int) Parameter garis cepat
  • slowlen(simple int) Parameter panjang lambat.
  • siglen(simple int) Parameter panjang sinyal.

Sampai jumpa lagi ta.sma ta.ema

ta.mode

Mengembalikan pola deret. Mengembalikan minimal jika ada beberapa nilai dengan frekuensi yang sama.

ta.mode(source, length)

Kembali nilaiPerhatikan pola urutan tersebut.

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

ta.median

Mengembalikan bilangan tengah dari deret tersebut.

ta.median(source, length) 

Kembali nilaiJadi, apakah Anda ingin melihat apakah Anda memiliki nilai yang sama dengan yang Anda miliki?

Parameter

  • source(series int/float) nilai seri yang akan dijalankan.
  • length(series int) Jumlah (length) K baris.

ta.linreg

Kurva regresi linear. Sebuah garis yang paling sesuai dengan harga yang ditentukan dalam jangka waktu yang ditentukan pengguna. Fungsi ini dihitung dengan menggunakan penggandaan binomial minimum. Hasilnya dihitung dengan rumus berikut: linreg = intercept + slope * (length - 1 - offset), di mana intercept dan slope digunakan.sourceNilai yang dihitung untuk bilangan dua kali lipat terkecil dari seri tersebut.

ta.linreg(source, length, offset) 

Kembali nilaiGaris regresi linier

Parameter

  • source(series int/float) Serial sumber.
  • length(seri int)
  • offset(simple int) pergeseran

ta.bb

Blink band. Blink band adalah alat analisis teknis yang didefinisikan oleh seperangkat garis yang berjarak dua standar deviasi (positif dan negatif) dari SMA harga sekuritas, tetapi dapat disesuaikan sesuai preferensi 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)

Kembali nilai"Saya tidak tahu apa yang terjadi.

Parameter

  • series(series int/float) Serial yang akan dijalankan

Lebih banyak

WuhuanBagaimana cara menjalankan beberapa transaksi pada saat yang sama untuk kontrak bitcoin?

Awan ringanApakah pine dapat melakukan banyak transaksi seperti JS? Terima kasih.

Lisa20231Terima kasih atas informasinya.

seniWow! Bagaimana bisa script pine ini menggunakan simulasi okex di platform ini?

seniIni berarti bahwa strategi tradingview dapat disalin langsung ke platform penemu dan digunakan!

Penemu Kuantitas - Mimpi KecilBahasa PINE hanya dapat melakukan strategi varietas tunggal, strategi multi-varietas adalah yang terbaik atau menulis desain dengan python, javascript, c++.

Penemu Kuantitas - Mimpi KecilOh, ya, OKX agak istimewa, mereka memiliki alamat yang sama di lingkungan analog dan lingkungan nyata, hanya berbeda di tempat lain. Jadi tidak ada cara untuk beralih ke analog dengan mengubah alamat basis.

Awan ringanTidak bisa menggunakan okx analog...

Penemu Kuantitas - Mimpi KecilMasalah arsitektur yang beragam ini tidak dapat diselesaikan dengan baik, karena setiap pertukaran memiliki antarmuka yang berbeda dan batas frekuensi antarmuka yang tidak sama, yang akan menimbulkan banyak masalah.

Penemu Kuantitas - Mimpi KecilBaiklah, terima kasih atas saranmu, dan laporkan permintaan ini di sini.

Awan ringanPerasaan lebih baik untuk mengintegrasikan dengan JS, JS dapat lebih baik beradaptasi dengan berbagai cara transaksi.

Pemangsa TrendingApakah Anda akan mempertimbangkan lebih banyak varietas di masa depan?

Penemu Kuantitas - Mimpi KecilTidak sopan.

Awan ringanBaiklah, terima kasih banyak.

Penemu Kuantitas - Mimpi KecilHalo, sementara, strategi bahasa PINE hanya bisa menggunakan satu varietas.

Penemu Kuantitas - Mimpi KecilTidak sopan, terima kasih atas dukungannya. Dokumen akan terus disempurnakan.

Penemu Kuantitas - Mimpi KecilSaya tidak tahu.

Penemu Kuantitas - Mimpi KecilPINE template library, dimana parameter dapat diatur untuk mengubah alamat basis pertukaran.