Kata kunci, tata bahasa, pengaturannya
Struktur Kode
Kode Pine mengikuti struktur umum:
<version>
<declaration_statement>
<code>
Catatan
Simbol komentar yang didukung oleh bahasa Pine di FMZ: komentar satu baris//Komentar beberapa baris/* */Misalnya, cara menulis komentar dalam contoh berikut:
pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // 计算MACD指标
/*
plot函数在图表上画出指标线
*/
plot(macdLine, color = color.blue, title='macdLine')
plot(signalLine, color = color.orange, title='signalLine')
plot(histLine, color = color.red, title='histLine')
Versi
Instruksi compiler dalam bentuk berikut ini memberi tahu compiler versi apa yang digunakan untuk skrip Pine:
pine
//@version=5
Versi v5 secara default, dapat dihapus dalam kode//@version=5。
Pernyataan
Pernyataan deklarasi menentukan jenis skrip, yang kemudian menentukan apa yang diizinkan di dalamnya, dan bagaimana digunakan dan dijalankan. Atribut utama skrip ditetapkan, seperti namanya, di mana ia akan muncul ketika ditambahkan ke dalam grafik, akurasi dan format dari nilai yang ditampilkan, dan nilai yang mengatur perilaku tertentu saat berjalan, seperti jumlah maksimum objek grafik yang akan ditampilkan dalam grafik.indicator()ataustrategy()Pernyataan pernyataan.
Kode
Sebuah skrip tidak memiliki komentar atau perintah compiler, melainkan kalimat, yang mengimplementasikan algoritma skrip. Sebuah kalimat dapat menjadi salah satu dari hal-hal tersebut.
- Deklarasi Variabel
- Reassignment dari variabel
- Deklarasi Fungsi
- Pemanggilan fungsi built-in, pemanggilan fungsi yang didefinisikan pengguna
if,for,whileatauswitchStruktur lainnya
Pernyataan dapat disusun dengan berbagai cara
- Beberapa pernyataan dapat dituliskan dalam satu baris, seperti kebanyakan deklarasi variabel, yang hanya berisi satu baris panggilan fungsi atau deklarasi fungsi baris tunggal. Yang lain, seperti struktur, selalu membutuhkan lebih dari satu baris karena mereka membutuhkan satu blok lokal.
- Pernyataan dalam ruang lingkup global skrip (yaitu bagian yang tidak termasuk dalam blok lokal) tidak dapat dianggap sebagai
空格atau制表符(Tab) dimulai。 Karakter pertama mereka juga harus menjadi karakter pertama dari baris tersebut。 Baris yang dimulai pada posisi pertama dari baris, menurut definisi menjadi bagian dari ruang lingkup global dari skrip。 - Struktur atau deklarasi fungsi multi-baris selalu membutuhkan
local block。 Sebuah blok lokal harus disinkronkan ke dalam satu tanda baca atau empat ruang kosong (jika tidak, akan diuraikan ke dalam baris kode serialisasi sebelumnya, yang akan dianggap sebagai konten lanjutan dari baris kode sebelumnya), dan masing-masing blok lokal mendefinisikan sebuah ruang lingkup lokal yang berbeda。 - Beberapa kalimat tunggal dapat diurutkan dalam satu baris dengan menggunakan tanda koma ((,) sebagai pemisah.
- Satu baris bisa berisi komentar, atau hanya komentar.
- Baris juga bisa dibungkus (berlanjut pada beberapa baris) <unk>
Misalnya, termasuk tiga blok lokal, satu dalam deklarasi fungsi khusus dan dua menggunakan struktur if dalam deklarasi variabel, dengan kode sebagai berikut:
pine
indicator("", "", true) // 声明语句(全局范围),可以省略不写
barIsUp() => // 函数声明(全局范围)
close > open // 本地块(本地范围)
plotColor = if barIsUp() // 变量声明 (全局范围)
color.green // 本地块 (本地范围)
else
color.red // 本地块 (本地范围)
runtime.log("color", color = plotColor) // 调用一个内置函数输出日志 (全局范围)
Kode ganti baris
Baris panjang dapat dibagi dalam beberapa baris, atau "dibungkus". Baris yang dibungkus harus menyusut ke dalam jumlah ruang kosong, asalkan bukan kelipatan 4.
pine
a = open + high + low + close
Dapat dikemas dalam (perhatikan bahwa jumlah spasi yang dikurangi per baris bukanlah kelipatan dari 4):
pine
a = open +
high +
low +
close
Sebuah panggilan plot ((() yang panjang dapat dikemas menjadi。
pine
close1 = request.security(syminfo.tickerid, "D", close) // syminfo.tickerid 当前交易对的日线级别收盘价数据系列
close2 = request.security(syminfo.tickerid, "240", close) // syminfo.tickerid 当前交易对的240分钟级别收盘价数据系列
plot(ta.correlation(close, open, 100), // 一行长的plot()调用可以被包装
color = color.new(color.purple, 40),
style = plot.style_area,
trackprice = true)
Pernyataan dalam deklarasi fungsi yang didefinisikan pengguna juga dapat dikemas. Namun, karena blok lokal secara gramatikal harus dimulai dengan tanda kurung (((4 spasi atau 1 tanda kerja), ketika membagi-bagi ke baris berikutnya, bagian lanjutan dari pernyataan harus dimulai dengan satu atau lebih tanda kurung (((tidak sama dengan kelipatan 4 spasi) <unk>. Misalnya:
pine
test(c, o) =>
ret = c > o ?
(c > o+5000 ?
1 :
0):
(c < o-5000 ?
-1 :
0)
a = test(close, open)
plot(a, title="a")
Urutan waktu
Serial waktu bukanlah sebuah jenis data atau format, tetapi sebuah konsep struktur dasar dalam bahasa PINE. Serial waktu digunakan untuk menyimpan nilai-nilai yang berubah secara berurutan, masing-masing nilai yang sesuai dengan satu titik waktu. Struktur konsep ini sangat cocok untuk digunakan untuk memproses dan merekam serangkaian data yang berubah dari waktu ke waktu.
Dengan variabel bawaanopenMisalnya,openVariabel internal mencatat harga open bar untuk setiap K line, jikaopenadalah 5 menit dari siklus K. Jadi iniopenVariabel yang tercatat adalah harga open setiap 5 menit K baris BAR (kolom). Ketika program strategi Anda sedang dijalankan, kode yang dikutipopenUntuk referensi nilai sebelumnya dalam urutan waktu (value in the past), kita menggunakan[]Operator historis, ketika kebijakan dijalankan pada garis KBAR,open[1]Maksudnya adalah mengacu pada harga pembukaan dari garis K BAR sebelumnya dari garis K BAR saat ini.
MeskipunUrutan waktuStruktur data "array" mudah diingat, meskipun bahasa PINE juga memiliki tipe array. Namun, mereka dan urutan waktu adalah konsep yang sama sekali berbeda.
Bahasa PINE dirancang dengan urutan waktu yang dapat dengan mudah dihitung dalam kode kebijakan nilai akumulasi harga closeout, dan tidak perlu menggunakan struktur loop seperti for, hanya menggunakan fungsi built-in bahasa PINEta.cum(close)Sebagai contoh lain, kita perlu menghitung 14 garis K BAR terakhir (yaitu 14 garis K BAR terdekat dari saat saat saat kode dijalankan) dengan rata-rata perbedaan antara nilai maksimum dan minimum yang dapat ditulis sebagai:ta.sma(high - low, 14)
Hasil dari panggilan fungsi pada urutan waktu juga akan meninggalkan jejak pada urutan waktu.[]Operator sejarah merujuk nilai sebelumnya. Sebagai contoh, untuk menguji apakah nilai closeout dari garis BAR K saat ini melebihi nilai maksimum dari nilai tertinggi dari garis BAR K 10 terakhir (tidak termasuk garis BAR K saat ini). Kita dapat menuliskan sebagaibreach = close > ta.highest(close, 10)[1]Atau bisa juga ditulis sebagai:breach = close > ta.highest(close[1], 10)Karena itu.ta.highest(close, 10)[1]Danta.highest(close[1], 10)Ini adalah nilai yang sama.
Verifikasi dapat dilakukan dengan menggunakan kode berikut:
pine
strategy("test pine", "test", true)
a = ta.highest(close, 10)[1]
b = ta.highest(close[1], 10)
plotchar(true, title="a", char=str.tostring(a), location=location.abovebar, color=color.red)
plotchar(true, title="b", char=str.tostring(b), location=location.belowbar, color=color.green)
Kode tes di atas akan mengekspor nilai a dan b pada masing-masing BAR pada urutan waktu yang sesuai, dan dapat dilihat bahwa nilai a dan b selalu sama, sehingga kedua metode ini sama.
Referensi data historis
Trading View memiliki batasan jumlah maksimum untuk referensi data historis (maksimal 5000), seperti kode berikut:
pine
//@version=6
indicator("test")
ema = ta.ema(close, 10000) // 报错:Error on bar 0: The 'ema'->'sum' function references too many historical candles (10000), the limit is 5000.
plot(ema, "ema")
// pre10000 = ema[10000] // 报错:Invalid number of bars back specified in the history-referencing operator. It accepts a value between 0 and 5000.
// plot(pre10000, "pre10000")
"Setelan transaksi" dalam "Pine Language Transaction Classroom" menggunakan kebijakan bahasa PINE di FMZ, parameter: "Jumlah siklus terpanjang variabel" secara khusus mengatur jumlah maksimum data yang dapat dikutip.
pine
indicator("test")
ema = ta.ema(close, 1000) // ema = ta.ema(close, 3000) 则报错:Invalid number 3000 of bars back specified in the history-referencing operator. It accepts a value between 0 and 2000.
plot(ema, "ema")
Parameter "variabel terpanjang periode" tidak boleh terlalu besar, dan dalam kebijakan yang sesuai, data dapat dikutip.
Parameter modus Pine Language Transaction
Panduan pengaturan parameter untuk template PINE built-in "Pine Language Transaction Repository".
Pengaturan transaksi
- Eksekusi
Model harga penutupan: model dilakukan setelah BAR saat ini habis, dan transaksi dilakukan saat BAR bawah dimulai.
Model harga real-time: setiap kali ada perubahan harga, model tersebut dieksekusi, dengan sinyal untuk segera melakukan transaksi. - Default open position number: Jika instruksi perdagangan tidak menentukan jumlah transaksi, transaksi dilakukan sesuai dengan jumlah yang ditetapkan.
- Jumlah pesanan maksimum dalam satu transaksi: Berdasarkan cakupan aktual, dalam kombinasi dengan pengaturan parameter ini, tentukan jumlah pesanan maksimum untuk setiap pesanan, untuk menghindari dampak pada cakupan.
- Nilai tukar: berdasarkan
定价货币精度Parameter dan parameter ini menentukan harga slippage pada saat pesanan. Sebagai contoh, harga mata uang presisi diatur 2, yaitu tepat ke detik desimal, tepat ke 0.01. Maka setiap titik slippage mewakili 0.01 unit harga. Pada saat ini, harga slippage diatur 5, dan harga slippage pada saat pesanan adalah 0.05 ((harga slippage adalah bagian dari harga yang terlampaui saat pesanan dilakukan untuk lebih baik dan menutup pesanan). - Periode terpanjang variabel: jumlah BAR garis K yang mempengaruhi grafik, dengan
javascriptPanggilan dalam strategiSetMaxBarLenFungsi yang sama.
Opsi Berjangka
- Kode varietas: Kode kontrak, hanya perlu diatur jika objek pertukaran adalah objek pertukaran non-toko.
- Minimum jumlah kontrak: jumlah minimum transaksi kontrak pada saat pesanan.
Opsi Nyata
- Proses pemulihan otomatis: otomatis kembali ke keadaan sebelum strategi terakhir berhenti.
- Order Re-Try: Order yang tidak berhasil akan membatalkan order, dan order ulang akan mencoba untuk melakukan transaksi. Parameter ini digunakan untuk membatasi jumlah maksimum order yang dapat dicoba ulang.
- Interval survei jaringan ((milliseconds): hanya berlaku untuk protokol REST, mengontrol interval permintaan jaringan, menghindari permintaan yang terlalu sering, melampaui batas bursa.
- Waktu sinkronisasi akun (dalam detik): Periode waktu data akun yang disinkronkan.
- Waktu sinkronisasi posisi setelah pembukaan posisi (millisecond): hanya untuk beberapa pertukaran yang melakukan pembukaan posisi berulang yang disebabkan oleh keterlambatan data, pengaturan waktu sinkronisasi yang lebih besar dapat mengurangi masalah seperti itu.
- Leverage multiplier: mengatur Leverage multiplier.
Perdagangan langsung, pengaturan lainnya
- Volume transaksi satu tangan: volume transaksi satu tangan default, hanya berlaku untuk barang tunai.
- Jumlah transaksi minimum: jumlah transaksi minimum.
- Akurasi harga: Akurasi harga, yaitu angka kecil dari harga.
- Akurasi jenis transaksi: Akurasi pesanan berikutnya, yaitu angka kecil dari pesanan berikutnya.
- Biaya operasi: Untuk beberapa data berdasarkan pengaturan ini, 0.002 adalah 2 per seribu.
- Interval statistik kerugian: hanya digunakan untuk menampilkan statistik kerugian pada hard disk.
- Gagal mencoba kembali ((ms): Jangka waktu yang dibutuhkan untuk mencoba kembali ketika permintaan jaringan gagal.
- Penggunaan proxy: hanya berlaku untuk protokol REST
- Hide common network errors: Hide common error logs in the log area.
- Switching base address: hanya berlaku untuk REST.
- Pesan Pelancaran: Pesan Pelancaran ke kotak surat, dll.
Tempatkan pesanan
Memulai Posisi
pine
strategy(title = "open long example", pyramiding = 3) // pyramiding 允许的同方向下单的次数
strategy.entry("long1", strategy.long, 0.01) // 市价开多仓,指定分组标签为long1
strategy.entry("long2", strategy.long, 0.02, when = close > ta.ema(close, 10)) // 条件触发,执行下单,市价开多仓
strategy.entry("long3", strategy.long, 0.03, limit = 30000) // 指定(较低的)价格,计划下买单订单,等待成交开仓,限价开仓
Posisi kosong
pine
strategy(title = "close long example", pyramiding = 2) // pyramiding 允许的同方向下单的次数
strategy.entry("long1", strategy.long, 0.1) // 市价开多仓,指定分组标签为long1
strategy.entry("long2", strategy.long, 0.1) // 市价开多仓,指定分组标签为long2
strategy.close("long1", when = strategy.position_size > 0.1, qty_percent = 50, comment = "close buy entry for 50%") // 平仓,指定平掉分组标签为long1的仓位的50%持仓
strategy.close("long2", when = strategy.position_size > 0.1, qty_percent = 80, comment = "close buy entry for 80%") // 平仓,指定平掉分组标签为long2的仓位的80%持仓
Mekanisme perdagangan
Mekanisme pegangan dalam bahasa PINE mirip dengan pegangan unidirectional. Sebagai contoh, ketika memegang posisi dalam arah yang berlawanan dengan arah pegangan, jika ada perintah yang menjual operasi, rencana, dan lain-lain yang memicu eksekusi, maka akan dilunasi terlebih dahulu posisi dalam arah yang berlawanan dengan arah pegangan, dan kemudian dieksekusi.
Daftar rencana
Jika tidak ada harga yang ditentukan, maka daftar harga secara default. Selain daftar harga, Anda juga dapat melakukan pemesanan melalui daftar rencana, dan daftar rencana tidak akan langsung melakukan pemesanan. Daftar rencana dapat ditampilkan di antrian program yang tidak ada pada saat pemicu.Disket/Pengukuran UlangDalam tabel "Pelan Perintah" pada informasi status waktu (yaitu, status saat strategi berjalan) terlihat. Sistem hanya akan benar-benar memesan ketika harga pasar real-time memenuhi kondisi yang memicu rencana ini. Oleh karena itu, pesanan ini memiliki sedikit deviasi pada harga transaksi adalah hal yang normal.strategy.entryFungsi yang kita pesan, kita bisa menentukanlimit、stopParameter
var isTrade = false
if not barstate.ishistory and not isTrade
isTrade := true
strategy.entry("test 1", strategy.long, 0.1, stop=close*1.3, comment="test 1 order") // stop
strategy.entry("test 2", strategy.long, 0.2, limit=close*0.7, comment="test 2 order") // limit
strategy.entry("test 3", strategy.short, 0.3, stop=close*0.6, limit=close*1.4, comment="test 3 order") // stop-limit
-
Limit order
Setel harga batas untuk pesanan, yaitu
directionParameternya adalahstrategy.long), perintah hanya akan dipicu jika harga pasar saat ini lebih rendah dari harga tersebut.
Ketika pesanan adalah untuk dijual (yaitudirectionParameternya adalahstrategy.short), hanya jika harga pasar saat ini lebih tinggi dari harga tersebut, perintah akan dipicu. -
Stop perintah
Setel harga stop loss untuk order, dimana order akan dipicu hanya jika harga pasar saat ini lebih tinggi dari harga tersebut.
Ketika sebuah pesanan adalah untuk menjual, pesanan hanya akan dipicu jika harga pasar saat ini lebih rendah dari harga tersebut. -
stop-limit order
Dapat disetel pada saat yang sama
limit、stopParameter, perintah dipicu pada harga pertama yang memenuhi syarat.
Persentase hak dan kewajiban
pine
//@version=5
strategy("Percent of Equity Order", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// 简单的均线交叉策略
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
// 如果均线交叉条件满足,则买入或卖出
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
Menentukandefault_qty_type=strategy.percent_of_equitySetelah, pengaturandefault_qty_valueSebagai persentase ((0 ~ 100), 1 adalah 1%. Menghitung jumlah pesanan berdasarkan jumlah mata uang yang terdaftar di akun. Misalnya: akun saat ini memiliki 10.000 USDT, mengatur pesanan 1%, yaitu menggunakan pesanan pesanan skala 100 USDT (dihitung berdasarkan harga saat ini saat dijual).
Pernyataan, kata kunci struktur logis
var
var adalah kata kunci untuk variabel yang dialokasikan dan diinisialisasi sekali pakai.
Biasanya, sintaks pemberian nilai variabel tanpa kata kunci var akan menyebabkan nilai variabel ditimpa setiap kali data diperbarui. Sebaliknya, ketika menggunakan kata kunci var untuk mendistribusikan variabel, meskipun data diperbarui, mereka tetap dapat mempertahankan statusnya dan hanya mengubahnya jika memenuhi kondisi dalam if-expressions.
var variable_name = expression
Menjelaskan:
variable_name- Nama variabel pengguna apa pun yang diizinkan dalam Pine Script (yang dapat berisi huruf Latin, angka, dan garis bawah dalam huruf besar dan kecil)_), tetapi tidak dimulai dengan angka) 。expression- Setiap ekspresi aritmatika, seperti mendefinisikan variabel reguler. Menghitung ekspresi dan mengalokasikannya ke variabel sekali.
Contoh
pine
// Var keyword example
var a = close
var b = 0.0
var c = 0.0
var green_bars_count = 0
if close > open
var x = close
b := x
green_bars_count := green_bars_count + 1
if green_bars_count >= 10
var y = close
c := y
plot(a, title = "a")
plot(b, title = "b")
plot(c, title = "c")
Variabel 'a' mempertahankan nilai closeout dari setiap baris pertama dari setiap baris dalam seri.
Variabel 'b' mempertahankan harga penutupan dari batang harga pertama dalam seri.
Variabel 'c' mempertahankan harga penutupan dari seri ke-10 dari kentang hijau.
Di FMZ, model harga real-time, model harga close-out, dan model harga close-out.var、varipVariabel yang dinyatakan akan kita uji dengan kode berikut:
pine
strategy("test pine", "test 1", true)
// 测试 var varip
var i = 0
varip ii = 0
// 将策略逻辑每轮改变的i、ii打印在图上
plotchar(true, title="ii", char=str.tostring(ii), location=location.abovebar, color=color.red)
plotchar(true, title="i", char=str.tostring(i), location=location.belowbar, color=color.green)
// 每轮逻辑执行都给i、ii递增1
if true
i := i + 1
ii := ii + 1
-
Model harga waktu nyata
Kode tes di atas terbagi dalam dua tahap: 1) Sejarah K-Line; 2) K-Line Real-Time; 3) K-Line Real-Time.var、varipVariabel i, ii dari deklarasi akan melakukan operasi tambahan setiap kali kode kebijakan dijalankan (karenaif trueJadi pastilah melakukan blok kode kondisional yang sesuai) 。 Jadi kita bisa melihat bahwa angka yang ditampilkan pada garis BAR hasil pengukuran kembali adalah masing-masing meningkat 1 。 Ketika tahap K baris sejarah berakhir, tahap K baris real-time dimulai 。var、varipVariabel yang dinyatakan mulai berubah. Karena model harga real-time, setiap perubahan harga dalam K-line BAR dilakukan sekali dalam kode strategi, dan setiap perubahan harga dalam K-line BAR dilakukan sekali dalam kode strategi.i := i + 1Danii := ii + 1Semua akan dieksekusi sekali. Perbedaannya adalah bahwa ii akan diubah setiap kali. Meskipun i juga diubah setiap kali, namun pada saat pelaksanaan strategi logis pada putaran berikutnya akan dikembalikan ke nilai sebelumnya, sampai saat K garis BAR selesai, maka akan diperbarui untuk menentukan nilai i (yaitu, pada saat pelaksanaan strategi logis pada putaran berikutnya tidak akan dikembalikan lagi nilai sebelumnya). -
Model Harga Penutupan
Karena model harga close out hanya menjalankan satu logika strategi untuk setiap garis K BAR. Jadi, dalam model harga close out, fase garis K historis dan fase garis K real-time,var、varipVariabel yang dinyatakan dalam contoh di atas menunjukkan peningkatan yang sama, yaitu peningkatan 1 BAR untuk setiap baris K.
varip
varip ((var intrabar persist) adalah kata kunci yang digunakan untuk mengalokasikan dan menginisialisasi variabel satu kali. Kata kunci ini mirip dengan kata kunci var, tetapi variabel yang menggunakan deklarasi varip mempertahankan nilainya antara pembaruan K-line secara real-time.
varip variable_name = expression
Menjelaskan:
variable_name- Nama variabel pengguna apa pun yang diizinkan dalam skrip Pine (( dapat berisi huruf Latin huruf besar dan kecil, angka dan garis bawah)_), tetapi tidak dimulai dengan angka) 。expression- Setiap ekspresi aritmatika, seperti ketika mendefinisikan variabel reguler. Pada baris pertama K, ekspresi hanya dihitung sekali dan dialokasikan ke variabel sekali.
Contoh
pine
// varip
varip int v = -1
v := v + 1
plot(v)
Dengan var, gambar akan mengembalikan nilai bar_index. Dengan varp, tindakan yang sama terjadi pada garis K historis, tetapi pada garis K real-time, gambar akan mengembalikan nilai yang meningkat satu untuk setiap tick.
Catatan
Hanya dapat digunakan dengan tipe sederhana, seperti float, int, bool, string, dan array dari tipe-tipe tersebut.
true
Mengekspresikan nilai dari variabel tipe Boolean, atau digunakan ketika ekspresiPerbandinganatauLogikaNilai yang dapat dihitung oleh operator.
Catatan
Lihat jugaPerbandinganOperator danLogikaDeskripsi operator.
Lihat juga
bool
false
Menunjukkan nilai dari variabel tipe Boolean, dan hasil dari operasi perbandingan, operasi logis.
Catatan
Lihat jugaPerbandinganOperator danLogikaDeskripsi operator.
Lihat juga
bool
if
If statement mendefinisikan blok kalimat yang harus dieksekusi untuk memenuhi kondisi ekspresi. Bahasa skrip Pine edisi 4 memungkinkan Anda menggunakan sintaksis <unk>else if<unk>.
Kode umum berasal dari:
var_declarationX = if condition
var_decl_then0
var_decl_then1
...
var_decl_thenN
return_expression_then
else if [optional block]
var_decl_else0
var_decl_else1
...
var_decl_elseN
return_expression_else
else
var_decl_else0
var_decl_else1
...
var_decl_elseN
return_expression_else
Catatan
var_declarationX- Variabel ini mengambil nilai dari if statement
condition- menggunakan blok kalimat jika kondisi adalah truethenLogika di dalamnyavar_decl_then0,var_decl_then1Jika kondisi adalah false, gunakan blok kalimat.else ifatauelseLogika di dalamnyavar_decl_else0,var_decl_else1Dan lain-lain.
return_expression_then , return_expression_else- Ekspresi terakhir dalam modul atau ekspresi dari blokelse akan mengembalikan nilai akhir dari pernyataan. Jika deklarasi variabel berada di akhir, nilainya akan menjadi nilai hasil.
Jenis nilai yang dikembalikan oleh pernyataan if tergantung padareturn_expression_thenDanreturn_expression_elseJenis-jenis tersebut harus cocok ketika berjalan di TradingView: ketika Anda memiliki nilai string di blok else, tidak mungkin untuk mengembalikan nilai integer dari blok then statement. Ketika berjalan di FMZ, contoh berikut tidak akan salah, ketika nilai y mengambil nilai "open", nilai saat plot adalah n/a.
Contoh
pine
// This code compiles
x = if close > open
close
else
open
// This code doesn’t compile by trading view
// y = if close > open
// close
// else
// "open"
plot(x)
Bisa dihilangkanelseDalam hal ini, jika kondisi adalah false, maka variabel var_declarationX akan diberikan sebuah nullempty threshold ((na, false atau null):
Contoh
pine
// if
x = if close > open
close
// If current close > current open, then x = close.
// Otherwise the x = na.
plot(x)
Anda dapat menggunakan lebih dari satu blok <unk>else if<unk> atau tidak sama sekali. <unk>then<unk>, <unk>else if<unk>, dan <unk>else<unk> dipindahkan ke empat ruang kosong:
Contoh
pine
// if
x = if open > close
5
else if high > low
close
else
open
plot(x)
Bisa diabaikanifNilai hasil dari pernyataan ((<unk>var_declarationX=<unk> dapat dihapus) <unk>. Ini mungkin berguna jika Anda membutuhkan efek samping dari ekspresi, misalnya dalam perdagangan strategi:
Contoh
pine
if (ta.crossover(high, low))
strategy.entry("BBandLE", strategy.long, stop=low)
else
strategy.cancel(id="BBandLE")
Jika pernyataan dapat saling mencakup:
Contoh
pine
// if
float x = na
if close > open
if close > close[1]
x := close
else
x := close[1]
else
x := open
plot(x)
for
Struktur 'for' memungkinkan beberapa pernyataan untuk dieksekusi berulang:
[var_declaration =] for counter = from_num to to_num [by step_num]
statements | continue | break
return_expression
var_declaration- Sebuah deklarasi variabel yang dapat dipilih, yang akan ditugaskan sebagai nilai return_expression dari return loop.
counter- Variabel yang menyimpan nilai penghitung putaran balik, naik / turun 1 atau step_num nilai pada setiap iterasi putaran balik.
from_num- Nilai awal dari counter. Diizinkan untuk menggunakan thresholdseries int/float threshold/expression.
to_num- Nilai akhir dari counter. Apabila counter lebih besar dari to_num (atau lebih kecil dari to_num dalam kasus from_num > to_num), loop terputus. Penggunaan thresholdseries int/float thresholds/expressions diizinkan, tetapi mereka hanya dievaluasi pada iterasi pertama dari loop.
step_num- Penghitung nilai naik/turun. Itu adalah pilihan. Nilai default adalah +1 atau -1, tergantung pada yang terbesar dari from_num atau to_num.
statements | continue | break- Sebanyak kalimat, atau kata kunci 'continue' atau 'break', yang bisa dikurangi menjadi 4 spasi atau 1 tab.
return_expression- Pengembalian nilai loop, jika ada, dialokasikan ke variabel dalam var_declaration. Jika loop keluar karena kata kunci <unk>continue<unk> atau <unk>break<unk>, pengembalian nilai loop adalah pengembalian nilai dari variabel terakhir yang dialokasikan sebelum loop keluar.
continue- Kata kunci yang hanya dapat digunakan dalam loop. Kata kunci yang menyebabkan iterasi berikutnya dari loop dilaksanakan.
break- Kata kunci untuk keluar dari lingkaran.
Contoh
pine
// Here, we count the quantity of bars in a given 'lookback' length which closed above the current bar's close
qtyOfHigherCloses(lookback) =>
int result = 0
for i = 1 to lookback
if close[i] > close
result += 1
result
plot(qtyOfHigherCloses(14))
for...in
for...inStruktur memungkinkan untuk melakukan beberapa pernyataan berulang untuk setiap elemen dalam array. Ia dapat digunakan dengan argumen apa pun:array_element, atau digunakan bersama dengan dua argumen:[index, array_element]Bentuk kedua tidak memengaruhi fungsi loop. Ini melacak indeks iterasi saat ini dalam variabel pertama dari subset.
[var_declaration =] for array_element in array_id
statements | continue | break
return_expression
[var_declaration =] for [index, array_element] in array_id
statements | continue | break
return_expression
var_declaration- Sebuah deklarasi variabel yang dapat dipilih, yang akan diberikan kepada loopreturn_expressionNilai dari
index- Variabel pilihan yang mengikuti indeks iterasi saat ini. Indeks dimulai dari 0. Variabel tidak dapat diubah dalam lingkaran.array_elementDalam subgrup:
array_element- berisi variabel untuk setiap elemen array berurutan yang akan diproses dalam loop. Variabel tersebut tidak berubah dalam loop.
array_id- Array ID dari iterasi lingkaran.
statements | continue | break- Sebanyak kalimat, atau kata kunci 'continue' atau 'break', yang bisa dikurangi menjadi 4 spasi atau 1 tab.
return_expression- nilai yang dikembalikan dari loop yang dialokasikan kevar_declarationVariabel dalam, jika ada. Jika loop keluar karena kata kunci 'continue' atau 'break', maka nilai yang dikembalikan dari loop adalah variabel yang diberikan terakhir sebelum loop keluar.
continue- Kata kunci yang hanya dapat digunakan dalam loop. Kata kunci yang menyebabkan iterasi berikutnya dari loop dilaksanakan.
break- Kata kunci untuk keluar dari lingkaran.
Diizinkan untuk mengubah elemen atau ukuran array dalam loop.
Di sini, kita menggunakanfor...inBentuk parameter tunggal untuk menentukan berapa banyak nilai OHLC pada setiap baris K yang lebih besar dari nilai SMA 'close':
Contoh
pine
// Here we determine on each bar how many of the bar's OHLC values are greater than the SMA of 'close' values
float[] ohlcValues = array.from(open, high, low, close)
qtyGreaterThan(value, array) =>
int result = 0
for currentElement in array
if currentElement > value
result += 1
result
plot(qtyGreaterThan(ta.sma(close, 20), ohlcValues))
Di sini, kita menggunakan dua bentuk parameter for...in untuk mendapatkan nilai kita.isPosArray akan di set ke trueKetika mereka berada di kami,valuesArrayNilai yang sesuai dalam array adalah waktu yang benar:
Contoh
pine
// for...in
var valuesArray = array.from(4, -8, 11, 78, -16, 34, 7, 99, 0, 55)
var isPos = array.new_bool(10, false)
for [index, value] in valuesArray
if value > 0
array.set(isPos, index, true)
if barstate.islastconfirmedhistory
runtime.log(str.tostring(isPos))
Lihat juga
for while array.sum array.min array.max
while
whilePernyataan ini mengizinkan iterasi kondisional dari blok kode lokal.
variable_declaration = while boolean_expression
...
continue
...
break
...
return_expression
Menjelaskan:
variable_declaration- Deklarasi variabel yang dapat dipilih.return expressionAnda dapat memberikan nilai inisialisasi untuk variabel ini.
boolean_expression- Jika benar, maka dilakukanwhileBlok lokal dari kalimat. Jika false, maka diwhileSetelah kalimat, lanjutkan dengan naskahnya.
continue - continueKata kunci menyebabkan siklus bercabang ke iterasi berikutnya.
break - breakKata kunci menyebabkan loop berakhir.whileSetelah itu, lanjutkan dengan kalimat selanjutnya.
return_expression- BerikanwhileGaris pilihan yang dikembalikan oleh kalimat.
Contoh
pine
// This is a simple example of calculating a factorial using a while loop.
int i_n = input.int(10, "Factorial Size", minval=0)
int counter = i_n
int factorial = 1
while counter > 0
factorial := factorial * counter
counter := counter - 1
plot(factorial)
Catatan
AwalnyawhileBlok kode lokal setelah baris harus disinkronkan ke dalam empat spasi atau satu tanda pengenal. Untuk mengakhiri.whileSiklus,whileEkspresi Boolean di belakang harus berubah menjadi false, atau harus dieksekusi.break。
switch
Operator switch mengalihkan kendali ke salah satu dari beberapa pernyataan berdasarkan kondisi dan nilai ekspresi.
[variable_declaration = ] switch expression
value1 => local_block
value2 => local_block
...
=> default_local_block
[variable_declaration = ] switch
boolean_expression1 => local_block
boolean_expression2 => local_block
...
=> default_local_block
"Switch" dengan ekspresi:
Contoh
pine
// Switch using an expression
string i_maType = input.string("EMA", "MA type", options = ["EMA", "SMA", "RMA", "WMA"])
float ma = switch i_maType
"EMA" => ta.ema(close, 10)
"SMA" => ta.sma(close, 10)
"RMA" => ta.rma(close, 10)
// Default used when the three first cases do not match.
=> ta.wma(close, 10)
plot(ma)
Switch tanpa ekspresi:
Contoh
pine
strategy("Switch without an expression", overlay = true)
bool longCondition = ta.crossover( ta.sma(close, 14), ta.sma(close, 28))
bool shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
switch
longCondition => strategy.entry("Long ID", strategy.long)
shortCondition => strategy.entry("Short ID", strategy.short)
Mengembalikan nilai
Nilai dari ekspresi terakhir dalam blok pernyataan lokal yang dieksekusi
Catatan
Hanya bisa dilakukanlocal_blockContoh ataudefault_local_blockSalah satunya.default_local_blockHanya dengan=>Tanda-tanda yang diperkenalkan bersama, dan hanya dilakukan jika tidak dilakukan blok sebelumnya. JikaswitchHasil dari sebuah pernyataan diberikan pada sebuah variabel dan tidak ditentukandefault_local_blockJika tidak dilakukan,local_block, maka kalimat tersebut akan dikembalikannaAkanswitchSemua hasil dari pernyataan yang dibagikan ke variabellocal_blockContoh harus mengembalikan nilai dengan tipe yang sama.
series
series adalah kata kunci untuk menunjukkan jenis rangkaian data.seriesKata kunci biasanya tidak diperlukan.
Operator
=
digunakan untuk memberikan nilai pada variabel, tetapi hanya pada saat deklarasi variabel ((pertama kali digunakan) }}.
:=
Operator pemberian nilai, memberikan nilai pada variabel di sebelah kiri. Digunakan untuk pemberian nilai pada variabel yang dinyatakan sebelumnya.
!=
Tidak sama dengan. Ekspresi yang berlaku untuk semua jenis.
expr1 != expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
%
Bilangan modular ((bilangan bulat tambahan) <unk>. Digunakan untuk ekspresi nilai numerik <unk>
expr1 % expr2
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
Catatan
Dalam skrip Pine, ketika menghitung sisa dari bilangan bulat, transaksi akan dipotong. Yaitu, putar ke nilai mutlak terkecil. Nilai yang diperoleh akan memiliki simbol yang sama dengan dividen.
Contoh: -1 % 9 = -1 - 9 * truncate ((-1/9) = -1 - 9 * truncate ((-0.111) = -1 - 9 * 0 = -1。
%=
Modul ditunjuk. Digunakan untuk ekspresi numerik.
expr1 %= expr2
Contoh
pine
// Equals to expr1 = expr1 % expr2.
a = 3
b = 3
a %= b
// Result: a = 0.
plot(a)
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
*
Perkalian <unk> berlaku untuk ekspresi angka <unk>
expr1 * expr2
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
*=
Perkalian ditetapkan. Digunakan untuk ekspresi angka.
expr1 *= expr2
Contoh
pine
// Equals to expr1 = expr1 * expr2.
a = 2
b = 3
a *= b
// Result: a = 6.
plot(a)
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
+
Tambahkan atau satuan positif. Digunakan untuk ekspresi angka atau string.
expr1 + expr2
+ expr
Mengembalikan nilai
String biner+Kembali ke penggabungan express1 dan express2
Angka yang dikembalikan adalah bilangan bulat atau floating point, atau serangkaian nilai:
Binari '+' mengembalikan expr1 ditambah expr2 <unk>.
Satuan <unk> + <unk> mengembalikan expr ((tidak menambahkan apa pun ke simetri operator satuan) <unk>.
Catatan
Anda dapat menggunakan operator arithmetic dengan angka dan array variabel. Dalam kasus menggunakan array, operator diterapkan pada elemen.
+=
Penggantian huruf <unk> berlaku untuk ekspresi angka atau string <unk>.
expr1 += expr2
Contoh
pine
// Equals to expr1 = expr1 + expr2.
a = 2
b = 3
a += b
// Result: a = 5.
plot(a)
Mengembalikan nilai
Untuk string, mengembalikan ekspr1 dan ekspr2 berurutan. Untuk angka, mengembalikan nilai integer atau floating point, atau serangkaian nilai.
Catatan
Anda dapat menggunakan operator arithmetic dengan angka dan array variabel. Dalam kasus menggunakan array, operator diterapkan pada elemen.
-
Pengurangan atau satuan negatif. Digunakan untuk ekspresi numerik.
expr1 - expr2
- expr
Mengembalikan nilai
Mengembalikan nilai integer atau floating point, atau serangkaian nilai:
Bilangan biner '+' kembali ke ekspr1 dikurangi ekspr2。
Satuan-Mengembalikan ekspresi negatif dari express.
Catatan
Anda dapat menggunakan operator arithmetic dengan angka dan array variabel. Dalam kasus menggunakan array, operator diterapkan pada elemen.
-=
Pengurangan hukum ditetapkan. Digunakan untuk ekspresi numerik.
expr1 -= expr2
Contoh
pine
// Equals to expr1 = expr1 - expr2.
a = 2
b = 3
a -= b
// Result: a = -1.
plot(a)
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
/
Pengecualian <unk> berlaku untuk ekspresi numerik <unk>
expr1 / expr2
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
/=
Tugas penghapusan. Digunakan untuk ekspresi numerik.
expr1 /= expr2
Contoh
pine
// Equals to expr1 = expr1 / expr2.
a = 3
b = 3
a /= b
// Result: a = 1.
plot(a)
Mengembalikan nilai
Bilangan bulat atau nilai floating point, atau serangkaian nilai.
<
Kurang dari ≠ berlaku untuk ekspresi angka ≠
expr1 < expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
<=
Kurang dari atau sama dengan ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠
expr1 <= expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
==
Persamaan ≠ ≠ ≠ ≠ ≠
expr1 == expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
=>
Operator '=>' digunakan untuk deklarasi fungsi yang didefinisikan pengguna danswitchDi dalam kalimat.
Fungsi deklarasi sintaksis adalah:
<identifier>([<parameter_name>[=<default_value>]], ...) =>
<local_block>
<function_result>
Satu.<local_block>adalah nol atau lebih kalimat Pine.
<function_result>adalah sebuah variabel, sebuah ekspresi, atau sebuah subset.
Contoh
pine
// single-line function
f1(x, y) => x + y
// multi-line function
f2(x, y) =>
sum = x + y
sumChange = ta.change(sum, 10)
// Function automatically returns the last expression used in it
plot(f1(30, 8) + f2(1, 3))
Catatan
Anda dapat mempelajari lebih lanjut tentang fungsi yang didefinisikan pengguna di halaman fungsi deklarasi dan skrip di buku panduan pengguna.
>
Lebih besar dari ≠ berlaku untuk ekspresi angka ≠
expr1 > expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
>=
Lebih besar atau sama dengan ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠
expr1 >= expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
?:
Operator Kondisi Triangular.
expr1 ? expr2 : expr3
Contoh
pine
// Draw circles at the bars where open crosses close
s2 = ta.cross(open, close) ? math.avg(open,close) : na
plot(s2, style=plot.style_circles, linewidth=2, color=color.red)
// Combination of ?: operators for 'switch'-like logic
c = timeframe.isintraday ? color.red : timeframe.isdaily ? color.green : timeframe.isweekly ? color.blue : color.gray
plot(hl2, color=c)
Mengembalikan nilai
Jika expr1 dinilai sebagai true, maka expr2, jika tidak, maka expr3。 Nilai nol ((0 dan NaN+, Infinity,-Infinity) dianggap sebagai false, dan nilai lainnya adalah true。
Catatan
Jika Anda tidak membutuhkannya, gunakan na sebagai cabang dari naelse.
Anda dapat menggunakan kombinasi dua atau lebih operator: untuk mewujudkan pernyataan yang mirip dengan kalimat switch () (lihat contoh di atas).
Anda dapat menggunakan operator arithmetic dengan angka dan array variabel. Dalam kasus menggunakan array, operator diterapkan pada elemen.
Lihat juga
na
[]
Seri subtitle。 Memberikan akses ke nilai-nilai sebelumnya dari seri expr1。 expr2 adalah jumlah k baris yang lalu, dan harus berjumlah。 Float akan dibulatkan ke bawah。
expr1[expr2]
Contoh
pine
// [] can be used to "save" variable value between bars
a = 0.0 // declare `a`
a := a[1] // immediately set current value to the same as previous. `na` in the beginning of history
if high == low // if some condition - change `a` value to another
a := low
plot(a)
Mengembalikan nilai
Sejumlah nilai.
Lihat juga
math.floor
and
Logika AND。 berlaku untuk ekspresi Boolean。
expr1 and expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
or
Logika OR。 berlaku untuk ekspresi Boolean。
expr1 or expr2
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
not
Logika terbalik ((NOT) ≠ berlaku untuk ekspresi Boolean ≠
not expr1
Mengembalikan nilai
Nilai-nilai Boolean, atau rangkaian nilai Boolean.
Kata kunci tipe data
bool
Kata kunci dari tipe bool <unk> ((Bool) untuk menyatakan variabel atau parameter secara eksplisit. Nilai dari variabel "Bool" dapat berupa true, false, atau na.
Contoh
pine
// bool
bool b = true // Same as `b = true`
b := na
plot(b ? open : close)
Catatan
Mengutip tipe secara eksplisit dalam deklarasi variabel adalah opsional, kecuali jika itu diinisialisasi dengan na. Lihat lebih banyak informasi tentang tipe Pine di halaman manual pengguna sistem tipe.
Lihat juga
var varip int float color string true false
int
Kata kunci dari tipe int ([integer]) untuk menyatakan variabel atau parameter secara eksplisit.
Contoh
pine
// int
int i = 14 // Same as `i = 14`
i := na
plot(i)
Catatan
Mengutip tipe secara eksplisit dalam deklarasi variabel adalah opsional, kecuali jika itu diinisialisasi dengan na. Lihat lebih banyak informasi tentang tipe Pine di halaman manual pengguna sistem tipe.
Lihat juga
var varip float bool color string
float
Kata kunci dari tipe float () untuk menyatakan variabel atau parameter secara eksplisit.
Contoh
pine
// float
float f = 3.14 // Same as `f = 3.14`
f := na
plot(f)
Catatan
Jenis yang disebutkan secara jelas dalam deklarasi variabel adalah opsional, kecuali jika itu diinisialisasi dengan na.
Lihat juga
var varip int bool color string
string
Kata kunci dari tipe "string" untuk menyatakan variabel atau parameter secara eksplisit.
Contoh
pine
// string
string s = "Hello World!" // Same as `s = "Hello world!"`
// string s = na // same as ""
plot(na, title=s)
Catatan
Mengutip tipe secara eksplisit dalam deklarasi variabel adalah opsional, kecuali jika itu diinisialisasi dengan na. Lihat lebih banyak informasi tentang tipe Pine di halaman manual pengguna sistem tipe.
Lihat juga
var varip int float bool str.tostring str.format
color
Kata kunci dari tipe "color" untuk menyatakan variabel atau parameter secara eksplisit.
Contoh
pine
// color
color textColor = color.green
if barstate.islastconfirmedhistory
runtime.log("test", textcolor = textColor)
Catatan
Tanda warna memiliki format berikut: #RRGGBB atau #RRGGBBAA. Pasangan huruf mewakili angka enam belas digit dari 00 ke FF ((0 ke 255 dalam desimal), di mana pasangan RR, GG dan BB adalah nilai persentase warna merah, hijau, dan biru. AA adalah transparansi warna (atau persentase alpha), di mana 00 tidak terlihat, FF tidak transparan.
Mengutip tipe secara eksplisit dalam deklarasi variabel adalah opsional, kecuali jika itu diinisialisasi dengan na. Lihat lebih banyak informasi tentang tipe Pine di halaman manual pengguna sistem tipe.
Lihat juga
var varip int float string color.rgb color.new
array
Kata kunci dari tipe array array yang digunakan untuk menyatakan variabel atau parameter secara eksplisit.array.new<type>,array.fromFungsi membuat objek array ((atau ID) }}.
Contoh
pine
// array
array<float> a = na
a := array.new<float>(1, close)
plot(array.get(a, 0))
Catatan
Array object selalu berupa array array.
Lihat juga
var array.new array.from
Objects
Object Object dalam bahasa PINE adalah contoh dari user-defined type (UDT), yang dapat dipahami sebagai kelas tanpa metode, yang memungkinkan pengguna untuk membuat jenis kustom dalam kebijakan yang mengatur nilai yang berbeda dalam satu entitas.
Definisi tipe
Mari kita definisikan tipe order untuk menyimpan informasi order:
pine
type order
float price
float amount
string symbol
- menggunakan
typeJenis pernyataan kata kunci. - type adalah nama tipe setelah kata kunci type
- Baris pertama type mendefinisikan nama tipe, kemudian menyusut menjadi empat spasi untuk mendefinisikan bidang yang berisi tipe tersebut.
- Setiap bidang harus menyatakan tipe datanya, misalnya int, float, string.
Menciptakan objek
Menggunakan tipe yang dinyatakan baik, panggilannew()Fungsi untuk membuat objek:
pine
order1 = order.new()
pine
order1 = order.new(100, 0.1, "BTC_USDT")
pine
order1 = order.new(amount = 0.1, symbol = "BTC_USDT", price = 100)
Anda juga dapat membuat objek kosong:
pine
order order1 = na
Di bawah ini adalah contoh nyata:
pine
type order
float price
float amount
string symbol
if strategy.position_size == 0 and open > close
strategy.entry("long", strategy.long, 1)
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)
// runtime.log(order1) // 输出 {"data":{"price":46002.8,"amount":1,"symbol":"swap"},"_meta":0,"_type":"order"}
Contoh kalimat ini:
pine
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)
Anda juga dapat menuliskannya dalam bentuk berikut:
pine
order order1 = na
order1 := order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)
Jenis objek untuk penggunaan kata kunci var
pine
//@version=5
indicator("Objects using `var` demo")
//@type A custom type to hold index, price, and volume information.
type BarInfo
int index = bar_index
float price = close
float vol = volume
//@variable A `BarInfo` instance whose fields persist through all iterations, starting from the first bar.
var BarInfo firstBar = BarInfo.new()
//@variable A `BarInfo` instance declared on every bar.
BarInfo currentBar = BarInfo.new()
// Plot the `index` fields of both instances to compare the difference.
plot(firstBar.index, "firstBar")
plot(currentBar.index, "currentBar")
Ketika menggunakan deklarasi kata kunci var untuk variabel yang diberikan pada objek dengan tipe yang ditentukan pengguna, kata kunci tersebut secara otomatis diterapkan pada semua bidang objek tersebut. Ini berarti bahwa objek yang dinyatakan melalui deklarasi kata kunci var akan mempertahankan statusnya di antara setiap iterasi tanpa perlu menginisialisasi kembali nilai bidangnya di setiap iterasi.
- FirstBar dideklarasikan menggunakan kata kunci var, sehingga bidangnya (index, price, vol) akan mempertahankan nilainya di setiap iterasi, mulai dari entri pertama hingga akhir entri terakhir.
- Obyek currentBar tidak menggunakan deklarasi kata kunci var, sehingga bidangnya akan diinisialisasi ulang pada setiap entri, dan akan ada objek baru pada setiap iterasi.
Dengan memetakan bidang indeks dari dua objek, Anda dapat membandingkan perbedaan di antara mereka. firstBar.index akan mempertahankan nilai yang ditetapkan sebelumnya dalam setiap iterasi, sementara currentBar.index akan di-inisialisasi kembali sebagai bar_index untuk item saat ini dalam setiap iterasi.
Jenis objek untuk penggunaan varip keyword
pine
//@version=5
indicator("Objects using `varip` fields demo")
//@type A custom type that counts the bars and ticks in the script's execution.
type Counter
int bars = 0
varip int ticks = 0
//@variable A `Counter` object whose reference persists throughout all bars.
var Counter counter = Counter.new()
// Add 1 to the `bars` and `ticks` fields. The `ticks` field is not subject to rollback on unconfirmed bars.
counter.bars += 1
counter.ticks += 1
// Plot both fields for comparison.
plot(counter.bars, "Bar counter", color.blue, 3)
plot(counter.ticks, "Tick counter", color.purple, 3)
Di Pine, menggunakan kata kunci varip dapat mengindikasikan bahwa bidang objek akan terus ada sepanjang proses eksekusi skrip, dan tidak akan bergulir kembali di kolom yang belum dikonfirmasi.
Dalam pernyataan tipe Counter, bidang bars tidak menggunakan kata kunci varip, sehingga akan bergulir di setiap kolom yang tidak dikonfirmasi. Bidang ticks menggunakan kata kunci varip, sehingga tidak akan bergulir di dalam kolom yang tidak dikonfirmasi.
Objek counter dinyatakan menggunakan kata kunci var, sehingga akan terus ada sepanjang proses eksekusi skrip.
Dalam setiap iterasi, bars dan ticks akan ditambahkan 1 ≠ bars akan berbalik di setiap kolom yang belum dikonfirmasi, sedangkan ticks tidak.
Akhirnya, dengan memetakan bidang counter.bars dan counter.ticks, perbedaan antara keduanya dapat dibandingkan. Nilai counter.bars akan bergulir kembali di setiap kolom yang belum dikonfirmasi, sedangkan nilai counter.ticks akan terus meningkat sampai akhir eksekusi skrip.
Mengubah Nilai Bidang
pine
type order
float price
float amount
string symbol
if strategy.position_size == 0 and open > close
strategy.entry("long", strategy.long, 1)
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)
if strategy.position_size != 0
runtime.log(order1)
order1.price := 999
order1.amount := 100
runtime.log(order1)
runtime.error("stop")
Dapat digunakan:=Operator penugasan ulang mengubah nilai dari bidang objek.
Koleksi objek
Contoh menyatakan sebuah array kosong yang akan menyimpan objek dari tipe order yang didefinisikan 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
pine
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
Pada Pine, objek dialokasikan melalui referensi. Ketika objek yang ada dialokasikan ke variabel baru, keduanya menunjuk ke objek yang sama.
pine
//@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 sebuah objek pivot1 dan mengatur bidang x-nya menjadi 1000. Kemudian, kita menyatakan bahwa sebuah pivot2 berisi variabel yang merujuk pada objek pivot1 tersebut, sehingga keduanya merujuk pada instansi yang sama. Oleh karena itu, mengubah pivot2.x juga akan mengubah pivot1.x, karena keduanya merujuk pada bidang x-nya dari objek yang sama.
Untuk membuat salinan yang independen dari objek asli, dalam hal ini kita dapat menggunakan built-in copy () metode. Dalam contoh ini, kita menyatakan pivot2 mengacu pada variabel dari contoh replikasi dari objek pivot1. Sekarang, mengubah pivot2.x tidak akan mengubah pivot1.x, karena itu mengacu pada bidang x sebagai objek yang terpisah:
pine
//@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 dicatat bahwa metode copy TradingView adalah shallow copy. Jika sebuah objek memiliki jenis bidang khusus (array, dll), maka bidang-bidang dalam shallow copy objek tersebut akan mengarah ke instansi yang sama dengan objek tersebut.
Platform FMZ langsung melakukan deep copy tanpa perlu melakukan prosesor tambahan, seperti contoh berikut:
Menyalin
pine
//@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 tes, labelInfo.copy ((labelInfo1) dieksekusi sebagai salinan dalam, mengubah labelInfo1 bidang apapun tidak akan mempengaruhi labelInfo2。
Methods
Metode dalam bahasa Pine adalah fungsi khusus yang terkait dengan jenis yang dibangun atau didefinisikan pengguna dari contoh tertentu. Dalam banyak hal, mereka adalah fungsi yang sama dengan fungsi biasa, tetapi menawarkan lebih pendek, lebih mudah tata bahasa. Pengguna dapat langsung menggunakan tanda titik untuk mengakses metode pada variabel, seperti mengakses bidang objek Pine.
Metode bawaan
Contoh dari kode skrip seperti ini:
pine
//@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)
Atau dengan kata lain:
pine
//@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)
Anda dapat melihat bahwa PINE mendukungMethodsSetelah itu, kodearray.avg(sourceArray)Jika kita menggunakan metode, kita bisa menuliskan:sourceArray.avg()。
Perhatian: FMZ tidak didukung untuk sementaraarray.avgIni adalah panggilan.
Metode yang didefinisikan pengguna
Pine memungkinkan pengguna untuk mendefinisikan metode kustom yang digunakan bersama dengan objek dari jenis built-in atau user-defined. Metode definisi pada dasarnya sama dengan fungsi definisi, tetapi dengan dua perbedaan utama:
- Kata kunci method harus disertakan sebelum nama fungsi.
- Parameter metode, di mana jenis parameter pertama harus dinyatakan secara eksplisit, karena menyatakan jenis objek yang akan dikaitkan dengan metode tersebut.
Misalnya, dalam kode berikut, kode untuk menghitung metrik Brin dibungkus dengan metode yang disesuaikan pengguna:
pine
//@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)
diubah menjadi:
pine
//@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 dapat melihat metode kustomisasi pengguna yang menggunakan pernyataan metode kata kunci: maintainQueue, yang pertama dari daftar parameter calcBB adalaharray<float>type ≠ menyatakan bahwa method adalaharray<float>Metode untuk variabel tipe, sehingga dapat dilihat dengan memanggil kode berikut untuk menghitung indikator Brin.
pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
Mengisi ulang Methods
Metode yang didefinisikan pengguna dapat mengalip dan memuat metode yang sudah ada yang memiliki identifier yang sama dengan metode yang didefinisikan pengguna. Fitur ini memungkinkan pengguna untuk mendefinisikan beberapa prosedur yang berhubungan dengan tanda tangan parameter yang berbeda di bawah nama metode yang sama. Sebagai contoh sederhana, misalkan kita ingin mendefinisikan sebuah metode untuk mengidentifikasi jenis variabel.
pine
//@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()Apa jenis muat ulang yang akan digunakan. Di platform FMZ, karena dasar skrip PINE diimplementasikan sebagai bahasa Javascript, maka jenis nilai akan dinilai sebagai data float.
Fungsi bawaan
Parameter yang ditransmisikan pada saat fungsi dipanggil, dapat diberikan nilai pada nama parameter, dapat langsung ditransmisikan ke variabel pada posisi parameter yang sesuai, dan juga mendukung penggunaan campuran. Misalnya:
pine
plot(close, title="test plot") // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"
Setelah memberikan nilai nama parameter, maka tidak bisa lagi langsung mentransfer variabel sebagai parameter, kemudian parameter yang ditransfer harus ditulis dalam bentuk penugasan nama parameter.
pine
// plot(close, title="test", color.red) // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red) // 正确写法
timeframe
timeframe.in_seconds
akan dikirim ketimeframePeriode waktu parameter dikonversi menjadi detik.
timeframe.in_seconds(timeframe)
Contoh
pine
// 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)
Mengembalikan nilai
timeframeInt adalah bentuk dari bilangan detik dalam satu baris K.
parameter
timeframe(simple string) Periode. opsional. Default adalah timeframe.period.
Catatan
Untuktimeframe>= Fungsi '1M' berdasarkan 30.4167 (365/12) hari dalam satu bulan.
Lihat juga
input.timeframe timeframe.period
ticker
ticker.heikinashi
Membuat sebuah kode identifier untuk smoothing mean K linearity.
ticker.heikinashi(symbol)
Contoh
pine
heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)
heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close)
plot(heikinashi_close)
plot(heikinashi_aapl_60_close)
Mengembalikan nilai
String nilai dari kode saham, dapat diberikan ke fungsi request.security。
parameter
symbol(simple string) Pengidentifikasi kode barang.
Lihat juga
syminfo.tickerid syminfo.ticker request.security
request
request.data
Data eksternal diminta.
request.data(url, attribute)
Contoh
pine
/*backtest
start: 2024-09-01 16:00:00
end: 2024-10-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["RunMode",1,358374],["ZPrecision",0,358374]]
*/
var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data"
spotPrice = request.data(chart_data, "$.spot_close_price")
futuresPrice = request.data(chart_data, "$.future_close_price")
diff = futuresPrice - spotPrice
plot(diff, "永续-现货差价")
plot(futuresPrice, "期货价格", overlay=true)
plot(spotPrice, "现货价格", overlay=true)
if diff > 80 and strategy.position_size >= 0
runtime.log("diff > 80")
strategy.entry("Enter Short", strategy.short)
if diff < 60 and strategy.position_size <= 0
runtime.log("diff < 60")
strategy.entry("Enter Short", strategy.long)
Mengembalikan nilai
parameterattributeSeri data yang ditentukan.
parameter
-
url(simple string) Url sumber data yang diminta, format data yang ditanggapi sumber data harus sesuai dengan persyaratan ((setidaknya termasuk atribut time, data):{"data": [], "schema": ["time", "data"]}❚ Format data yang dapat digunakan adalah:json{ "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 dan mengembalikan data yang dibutuhkan. Misalnya:"$.spot_close_price",menggunakan$.Sebagai prefix, nama properti konsisten dengan properti di bidang data dalam data yang ditanggapi pada saat permintaan sumber data
Jika ada kesalahan, periksa.request.dataApakah rentang waktu yang diminta sesuai dengan rentang waktu yang telah ditetapkan. Jika data tidak ditemukan pada rentang waktu yang telah ditentukan, maka akan terjadi kesalahan.
Data-data data query SQL statement dalam contoh ini:
sql
WITH latest_data AS (
SELECT
klines.spot_1d.Time AS time,
CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data
FROM
klines.spot_1d
JOIN
klines.future_1d
ON
klines.spot_1d.Time = klines.future_1d.Time
WHERE
klines.spot_1d.Symbol = 'btc_usdt'
AND
klines.future_1d.Symbol = 'btc_usdt.swap'
AND
klines.spot_1d.Exchange = 'Binance'
AND
klines.future_1d.Exchange = 'Binance'
ORDER BY
klines.spot_1d.Time DESC
LIMIT 100
)
SELECT * FROM latest_data
ORDER BY time ASC;
Ada yang bisa dilihat di FMZ.Eksplorasi DataPermintaan halaman, membuat tautan data, yang digunakan dalam contohhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data。
request.security
Meminta varietas/resolusi lain.
request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency)
Contoh
pine
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)
Mengembalikan nilai
Seri Permintaan
parameter
symbol(simple string) Kode produk.timeframe(simple string) Periode waktu。 String kosong akan diinterpretasikan sebagai periode waktu saat ini dari grafik。expression(series int/float/bool/color) dapat dihitung dari panggilan request.security dan mengembalikan sebuah ekspresi. Ia bisa berupa sebuah seri atau sebuah subset yang berisi elemen yang dapat diubah menjadi seri.gaps(barmerge_gaps) Memberikan strategi penggabungan data yang diminta (yang meminta data untuk digabungkan secara otomatis dengan rangkaian data OHLC utama). Nilai yang mungkin: barmerge.gaps_on, barmerge.gaps_off. barmerge.gaps_on - data yang diminta digabungkan dengan kemungkinan kesenjangan (na value). barmerge.gaps_off - data yang diminta digabungkan secara terus menerus, semua kesenjangan diisi dengan nilai yang ada sebelumnya.lookahead(barmerge_lookahead) memberikan kebijakan penggabungan data yang diminta. Nilai yang mungkin: barmerge.lookahead_on, barmerge.lookahead_off. Mulai dari versi 3, default adalah barmerge.lookahead_off. Perhatikan bahwa perilaku sama dengan real time, hanya berbeda dalam sejarah.ignore_invalid_symbol(const bool) Sebuah parameter opsional. Jika barang yang ditentukan tidak ditemukan, maka tindakan fungsi ditentukan: jika false, skrip akan berhenti dan mengembalikan kesalahan saat dijalankan; jika true, fungsi akan mengembalikan na dan melanjutkan eksekusi. Nilai default adalah false.currency(simple string) Mengkonversi nilai terkait mata uang barang (seperti OHLC) ke mata uang. Kemudian menghitung nilai setelah konversi. <unk>expression <unk>. Tingkat konversi yang digunakan didasarkan pada nilai tukar harian FX_IDC hari sebelumnya. <unk>relatif dengan garis K yang dihitung.
Catatan
Kode PineScript yang menggunakan fitur ini dapat melakukan perhitungan yang berbeda untuk catatan sejarah dan data real-time.
Jika Anda ingin menetapkan parameter tambahan untuk barang yang diminta, seperti periode transaksi atau jenis penyesuaian, Anda dapat menggunakan fungsi ticker.new ().
Tidak dapat menggunakan variabel 'ticker' untuk memberikan perbedaan titik ke fungsi ini. Anda dapat menggunakan variabel 'ticker.new' atau representasi string dari kode saham, seperti AAPL+MSFT*TSLA”。
Saat ini, satu skrip dapat memiliki hingga 40 panggilan request.security.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Resolusi yang diizinkan adalah:
1S, 5S, 15S, 30S - selang detik (periode grafik harus kurang dari atau sama dengan periode yang diminta)
Dari 1 sampai 1440 menit
Dari 1D ke 365D
Dari 1W ke 52W beberapa minggu
Dari 1M sampai 12M beberapa bulan
Lihat juga
syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on
str
str.contains
JikasourceString berisistrSubstring, maka dikembalikan true, jika tidak dikembalikan false
str.contains(source, str)
Contoh
pine
// If the current chart is a continuous futures chart, e.g “BTC1!”, then the function will return true, false otherwise.
var isFutures = str.contains(syminfo.tickerid, "!")
plot(isFutures ? 1 : 0)
Mengembalikan nilai
Jika disourceMenemukan dalam stringstr, maka benar, jika tidak maka salah.
parameter
source(series string) string sumberstr(series string) Substring yang akan dicari.
str.endswith
JikasourceString denganstrSubstring yang ditentukan di akhir akan dikembalikan true, jika tidak akan dikembalikan false.
str.endswith(source, str)
Mengembalikan nilai
JikasourceString denganstrSubstring yang ditentukan di dalam berakhir dengan true atau false.
parameter
source(series string) string sumberstr(series string) Substring yang akan dicari.
Lihat juga
str.startswith
str.startswith
JikasourceString denganstrSubstring yang ditentukan di awal akan mengembalikan true, jika tidak akan mengembalikan false.
str.startswith(source, str)
Mengembalikan nilai
JikasourceString denganstrSubstring yang ditentukan di dalam dimulai dengan true, jika tidak dengan false.
parameter
source(series string) string sumberstr(series string) Substring yang akan dicari.
Lihat juga
str.endswith
str.substring
Mengembalikan string baru, yaitusourceSubstring dari string ≠ Substring dari stringbegin_posKarakter dimulai pada indeks yang ditentukan, dan diperluas kesource'end_pos - 1' dari string.
str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)
Contoh
pine
sym= "EXCHANGE_NAME:SYMBOL_NAME"
pos = str.pos(sym, ":") // Get position of ":" character
tkr= str.substring(sym, pos+1) // "SYMBOL_NAME"
if barstate.islastconfirmedhistory
runtime.log(tkr)
Mengembalikan nilai
Substring yang diambil dari string sumber.
parameter
source(series string) String sumber dari substring tersebut.begin_pos(series int) posisi awal dari substring yang diekstrak.end_pos(series int) Ending position。 it is exclusive ((string yang diekstrak tidak termasuk karakter di posisi tersebut)。 optional。 default issourcePanjang string.
Catatan
Indeks string dimulai dari 0. Jikabegin_possetaraend_pos, fungsi mengembalikan string kosong.
Lihat juga
str.contains str.pos str.match
str.tonumber
str.tonumber(string)
Mengembalikan nilai
floating-point string jika berisi bilangan valid, atau na。
parameter
string(series string) bentuk representasi string dari int atau float
str.format
Konversi string format dan nilai ke string format. String format dapat berisi teks dan tanda hubung dalam tanda kurung besar {} untuk setiap nilai yang akan diformat. Setiap tanda hubung mencakup indeks yang akan menggantikan parameter yang diperlukan untuknya (bermula dari 0), dan tanda tanda hubung yang dapat dipilih. Indeks menunjukkan posisi parameter tersebut dalam daftar parameter str.format.
str.format(formatString, arg0, arg1, ...)
Contoh
pine
// The format specifier inside the curly braces accepts certain modifiers:
// - Specify the number of decimals to display:
s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3
runtime.log(s1)
// - Round a float value to an integer:
s2 = str.format("{0,number,integer}", 1.34) // returns: 1
runtime.log(s2)
// - Display a number in currency:
s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34
runtime.log(s3)
// - Display a number as a percentage:
s4 = str.format("{0,number,percent}", 0.5) // returns: 50%
runtime.log(s4)
// EXAMPLES WITH SEVERAL ARGUMENTS
// returns: Number 1 is not equal to 4
s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4)
runtime.log(s5)
// returns: 1.34 != 1.3
s6 = str.format("{0} != {0, number, #.#}", 1.34)
runtime.log(s6)
// returns: 1 is equal to 1, but 2 is equal to 2
s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52)
runtime.log(s7)
// returns: The cash turnover amounted to $1,340,000.00
s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000)
runtime.log(s8)
// returns: Expected return is 10% - 20%
s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2)
runtime.log(s9)
Mengembalikan nilai
Senar format.
parameter
formatString(series string) format string。arg0, arg1, ...(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) Nilai yang harus diformat.
Catatan
Semua 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 "'{''" bukan gaya yang valid.
str.length
Mengembalikan bilangan bulat yang sesuai dengan jumlah karakter dalam string tersebut.
str.length(string)
Mengembalikan nilai
Jumlah karakter dalam string sumber.
parameter
string(series string) string sumber
str.lower
Mengembalikan sebuah string baru di mana semua huruf diubah menjadi huruf kecil.
str.lower(source)
Mengembalikan nilai
Semua huruf diubah menjadi string baru huruf kecil.
parameter
source(series string) string yang akan dikonversi.
Lihat juga
str.upper
str.upper
Mengembalikan string baru di mana semua huruf diubah menjadi huruf besar.
str.upper(source)
Mengembalikan nilai
Semua huruf diubah menjadi string baru dengan huruf kapital.
parameter
source(series string) string yang akan dikonversi.
Lihat juga
str.lower
str.match
Jika cocokregexEkspresi Reguler, akan dikembalikansourceString anak dari string, jika tidak, kembali 'na'
str.match(source, regex)
Contoh
pine
s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!")
// finding first substring that matches regular expression "[\w]+:[\w]+"
var string tickerid = str.match(s, "[\\w]+:[\\w]+")
if barstate.islastconfirmedhistory
runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"
Mengembalikan nilai
sourceString anak baru string, jika itu cocok denganregexEkspresi formalnya adalah 'na'.
parameter
source(series string) string sumberregex(series string) Ekspresi reguler yang cocok dengan string ini.
Catatan
Fungsi PengembaliansourceEkspresi reguler yang muncul pertama kali dalam string.
regexSimbol backslash dalam string memerlukan penggunaan backslash tambahan untuk menterjemahkan, seperti\d<unk> mewakili ekspresi reguler <unk>\d<unk>。
Lihat juga
str.contains str.substring
str.pos
KembalisourcePertama kali muncul dalam stringstrJika tidak, kembali 'na' <unk>
str.pos(source, str)
Mengembalikan nilai
strString disourcePosisi dalam string.
parameter
source(series string) string sumberstr(series string) Substring yang akan dicari.
Catatan
Indeks string dimulai dari 0.
Lihat juga
str.contains str.match str.substring
str.replace
Mengembalikan string baru yang muncul N+1 kalitargetString dan yang sebelumnyatargetString diganti denganreplacementstring, di mana N berada dioccurrenceTentukan .N sebagai indeks pencocokan yang muncul dalam string sumber sebagai string target yang akan diganti.
str.replace(source, target, replacement, occurrence)
Contoh
pine
var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"
// Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string
var newSource = str.replace(source, "EXCHANGE1", "EXCHANGE2", 0)
if barstate.islastconfirmedhistory
// Display "EXCHANGE2:SYMBOL1 / EXCHANGE1:SYMBOL2"
runtime.log(newSource)
Mengembalikan nilai
String yang telah diproses
parameter
source(series string) string sumbertarget(series string) diganti dengan stringreplacement(series string) String yang akan disisipkan dan bukan string target.occurrence(series int) String target yang akan diganti adalah indeks yang cocok yang muncul di string sumber. Indeks yang cocok pertama dimulai dari 0.
Lihat juga
str.replace_all str.match
str.replace_all
Dengan menggantikan string, menggantikan string target yang muncul setiap kali dalam string sumber.
str.replace_all(source, target, replacement)
Mengembalikan nilai
String yang telah diproses
parameter
source(series string) string sumbertarget(series string) diganti dengan stringreplacement(series string) Setiap kali muncul string target akan menggantikan string
str.split
Pembagian string menjadi sub-array string dan mengembalikan ID arraynya.
str.split(string, separator)
Mengembalikan nilai
ID dari string array.
parameter
string(series string) string sumberseparator(series string) String yang memisahkan setiap string anak.
str.tostring
str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)
Mengembalikan nilai
valueString argumen menunjukkan bentuk。
JikavalueJika parameter adalah string, maka akan dikembalikan seperti aslinya.
KetikavalueUntuk na, fungsi mengembalikan string NaN<unk>.
parameter
value(series int/float/bool/string/int[]/float[]/bool[]/string[]) yang unsurnya dikonversi menjadi nilai string atau array ID。format(series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is '#.##########'.
Catatan
Format dengan nilai float juga akan mengoreksi nilai-nilai ini jika diperlukan, misalnya str.tostring ((3.99, '#') akan mengembalikan <unk>4<unk>。
Untuk menunjukkan angka nol, gunakan '0' dan bukan '#'. Misalnya, '#.000'[2].
Ketika menggunakan format.mintick, nilai tersebut akan disingkirkan ke angka terdekat yang dapat dibagi tanpa sisa dengan syminfo.mintick.
Jika argumen x adalah string, maka akan dikembalikan nilai string yang sama.
Bool tipe argumen yang dikembalikan <unk>true<unk> atau <unk>false<unk>
Ketika x adalah na, fungsi mengembalikan <unk>NaN<unk>。
color
color.new
Fungsi warna akan menentukan transparansi yang akan diterapkan pada warna yang diberikan.
color.new(color, transp)
Contoh
pine
plot(close, color=color.new(color.red, 50))
Mengembalikan nilai
Warna dengan transparansi tertentu.
parameter
color(series color)transp(series int/float) Nilai yang tersedia adalah dari 0 (tidak transparan) hingga 100 (tidak terlihat)
Catatan
Menggunakan parameter yang sangat banyak (misalnya, <unk>simple<unk>, <unk>input<unk>, atau <unk>series<unk>) akan mempengaruhi warna yang ditampilkan di halaman tag setelan / gaya<unk> skrip. Silakan lihat manual pengguna untuk informasi lebih lanjut.
color.rgb
Menggunakan model warna RGB untuk membuat warna baru dengan transparansi.
color.rgb(red, green, blue, transp)
Contoh
pine
plot(close, color=color.rgb(255, 0, 0, 50))
Mengembalikan nilai
Warna dengan transparansi tertentu.
parameter
red(series int/float) warna merah. Nilai yang mungkin adalah dari 0 sampai 255green(series int/float) warna hijau. Nilai yang mungkin adalah dari 0 sampai 255blue(series int/float) Bulu. Nilai yang mungkin adalah dari 0 sampai 255transp(series int/float) opsional. Warna transparan. Nilai yang mungkin dari 0 (tidak transparan) hingga 100 (transparan). Nilai default adalah 0 (transparan).
Catatan
Menggunakan parameter yang sangat banyak (misalnya, <unk>simple<unk>, <unk>input<unk>, atau <unk>series<unk>) akan mempengaruhi warna yang ditampilkan di halaman tag setelan / gaya<unk> skrip. Silakan lihat manual pengguna untuk informasi lebih lanjut.
runtime
runtime.debug
Mencetak informasi variabel di panel kontrol.
FMZ PINE memiliki fungsi khusus untuk bahasa.runtime.debug(value), hanya ada satu argumen.
runtime.log
Keluar dari jurnal.
FMZ PINE memiliki fungsi khusus untuk bahasa.runtime.log(1, 2, 3, close, high, ...), dapat mengirimkan beberapa parameter.
runtime.error
Pada saat panggilan, akan menyebabkan kesalahan saat berjalan, dan membawamessagePesan kesalahan yang ditentukan dalam parameter.
runtime.error(message)
parameter
message (series string) pesan kesalahan
input
input
Input ditambahkan ke halaman label input dari setelan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini secara otomatis mendeteksi jenis parameter yang digunakan untuk defval dan menggunakan plugin input yang sesuai.
input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)
Contoh
pine
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)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const int/float/bool/string/color or source-type built-ins) Menentukan nilai default dari variabel input yang disarankan di halaman label pengaturan tabung / tabung masukan skrip, yang dapat diubah oleh pengguna skrip. Fungsi built-in tipe sumber adalah variabel floating point dalam rangkaian yang menentukan sumber penghitungan:close、hlc3Dan sebagainya.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.
Catatan
Nilai yang dikembalikan dari fungsi input harus selalu diberikan kepada variabel. Lihat contoh di atas
Lihat juga
input.bool input.color input.int input.float input.string input.timeframe input.source
input.source
Menambahkan input ke halaman label input dari pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fitur ini menambahkan menu unduh yang memungkinkan pengguna memilih sumber perhitungan, seperti close, hl2, dll. Jika skrip hanya berisi satu panggilan input.source (), pengguna juga dapat memilih sumber output dari indikator lain di grafik.
input.source(defval, title, tooltip, inline, group)
Contoh
pine
i_src = input.source(close, "Source")
plot(i_src)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(series int/float) Menentukan nilai default dari variabel input yang disarankan dalam halaman label pengaturan / input filter skrip, yang dapat diubah oleh pengguna.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.
Catatan
Hasil dari fungsi input.source harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.bool input.int input.float input.string input.timeframe input.color input
input.string
Tambahkan input ke kartu pilihan input dari pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input string ke input skrip.
input.string(defval, title, options, tooltip, inline, group, confirm)
Contoh
pine
i_text = input.string("Hello!", "Message")
runtime.log(i_text)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const string) Menentukan nilai default dari variabel input yang disarankan di halaman pengaturan tab / tab input dari skrip, yang dapat diubah oleh pengguna.optionsJika parameter digunakan bersama, maka nilai tersebut harus menjadi salah satu dari keduanya.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.options(List of constants: [<type>...]) Daftar pilihan yang tersedia.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka pengguna akan diminta untuk mengkonfirmasi nilai input sebelum menambahkan indikator ke grafik. Default adalah false.
Catatan
Hasil dari fungsi input.string harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.bool input.int input.float input.timeframe input.source input.color input
input.bool
Input ditambahkan ke halaman label input dari pengaturan skrip, yang memungkinkan Anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambahkan tanda pilih untuk input dari skrip.
input.bool(defval, title, tooltip, inline, group, confirm)
Contoh
pine
i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const bool) Menentukan nilai default dari variabel input yang disarankan di halaman tag pengaturan kotak / kotak input dari skrip, yang dapat diubah oleh pengguna.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka pengguna akan diminta untuk mengkonfirmasi nilai input sebelum menambahkan indikator ke grafik. Default adalah false.
Catatan
Hasil dari fungsi input.bool harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.int input.float input.string input.timeframe input.source input.color input
input.int
Menambahkan input ke halaman label input dari pengaturan skrip, yang memungkinkan Anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input integer ke input dari skrip.
input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)
Contoh
pine
i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1)
plot(ta.sma(close, i_len1))
i_len2 = input.int(10, "Length 2", options=[5, 10, 21])
plot(ta.sma(close, i_len2))
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const int) Menentukan nilai default dari variabel input yang disarankan di halaman tag pengaturan kotak / kotak input skrip, yang dapat diubah oleh pengguna skrip.optionsJika parameter digunakan bersama, maka nilai tersebut harus menjadi salah satu dari keduanya.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.minval(const int) Minimal kemungkinan nilai dari variabel masukan。 opsional。maxval(const int) Nilai maksimum yang mungkin dari variabel masukan.step(const int) Nilai panjang langkah untuk menambah/mengurangi input. Opsional. Default adalah 1options(tuple of const int values: [val1, val2, ...]) Daftar pilihan yang dipilih dari menu drop-down, dipisahkan dengan tanda koma dan dibungkus dengan tanda kurung:[val1, val2, ...] ≠ tidak dapat digunakan saat menggunakan parameter iniminval、maxvalDanstepParametertooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka pengguna akan diminta untuk mengkonfirmasi nilai input sebelum menambahkan indikator ke grafik. Default adalah false.
Catatan
Hasil dari fungsi input.int harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.bool input.float input.string input.timeframe input.source input.color input
input.float
Menambahkan input ke halaman label input dari pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input floating point ke input dari skrip.
input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)
Contoh
pine
i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02)
plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green)
i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14])
plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const int/float) Menentukan nilai default dari variabel input yang disarankan di halaman tag pengaturan tabung / tabung input skrip, yang dapat diubah oleh pengguna skrip.optionsJika parameter digunakan bersama, maka nilai tersebut harus menjadi salah satu dari keduanya.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.minval(const int/float) Minimal kemungkinan nilai dari input variabel。 opsional。maxval(const int/float) Nilai maksimum dari variabel masukan。 opsional。step(const int/float) untuk menambah/mengurangi input. Opsional. Default adalah 1options(tuple of const int/float values: [val1, val2, ...]) Daftar pilihan yang dipilih dari menu drop-down, dipisahkan dengan tanda koma dan dibungkus dengan tanda kurung:[val1, val2, ...] ≠ tidak dapat digunakan saat menggunakan parameter iniminval、maxvalDanstepParametertooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka pengguna akan diminta untuk mengkonfirmasi nilai input sebelum menambahkan indikator ke grafik. Default adalah false.
Catatan
Hasil dari fungsi input.float harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.bool input.int input.string input.timeframe input.source input.color input
input.color
Input ditambahkan ke halaman label input dari pengaturan skrip, yang memungkinkan Anda untuk memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambahkan pemilih warna, yang memungkinkan pengguna untuk memilih warna dan transparansi dari panel warna atau enam belas digit.
input.color(defval, title, tooltip, inline, group, confirm)
Contoh
pine
i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const color) Menentukan nilai default dari variabel input yang disarankan dalam halaman label pengaturan kotak / kotak input skrip, yang dapat diubah oleh pengguna.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka pengguna akan diminta untuk mengkonfirmasi nilai input sebelum menambahkan indikator ke grafik. Default adalah false.
Catatan
Hasil dari fungsi input.color harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.bool input.int input.float input.string input.timeframe input.source input
input.price
Tambahkan input harga ke halaman tag pengaturan/input dari script.confirm = trueAktifkan mode input interaktif dan pilih harga dengan mengklik grafik.
input.price(defval, title, tooltip, inline, group, confirm)
Contoh
pine
price1 = input.price(title="Date", defval=42)
plot(price1)
price2 = input.price(54, title="Date")
plot(price2)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const int/float) Menentukan nilai default dari variabel input yang disarankan di halaman label pengaturan kotak / kotak input skrip, yang dapat diubah oleh pengguna.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka aktifkan mode input interaktif dan selesaikan pilihan dengan mengklik grafik saat menambahkan indikator ke grafik, atau dengan memilih indikator dan kemudian memindahkan pilihan. Opsional.
Catatan
Dalam mode interaktif, jika dua fungsi dipanggil keinlineParameter menggunakan parameter yang sama, Anda dapat menggunakan input waktu dengan input harga.
Lihat juga
input.bool input.int input.float input.string input.resolution input.source input.color input
input.timeframe
Input ditambahkan ke halaman label input dari pengaturan skrip, yang memungkinkan Anda memberikan opsi konfigurasi kepada pengguna skrip. Fungsi ini menambahkan daftar drop-down yang memungkinkan pengguna memilih periode waktu tertentu melalui selector periode waktu dan mengembalikannya sebagai string.
input.timeframe(defval, title, options, tooltip, inline, group, confirm)
Contoh
pine
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security(syminfo.tickerid, i_res, close)
plot(s)
Mengembalikan nilai
Masukkan nilai variabel
parameter
defval(const string) Menentukan nilai default dari variabel input yang disarankan di halaman pengaturan tab / tab input dari skrip, yang dapat diubah oleh pengguna.optionsJika parameter digunakan bersama, maka nilai tersebut harus menjadi salah satu dari keduanya.title(const string) judul yang dimasukkan. Jika tidak ditentukan, nama variabel digunakan sebagai judul yang dimasukkan. Jika judul ditentukan, tetapi judulnya kosong, maka namanya akan menjadi string kosong.options(tuple of const string values: [val1, val2, ...]) Daftar pilihan yang tersedia.tooltip(const string) Senar ini akan ditampilkan kepada pengguna saat mouse menempel di ikon tooltip.inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak menampilkan string yang digunakan sebagai argumen. Ini hanya digunakan untuk mengidentifikasi input yang termasuk dalam baris yang sama.group(const string) Menggunakan senar nomor parameter yang sama untuk membuat header di atas semua input. Senar ini juga digunakan sebagai teks header.confirm(const bool) Jika true, maka pengguna akan diminta untuk mengkonfirmasi nilai input sebelum menambahkan indikator ke grafik. Default adalah false.
Catatan
Hasil dari fungsi input.timeframe harus selalu dialokasikan ke satu variabel, lihat contoh di atas.
Lihat juga
input.bool input.int input.float input.string input.source input.color input
input.integer
Tidak ada
input.resolution
Tidak ada
ta
ta.alma
Arnaud Legoux Moving Average. Ini menggunakan distribusi Gaussian sebagai bobot rata-rata bergerak.
ta.alma(series, length, offset, sigma)
ta.alma(series, length, offset, sigma, floor)
Contoh
pine
plot(ta.alma(close, 9, 0.85, 6))
// same on pine, but much less efficient
pine_alma(series, windowsize, offset, sigma) =>
m = offset * (windowsize - 1)
//m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true
s = windowsize / sigma
norm = 0.0
sum = 0.0
for i = 0 to windowsize - 1
weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2)))
norm := norm + weight
sum := sum + series[windowsize - i - 1] * weight
sum / norm
plot(pine_alma(close, 9, 0.85, 6))
Mengembalikan nilai
Arnaud Legoux rata-rata bergerak
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).offset(simple int/float) Kontrol keseimbangan antara kelancaran ((lebih dekat 1) dan responsif ((lebih dekat 0)).sigma(simple int/float) Mengubah kelancaran ALMA. Semakin besar sigma, semakin halus ALMA.floor(simple bool) Parameter yang dapat dipilih. Sebelum menghitung ALMA, tentukan apakah penghitungan bias adalah batas bawah. Nilai default adalah false.
Lihat juga
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma
ta.sma
Fungsi sma mengembalikan nilai rata-rata bergerak, yaitu nilai akhir y dari x, dibagi dengan y。
ta.sma(source, length)
Contoh
pine
plot(ta.sma(close, 15))
// same on pine, but much less efficient
pine_sma(x, y) =>
sum = 0.0
for i = 0 to y - 1
sum := sum + x[i] / y
sum
plot(pine_sma(close, 15))
Mengembalikan nilai
lengthGaris K yang dikembalikansourceRata-rata bergerak sederhana.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma
ta.cog
Cog adalah sebuah indikator yang didasarkan pada statistik dan rasio emas Fibonacci.
ta.cog(source, length)
Contoh
pine
plot(ta.cog(close, 10))
// the same on pine
pine_cog(source, length) =>
sum = math.sum(source, length)
num = 0.0
for i = 0 to length - 1
price = source[i]
num := num + price * (i + 1)
-num / sum
plot(pine_cog(close, 10))
Mengembalikan nilai
Fokus
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.stoch
ta.dev
Perbedaan antara seri pengukuran dengan ta.sma
ta.dev(source, length)
Contoh
pine
plot(ta.dev(close, 10))
// the same on pine
pine_dev(source, length) =>
mean = ta.sma(source, length)
sum = 0.0
for i = 0 to length - 1
val = source[i]
sum := sum + math.abs(val - mean)
dev = sum/length
plot(pine_dev(close, 10))
Mengembalikan nilai
lengthGaris K yang dikembalikansourcePerbedaan.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.variance ta.stdev
ta.stdev
ta.stdev(source, length, biased)
Contoh
pine
plot(ta.stdev(close, 5))
//the same on pine
isZero(val, eps) => math.abs(val) <= eps
SUM(fst, snd) =>
EPS = 1e-10
res = fst + snd
if isZero(res, EPS)
res := 0
else
if not isZero(res, 1e-4)
res := res
else
15
pine_stdev(src, length) =>
avg = ta.sma(src, length)
sumOfSquareDeviations = 0.0
for i = 0 to length - 1
sum = SUM(src[i], -avg)
sumOfSquareDeviations := sumOfSquareDeviations + sum * sum
stdev = math.sqrt(sumOfSquareDeviations / length)
plot(pine_stdev(close, 5))
Mengembalikan nilai
Kekurangan standar
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).biased(series bool) menentukan estimasi yang harus digunakan. Opsional. Default adalah true.
Catatan
JikabiasedJika benar, fungsi akan menggunakan perkiraan bias dari keseluruhan, dan jika salah - perkiraan tidak bias dari sampel.
Lihat juga
ta.dev ta.variance
ta.ema
Fungsi ema mengembalikan rata-rata bergerak bertimbangan indeks. Dalam ema, faktor berat menurun secara indeks. Ini dihitung menggunakan rumus berikut: EMA = alpha * source + (1 - alpha) * EMA[1], di mana alpha = 2 / (length + 1) 。
ta.ema(source, length)
Contoh
pine
plot(ta.ema(close, 15))
//the same on pine
pine_ema(src, length) =>
alpha = 2 / (length + 1)
sum = 0.0
sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_ema(close,15))
Mengembalikan nilai
sourceIndeks rata-rata bergerak, alpha = 2 / (panjang + 1) ◦
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(simple int) Jumlah baris K (panjang).
Catatan
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma
ta.wma
Fungsi wma yang dikembalikanlengthGaris K.sourcePada wma, faktor berat berkurang dengan pangkat arithmetik.
ta.wma(source, length)
Contoh
pine
plot(ta.wma(close, 15))
// same on pine, but much less efficient
pine_wma(x, y) =>
norm = 0.0
sum = 0.0
for i = 0 to y - 1
weight = (y - i) * y
norm := norm + weight
sum := sum + x[i] * weight
sum / norm
plot(pine_wma(close, 15))
Mengembalikan nilai
lengthGaris K yang dikembalikansourceRata-rata bergerak berbobot.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma
ta.swma
Rata-rata bergerak simetris berat dengan panjang tetap: 4.[1/6,2 / 6,2 / 6,1 / 6]。
ta.swma(source)
Contoh
pine
plot(ta.swma(close))
// same on pine, but less efficient
pine_swma(x) =>
x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))
Mengembalikan nilai
Simetris rata-rata bergerak berbobot.
parameter
source(series int/float) sumber seri。
Lihat juga
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma
ta.hma
Fungsi hma mengembalikan HMA dari HMA.
ta.hma(source, length)
Contoh
pine
src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)
Mengembalikan nilai
Hull Moving Average dari 'source' untuk kolom 'length'
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(simple int) Jumlah baris K
Lihat juga
ta.ema ta.rma ta.wma ta.vwma ta.sma
ta.rma
Rata-rata bergerak yang digunakan dalam RSI. Ini adalah rata-rata bergerak indeks tertimbang, dengan alpha tertimbang = 1 / panjang.
ta.rma(source, length)
Contoh
pine
plot(ta.rma(close, 15))
//the same on pine
pine_rma(src, length) =>
alpha = 1/length
sum = 0.0
sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_rma(close, 15))
Mengembalikan nilai
sourceJadi kita akan melihat bahwa kita akan mendapatkan nilai rata-rata bergerak indeks, dan kita akan mendapatkan nilai rata-rata bergerak indeks.length。
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(simple int) Jumlah baris K (panjang).
Lihat juga
ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi
ta.rsi
Indeks intensitas relatif.lengthK onlinesourceperubahan ke atas dan ke bawahta.rma()Dihitung.
ta.rsi(source, length)
Contoh
pine
plot(ta.rsi(close, 7))
// same on pine, but less efficient
pine_rsi(x, y) =>
u = math.max(x - x[1], 0) // upward ta.change
d = math.max(x[1] - x, 0) // downward ta.change
rs = ta.rma(u, y) / ta.rma(d, y)
res = 100 - 100 / (1 + rs)
res
plot(pine_rsi(close, 7))
Mengembalikan nilai
Indeks Relatif Lemah (RSI)
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(simple int) Jumlah baris K (panjang).
Lihat juga
ta.rma
ta.tsi
Indeks Kekuatan dan Kelemahan Nyata. Ini adalah rata-rata bergerak yang menggunakan dinamika potensial instrumen keuangan.
ta.tsi(source, short_length, long_length)
Mengembalikan nilai
Indeks Kekuatan dan Kelemahan Nyata.[Nilai dalam -1,1]
parameter
source(series int/float) sumber seri。short_length(simple int) Panjang pendek。long_length(simple int) Panjang garis panjang。
ta.roc
Fungsi roc (perubahan rasio) ditampilkansourcenilai saat ini dengansourceBeberapa hari yang lalulengthPerbedaan antara nilai
Hal ini dihitung dengan rumus berikut: 100 * change ((src, length) / src[length]。
ta.roc(source, length)
Mengembalikan nilai
lengthGaris K yang dikembalikansourceTingkat perubahan
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.range
Mengembalikan selisih antara nilai minimum dan maksimum dalam urutan.
ta.range(source, length)
Mengembalikan nilai
Perbedaan antara nilai minimum dan maksimum dalam urutan tersebut.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.macd
MACD adalah rata-rata acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan acuan ac
ta.macd(source, fastlen, slowlen, siglen)
Contoh
pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(macdLine, color=color.blue)
plot(signalLine, color=color.orange)
plot(histLine, color=color.red, style=plot.style_histogram)
Jika Anda hanya membutuhkan satu nilai, gunakan tanda baca seperti '_':
Contoh
pine
[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)
Mengembalikan nilai
Tiga subset dari seri MACD: garis MACD, garis sinyal, dan garis grafik persegi panjang.
parameter
source(series int/float) Nilai seri yang akan dijalankan.fastlen(simple int) parameter garis cepatslowlen(simple int) Parameter panjang lambat。siglen(simple int) Parameter panjang sinyal。
ta.mode
Modus untuk mengembalikan urutan. Jika ada lebih dari satu nilai dengan frekuensi yang sama, kembalikan nilai minimum.
ta.mode(source, length)
Mengembalikan nilai
Modus dari urutan.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.median
Mengembalikan median dari urutan tersebut.
ta.median(source, length)
Mengembalikan nilai
Angka tengah dari urutan tersebut.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.linreg
Linear Regression Curve. Sebuah garis yang paling sesuai dengan harga yang ditentukan dalam jangka waktu yang ditentukan pengguna. Ini dihitung menggunakan perkalian dua terkecil. Hasil dari fungsi ini dihitung menggunakan rumus berikut: linreg = intercept + slope * (length - 1 - offset), di mana intercept dan slope digunakan.sourceNilai dari perkalian kedua terkecil dari rangkaian tersebut.
ta.linreg(source, length, offset)
Mengembalikan nilai
Kurva Regresi Linear
parameter
source(series int/float) sumber seri。length(series int)offsetPergeseran (simple int)
ta.bb
Brinbands Brinbands adalah alat analisis teknis yang didefinisikan oleh sekumpulan garis yang berjarak dua standar deviasi (positif dan negatif) dari rata-rata bergerak sederhana (SMA) harga sekuritas, tetapi dapat disesuaikan dengan preferensi pengguna.
ta.bb(series, length, mult)
Contoh
pine
[middle, upper, lower] = ta.bb(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)
// the same on pine
f_bb(src, length, mult) =>
float basis = ta.sma(src, length)
float dev = mult * ta.stdev(src, length)
[basis, basis + dev, basis - dev]
[pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4)
plot(pineMiddle)
plot(pineUpper)
plot(pineLower)
Mengembalikan nilai
Blinky
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).mult(simple int/float) Faktor standar perbedaan。
Lihat juga
ta.sma ta.stdev ta.kc
ta.bbw
Lebar jalur Brin. Lebar jalur Brin adalah jarak dari rel atas dan bawah ke jalur tengah.
ta.bbw(series, length, mult)
Contoh
pine
plot(ta.bbw(close, 5, 4), color=color.yellow)
// the same on pine
f_bbw(src, length, mult) =>
float basis = ta.sma(src, length)
float dev = mult * ta.stdev(src, length)
((basis + dev) - (basis - dev)) / basis
plot(f_bbw(close, 5, 4))
Mengembalikan nilai
Bandwidth Brin
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).mult(simple int/float) Faktor standar perbedaan。
Lihat juga
ta.bb ta.sma ta.stdev
ta.cci
CCI (Commodity Path Index) dihitung dengan membedakan nilai antara harga khas suatu komoditas dengan rata-rata bergerak sederhana yang dibagi dengan rata-rata deviasi mutlak dari harga khas. Indeks ini diskalakan dengan mundur 0.015 untuk memberikan angka yang lebih mudah dibaca.
ta.cci(source, length)
Mengembalikan nilai
Indeks saluran komoditas dari sumber yang dikembalikan oleh garis length K.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.change
Perbedaan antara nilai saat ini dan nilai sebelumnya, source - source[length]。
ta.change(source, length)
ta.change(source)
Mengembalikan nilai
Hasil pengurangan
parameter
source(series int/float) sumber seri。length(series int) berpindah dari garis k saat ini ke garis k sebelumnya. Opsional, jika tidak diberikan, gunakan length = 1 ◦
ta.mom
sourceHarga dansourceHargalengthK-line sebelum momentum. Ini hanya perbedaan:[length]。
ta.mom(source, length)
Mengembalikan nilai
sourceHarga dansourceHargalengthK line sebelum momentum
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Pindah dari baris k saat ini ke baris k sebelumnya.
Lihat juga
ta.change
ta.cmo
Indikator pergerakan harga. Menghitung jumlah titik naik terbaru dengan jumlah titik turun terbaru, kemudian mengurangi keduanya, dan kemudian membagi hasilnya dengan jumlah semua perubahan harga dalam periode yang sama
ta.cmo(series, length)
Contoh
pine
plot(ta.cmo(close, 5), color=color.yellow)
// the same on pine
f_cmo(src, length) =>
float mom = ta.change(src)
float sm1 = math.sum((mom >= 0) ? mom : 0.0, length)
float sm2 = math.sum((mom >= 0) ? 0.0 : -mom, length)
100 * (sm1 - sm2) / (sm1 + sm2)
plot(f_cmo(close, 5))
Mengembalikan nilai
Indikator pergerakan Chandra
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.rsi ta.stoch math.sum
ta.percentile_linear_interpolation
Persentase yang dihitung menggunakan metode linear interpolasi antara dua peringkat terbaru.
ta.percentile_linear_interpolation(source, length, percentage)
Mengembalikan nilai
lengthGaris K yang dikembalikansourcePersentase pertama dari seri P.
parameter
source(series int/float) Nilai seri yang akan dieksekusi ((sumber) ▽)length(series int) jumlah baris K yang lalu (panjang)percentage(simple int/float) Persentase, angka dalam kisaran 0-100
Catatan
Perhatikan bahwa persentase yang dihitung menggunakan metode ini tidak selalu merupakan bagian dari dataset input.
Lihat juga
ta.percentile_nearest_rank
ta.percentile_nearest_rank
Persentase berdasarkan metode peringkat terbaru.
ta.percentile_nearest_rank(source, length, percentage)
Mengembalikan nilai
lengthGaris K yang dikembalikansourcePersentase pertama dari seri P.
parameter
source(series int/float) Nilai seri yang akan dieksekusi ((sumber) ▽)length(series int) jumlah baris K yang lalu (panjang)percentage(simple int/float) Persentase, angka dalam kisaran 0-100
Catatan
Menggunakan urutan terbaru dengan panjang kurang dari 100 k baris terakhir dapat menyebabkan angka yang sama digunakan untuk beberapa angka persentase.
Persentase yang dihitung berdasarkan peringkat terbaru adalah bagian dari dataset input.
Titik persentase ke-100 didefinisikan sebagai nilai maksimum dalam set data input.
Lihat juga
ta.percentile_linear_interpolation
ta.percentrank
Peringkat persentase adalah persentase dari nilai sebelumnya yang lebih kecil atau sama dengan nilai saat ini dari rangkaian yang diberikan.
ta.percentrank(source, length)
Mengembalikan nilai
lengthGaris K yang dikembalikansourcePeringkat Persentase
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.variance
Perbedaan adalah nilai ekspektasi (ta.sma) dari serangkaian deviasi kuadrat dari rata-ratanya, yang secara informal mengukur jarak dari serangkaian angka ke rata-ratanya.
ta.variance(source, length, biased)
Mengembalikan nilai
lengthGaris K yang dikembalikansourcePerbedaan
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).biased(series bool) menentukan estimasi yang harus digunakan. Opsional. Default adalah true.
Catatan
JikabiasedJika benar, fungsi akan menggunakan perkiraan bias dari keseluruhan, dan jika salah - perkiraan tidak bias dari sampel.
ta.tr
ta.tr(handle_na)
Mengembalikan nilai
Rentang sebenarnya adalah math.max, math.abs, high, and close.[1]), math.abs(low - close[1]))。
parameter
handle_na(simple bool) bagaimana menangani nilai NaN. Jika true, dan harga close-out hari sebelumnya adalah NaN, tr akan dihitung sebagai high-low hari itu. Jika tidak ((( jika false) tr akan mengembalikan NaN dalam hal ini.
Catatan
ta.tr(false)Danta.trSama sekali tidak.
Lihat juga
ta.atr
ta.mfi
Indikator arus kas. Indikator arus kas adalah indikator teknis yang menggunakan harga dan volume transaksi untuk menentukan kondisi overbought atau oversold dalam aset.
ta.mfi(series, length)
Contoh
pine
plot(ta.mfi(hlc3, 14), color=color.yellow)
// the same on pine
pine_mfi(src, length) =>
float upper = math.sum(volume * (ta.change(src) <= 0.0 ? 0.0 : src), length)
float lower = math.sum(volume * (ta.change(src) >= 0.0 ? 0.0 : src), length)
mfi = 100.0 - (100.0 / (1.0 + upper / lower))
mfi
plot(pine_mfi(hlc3, 14))
Mengembalikan nilai
Indikator arus kas
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
ta.kc
Saluran Kentner. Saluran Kentner adalah indikator teknis yang terdiri dari rata-rata bergerak di tengah dan saluran naik turun.
ta.kc(series, length, mult)
ta.kc(series, length, mult, useTrueRange)
Contoh
pine
[middle, upper, lower] = ta.kc(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)
// the same on pine
f_kc(src, length, mult, useTrueRange) =>
float basis = ta.ema(src, length)
float span = (useTrueRange) ? ta.tr : (high - low)
float rangeEma = ta.ema(span, length)
[basis, basis + rangeEma * mult, basis - rangeEma * mult]
[pineMiddle, pineUpper, pineLower] = f_kc(close, 5, 4, true)
plot(pineMiddle)
plot(pineUpper)
plot(pineLower)
Mengembalikan nilai
Jembatan Kentner
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(simple int) Jumlah baris K (panjang).mult(simple int/float) Faktor standar perbedaan。useTrueRange(simple bool) Optional Array ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true
Lihat juga
ta.ema ta.atr ta.bb
ta.kcw
Jari-jari kentang. Jari-jari kentang adalah perbedaan antara saluran atas dan bawah dibagi dengan saluran tengah.
ta.kcw(series, length, mult)
ta.kcw(series, length, mult, useTrueRange)
Contoh
pine
plot(ta.kcw(close, 5, 4), color=color.yellow)
// the same on pine
f_kcw(src, length, mult, useTrueRange) =>
float basis = ta.ema(src, length)
float span = (useTrueRange) ? ta.tr : (high - low)
float rangeEma = ta.ema(span, length)
((basis + rangeEma * mult) - (basis - rangeEma * mult)) / basis
plot(f_kcw(close, 5, 4, true))
Mengembalikan nilai
Lebar jalan Kantor.
parameter
series(series int/float) Nilai seri yang akan dijalankan.length(simple int) Jumlah baris K (panjang).mult(simple int/float) Faktor standar perbedaan。useTrueRange(simple bool) Optional Array ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true ≠ true
Lihat juga
ta.kc ta.ema ta.atr ta.bb
ta.correlation
Koefisien relevansi. Menggambarkan seberapa jauh dua seri cenderung menyimpang dari nilai ta.sma.
ta.correlation(source1, source2, length)
Mengembalikan nilai
Koefisien terkait
parameter
source1(series int/float) sumber seri。source2(series int/float) Serial targetlength(series int) panjang (jumlah baris K)
Lihat juga
request.security
ta.cross
ta.cross(source1, source2)
Mengembalikan nilai
Jika dua seri saling melintang maka benar, jika tidak maka salah.
parameter
source1(series int/float) Serial data pertama。source2(series int/float) Serial data kedua。
Lihat juga
ta.change
ta.crossover
source1-series didefinisikan sebagai melintasisource2-series, jika pada garis K saat ini,source1lebih besar darisource2Dan pada baris K sebelumnya,source2nilai source1小于source2`Nilai dari
ta.crossover(source1, source2)
Mengembalikan nilai
Jikasource1Menembussource2Jika tidak, maka false.
parameter
source1(series int/float) Serial data pertama。source2(series int/float) Serial data kedua。
ta.crossunder
source1-series didefinisikan sebagaisource2-series di bawah perpotongan, jika pada garis K saat ini,source1lebih kecil darisource2Dan pada garis K sebelumnya,source1lebih besar darisource2Nilai dari
ta.crossunder(source1, source2)
Mengembalikan nilai
Jikasource1adasource2Jika tidak, maka false.
parameter
source1(series int/float) Serial data pertama。source2(series int/float) Serial data kedua。
ta.atr
Fungsi ATR (rata-rata amplitudo riil) mengembalikan RMA dari rentang riil. amplitudo riil adalah max (tinggi - rendah, abs (tinggi - dekat)[1]), abs(low - close[1]))。
ta.atr(length)
Contoh
pine
plot(ta.atr(14))
//the same on pine
pine_atr(length) =>
trueRange = na(high[1])? high-low : math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1]))
//true range can be also calculated with ta.tr(true)
ta.rma(trueRange, length)
plot(pine_atr(14))
Mengembalikan nilai
Nilai rata-rata real (ATR)
parameter
length (simple int) panjang
ta.sar
Garis paralel bergeser (bahasa Inggris: parabolic line turning) adalah metode yang dirancang oleh J. Welles Wilder, Jr. untuk mencari potensi pembalikan arah harga di pasar perdagangan.
ta.sar(start, inc, max)
Contoh
pine
plot(ta.sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3)
// The same on Pine
pine_sar(start, inc, max) =>
var float result = na
var float maxMin = na
var float acceleration = na
var bool isBelow = na
bool isFirstTrendBar = false
if bar_index == 1
if close > close[1]
isBelow := true
maxMin := high
result := low[1]
else
isBelow := false
maxMin := low
result := high[1]
isFirstTrendBar := true
acceleration := start
result := result + acceleration * (maxMin - result)
if isBelow
if result > low
isFirstTrendBar := true
isBelow := false
result := math.max(high, maxMin)
maxMin := low
acceleration := start
else
if result < high
isFirstTrendBar := true
isBelow := true
result := math.min(low, maxMin)
maxMin := high
acceleration := start
if not isFirstTrendBar
if isBelow
if high > maxMin
maxMin := high
acceleration := math.min(acceleration + inc, max)
else
if low < maxMin
maxMin := low
acceleration := math.min(acceleration + inc, max)
if isBelow
result := math.min(result, low[1])
if bar_index > 1
result := math.min(result, low[2])
else
result := math.max(result, high[1])
if bar_index > 1
result := math.max(result, high[2])
result
plot(pine_sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3)
Mengembalikan nilai
Garis paralel bergeser ke arah indikator.
parameter
start(simple int/float) dimulai.inc(simple int/float) menambahmax(simple int/float) maksimal
ta.barssince
Hitung jumlah baris K dari kondisi terakhir yang benar.
ta.barssince(condition)
Contoh
pine
// get number of bars since last color.green bar
plot(ta.barssince(close >= open))
Mengembalikan nilai
Jumlah baris k jika kondisi adalah true.
Catatan
Jika kondisi ini tidak pernah terpenuhi sebelum baris K saat ini, maka fungsi ini akan mengembalikan na ≠
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
ta.lowestbars ta.highestbars ta.valuewhen ta.highest ta.lowest
ta.cum
sourceDengan kata lain, itu adalahsourceTotal dari semua elemen.
ta.cum(source)
Mengembalikan nilai
Serial ini berjumlah
parameter
source(series int/float)
Lihat juga
math.sum
ta.dmi
Fungsi dmi mengembalikan indeks dinamis DMI。
ta.dmi(diLength, adxSmoothing)
Contoh
pine
len = input.int(17, minval=1, title="DI Length")
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
[diplus, diminus, adx] = ta.dmi(len, lensig)
plot(adx, color=color.red, title="ADX")
plot(diplus, color=color.blue, title="+DI")
plot(diminus, color=color.orange, title="-DI")
Mengembalikan nilai
Tiga subset dari seri DMI: gerakan arah positif ((+DI), gerakan arah negatif ((-DI) dan indeks gerakan arah rata-rata ((ADX) <unk>.
parameter
diLength(simple int) DI Period。adxSmoothing(simple int) ADX siklus halus
Lihat juga
ta.rsi ta.tsi ta.mfi
ta.falling
Uji cobasourceSeri untuklengthApakah K-long sedang turun?
ta.falling(source, length)
Mengembalikan nilai
Jika saat inisourceNilai kurang darilengthK baris kembali ke sebelumnya.sourceNilai, maka benar, jika tidak, maka palsu.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.rising
ta.rising
Uji cobasourceSeri untuklengthApakah K-Line Long sedang naik?
ta.rising(source, length)
Mengembalikan nilai
Jika saat inisourceLebih darilengthK baris kembali ke sebelumnya.sourceNilai, maka benar, jika tidak, maka palsu.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.falling
ta.pivothigh
Fungsi ini mengembalikan harga dari titik puncak pada sumbu. Jika tidak ada titik puncak pada sumbu, maka akan dikembalikan NaN<unk>.
ta.pivothigh(source, leftbars, rightbars)
ta.pivothigh(leftbars, rightbars)
Contoh
pine
leftBars = input(2)
rightBars=input(2)
ph = ta.pivothigh(leftBars, rightBars)
plot(ph, style=plot.style_cross, linewidth=3, color= color.red, offset=-rightBars)
Mengembalikan nilai
Harga titik ini atau 'NaN'.
parameter
source(series int/float) Opsional.leftbars(series int/float) Kekuatan kiri。rightbars(series int/float) Panjang kanan。
Catatan
Jika parameter 'leftbars' atau 'rightbars' adalah seri, maka anda harus menggunakan fungsi max_bars_back sebagai variabel 'source'
ta.pivotlow
Fungsi ini mengembalikan harga pada titik terendah pada sumbu. Jika tidak ada titik terendah pada sumbu, maka akan dikembalikan NaN<unk>.
ta.pivotlow(source, leftbars, rightbars)
ta.pivotlow(leftbars, rightbars)
Contoh
pine
leftBars = input(2)
rightBars=input(2)
pl = ta.pivotlow(close, leftBars, rightBars)
plot(pl, style=plot.style_cross, linewidth=3, color= color.blue, offset=-rightBars)
Mengembalikan nilai
Harga titik ini atau 'NaN'.
parameter
source(series int/float) Parameter yang dapat dipilih.leftbars(series int/float) Kekuatan kiri。rightbars(series int/float) Panjang kanan。
Catatan
Jika parameter 'leftbars' atau 'rightbars' adalah seri, maka anda harus menggunakan fungsi max_bars_back sebagai variabel 'source'
ta.highest
Nilai tertinggi dari jumlah yang diberikan pada garis k yang lalu.
ta.highest(source, length)
ta.highest(length)
Mengembalikan nilai
Nilai tertinggi dalam seri.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Catatan
Dua versi args:sourceIni adalah sebuah seri.lengthadalah jumlah garis K yang dikembalikan.
Sebuah versi arg:lengthadalah jumlah baris K yang dikembalikan. Algoritma menggunakan high sebagaisourceSerial
Lihat juga
ta.lowest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince
ta.highestbars
K garis yang melewati nilai maksimum dari jumlah yang diberikan.
ta.highestbars(source, length)
ta.highestbars(length)
Mengembalikan nilai
Pergeseran ke garis k tertinggi.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Catatan
Dua versi args:sourceIni adalah sebuah seri.lengthadalah jumlah garis K yang dikembalikan.
Sebuah versi arg:lengthadalah jumlah baris K yang dikembalikan. Algoritma menggunakan high sebagaisourceSerial
Lihat juga
ta.lowest ta.highest ta.lowestbars ta.barssince ta.valuewhen
ta.stoch
Indikator acak. Persamaan perhitungan: 100 * (close - lowest(low, length)) / (highest(high, length) - lowest(low, length))
ta.stoch(source, high, low, length)
Mengembalikan nilai
acak
parameter
source(series int/float) sumber seri。high(series int/float) Seri tinggilow(series int/float) Seri rendahlength(series int) panjang (jumlah baris K)
Lihat juga
ta.cog
ta.supertrend
Indikator supertrend. Indikator supertrend adalah indikator yang mengikuti tren.
ta.supertrend(factor, atrPeriod)
Contoh
pine
//@version=5
indicator("Pine Script™ Supertrend")
[supertrend, direction] = ta.supertrend(3, 10)
plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr)
// The same on Pine Script™
pine_supertrend(factor, atrPeriod) =>
src = hl2
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand[1])
prevUpperBand = nz(upperBand[1])
lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
int direction = na
float superTrend = na
prevSuperTrend = superTrend[1]
if na(atr[1])
direction := 1
else if prevSuperTrend == prevUpperBand
direction := close > upperBand ? -1 : 1
else
direction := close < lowerBand ? 1 : -1
superTrend := direction == -1 ? lowerBand : upperBand
[superTrend, direction]
[pineSupertrend, pineDirection] = pine_supertrend(3, 10)
plot(pineDirection < 0 ? pineSupertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(pineDirection > 0 ? pineSupertrend : na, "Down direction", color = color.red, style=plot.style_linebr)
Mengembalikan nilai
Dua subset dari seri supertrend: garis supertrend dan arah trend. Nilai yang mungkin adalah 1 (ke arah bawah) dan -1 (ke arah atas).
parameter
factor(series int/float) ATR akan dikalikan dengan kelipatan。atrPeriod(simple int) rata-rata panjang gelombang nyata
Lihat juga
ta.macd
ta.lowest
Minimal dari jumlah yang diberikan pada garis k yang lalu.
ta.lowest(source, length)
ta.lowest(length)
Mengembalikan nilai
Nilai terendah dalam seri.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Catatan
Dua versi args:sourceIni adalah sebuah seri.lengthadalah jumlah garis K yang dikembalikan.
Sebuah versi arg:lengthadalah bilangan K yang dikembalikan. Algoritma menggunakan low sebagaisourceSerial
Lihat juga
ta.highest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince
ta.lowestbars
Pemisahan minimal dari jumlah yang diberikan pada garis k.
ta.lowestbars(source, length)
ta.lowestbars(length)
Mengembalikan nilai
Pergeseran ke garis k terendah.
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Mengembalikan bilangan baris K.
Catatan
Dua versi args:sourceIni adalah sebuah seri.lengthadalah jumlah garis K yang dikembalikan.
Sebuah versi arg:lengthadalah bilangan K yang dikembalikan. Algoritma menggunakan low sebagaisourceSerial
Lihat juga
ta.lowest ta.highest ta.highestbars ta.barssince ta.valuewhen
ta.valuewhen
Mengembalikan nilai seri sumber sumber dari garis K di mana kondisi sumber terakhir adalah benar.
ta.valuewhen(condition, source, occurrence)
Contoh
pine
slow = ta.sma(close, 7)
fast = ta.sma(close, 14)
// Get value of `close` on second most recent cross
plot(ta.valuewhen(ta.cross(slow, fast), close, 1))
parameter
condition(series bool) Syarat yang harus dicari.source(series int/float/bool/color) Nilai yang akan dikembalikan dari garis K yang memenuhi syarat.occurrenceKondisi (simple int) muncul. Nomernya dimulai dari 0 dan berjalan mundur dari waktu, sehingga 0 adalah kondisi yang paling baru muncul, 1 adalah kondisi yang paling baru muncul, dan seterusnya.
Catatan
Fungsi ini perlu dilakukan pada setiap baris K. Tidak disarankan untuk menggunakannya dalam struktur loop for atau while, karena perilakunya mungkin tidak terduga. Harap dicatat bahwa menggunakan fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
ta.lowestbars ta.highestbars ta.barssince ta.highest ta.lowest
ta.vwap
Volume tertimbang rata-rata harga
ta.vwap(source)
Mengembalikan nilai
Rata-rata nilai transaksi
parameter
source(series int/float) sumber seri。
Lihat juga
ta.vwap
ta.vwma
Fungsi vwma yang dikembalikanlengthGaris K.sourceNilai rata-rata bergerak tertimbang volume transaksi. Sama dengan: sma (sumber * volume, panjang) / sma (volume, panjang)
ta.vwma(source, length)
Contoh
pine
plot(ta.vwma(close, 15))
// same on pine, but less efficient
pine_vwma(x, y) =>
ta.sma(x * volume, y) / ta.sma(volume, y)
plot(pine_vwma(close, 15))
Mengembalikan nilai
lengthGaris K yang dikembalikansourceJumlah transaksi rata-rata bergerak berbobot:
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
Lihat juga
ta.sma ta.ema ta.rma ta.wma ta.swma ta.alma
ta.wpr
Indikator Williams %R. Indikator ini menunjukkan hubungan antara harga akhir saat ini dengan harga tinggi/rendah yang terjadi selama beberapa waktu di masa lalu.
ta.wpr(length)
Contoh
pine
plot(ta.wpr(14), title="%R", color=color.new(#ff6d00, 0))
Mengembalikan nilai
Williams %R。
parameter
length(series int) Jumlah baris K。
plot
plot
Menggambar serangkaian data pada grafik.
plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display)
Contoh
pine
plot(high+low, title='Title', color=color.new(#00ffaa, 70), linewidth=2, style=plot.style_area, offset=15, trackprice=true)
// You may fill the background between any two plots with a fill() function:
p1 = plot(open)
p2 = plot(close)
fill(p1, p2, color=color.new(color.green, 90))
Mengembalikan nilai
Objek gambar yang dapat digunakan untuk fill.
parameter
series(series int/float) Serangkaian data yang akan digambar.title(const string) Judul gambar。color(series color) warna yang digambar. Anda dapat menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter opsional.linewidth(input int) Lebar garis yang digambar. Default adalah 1. Tidak berlaku untuk setiap gaya.style(plot_style) jenis plot 。 nilai-nilai yang mungkin adalah: plot.style_line、plot.style_stepline、plot.style_stepline_diamond、plot.style_histogram、plot.style_cross、plot.style_area、plot.style_columns、plot.style_circles、plot.style_linebr、plot.style_areabr。 nilai default adalah plot.style_line。trackprice(input bool) Jika true, maka garis harga horisontal akan ditampilkan pada tingkat nilai indikator terakhir.histbase(input int/float) Saat memetakan plot.style_histogram, plot.style_columns, atau plot.style_area, nilai dari level acuan digunakan. ❚ Nilai default adalah 0.0。offset(series int) bergerak ke kiri atau ke kanan pada jumlah tertentu k baris.join(input bool) Jika benar, maka titik yang digambar akan terhubung dengan garis, hanya berlaku untuk plot.style_cross dan plot.style_circles.editable(const bool) Jika true, maka gaya gambar dapat diedit dalam kotak dialog format.show_last(input int) Jika telah ditetapkan, maka didefinisikan jumlah garis k yang digariskan pada grafik ((kembali ke masa lalu dari garis k terakhir))display(plot_display) Kontrol menampilkan lokasi gambar. Nilai yang mungkin adalah: display.none, display.all. Default adalah display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
Lihat juga
plotshape plotchar bgcolor
plotshape
Menggambar bentuk visual pada grafik.
plotshape(series, title, style, location, color, offset, text, textcolor, editable, size, show_last, display)
Contoh
pine
data = close >= open
plotshape(data, style=shape.xcross)
parameter
series(series bool) Serangkaian data yang digambarkan sebagai bentuk. Seri dianggap sebagai serangkaian nilai bool dari semua nilai posisi kecuali location.absolute. Parameter yang diperlukan.title(const string) Judul gambar。style(input string) Jenis gambar。 Nilai yang mungkin adalah: shape.xcross, shape.cross, shape.triangleup, shape.triangledown, shape.flag, shape.circle, shape.arrowup, shape.arrowdown, shape.labelup, shape.labeldown, shape.square, shape.diamond。 Nilai default adalah shape.xcross。location(input string) bentuk di grafik. Nilai yang mungkin adalah: location.abovebar,location.belowbar,location.top,location.bottom,location.absolute.color(series color) bentuk warna. Anda dapat menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ekspresi kompleks seperti 'color = close >= open ? green: red'. Parameter opsional.offset(series int) bergerak ke kiri atau ke kanan pada jumlah tertentu k baris.text(const string) Teks ditampilkan dalam bentuk. Anda dapat menggunakan teks multi-baris, yang dipisahkan dengan '\n' transisi berurutan.textcolor(series color) warna teks 。 Anda dapat menggunakan konstanta seperti 'textcolor=red' atau 'textcolor=#ff001a', dan ekspresi kompleks seperti 'textcolor = close >= open ? green: red 。 Parameter opsional 。editable(const bool) Jika benar, maka gaya plotshape dapat diedit dalam kotak dialog format.show_last(input int) Jika sudah disetel, maka didefinisikan jumlah bentuk yang digambarkan pada grafik ((berbalik ke belakang dari garis k terakhir))size(const string) Ukuran karakter pada grafik. Nilai yang mungkin adalah: size.auto, size.tiny, size.small, size.normal, size.large, size.huge. Nilai default adalah size.auto.display(plot_display) Kontrol menampilkan lokasi gambar. Nilai yang mungkin adalah: display.none, display.all. Default adalah display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
Lihat juga
plot plotchar bgcolor
plotchar
Gambarkan bentuk yang terlihat dengan menggunakan karakter Unicode yang diberikan pada grafik.
plotchar(series, title, char, location, color, offset, text, textcolor, editable, size, show_last, display)
Contoh
pine
data = close >= open
plotchar(data, char='❄')
parameter
series(series bool) Serangkaian data yang digambarkan sebagai bentuk. Seri dianggap sebagai serangkaian nilai bool dari semua nilai posisi kecuali location.absolute. Parameter yang diperlukan.title(const string) Judul gambar。char(input string) Karakter yang digunakan sebagai bentuk visuallocation(input string) bentuk di grafik. Nilai yang mungkin adalah: location.abovebar,location.belowbar,location.top,location.bottom,location.absolute.color(series color) bentuk warna. Anda dapat menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ekspresi kompleks seperti 'color = close >= open ? green: red'. Parameter opsional.offset(series int) bergerak ke kiri atau ke kanan pada jumlah tertentu k baris.text(const string) Teks ditampilkan dalam bentuk. Anda dapat menggunakan teks multi-baris, yang dipisahkan dengan '\n' transisi berurutan.textcolor(series color) warna teks 。 Anda dapat menggunakan konstanta seperti 'textcolor=red' atau 'textcolor=#ff001a', dan ekspresi kompleks seperti 'textcolor = close >= open ? green: red 。 Parameter opsional 。editable(const bool) Jika benar, maka gaya plotchar dapat diedit dalam kotak dialog format.show_last(input int) Jika telah ditetapkan, maka didefinisikan jumlah grafik yang dipetakan pada grafik ((kembali ke masa lalu dari garis k terakhir))size(const string) Ukuran karakter pada grafik. Nilai yang mungkin adalah: size.auto,size.tiny,size.small,size.normal,size.large,size.huge. Nilai default adalah size.auto.display(plot_display) Kontrol menampilkan lokasi gambar. Nilai yang mungkin adalah: display.none, display.all. Default adalah display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
Lihat juga
plot plotshape bgcolor
plotcandle
Menggambar <unk> pada grafik.
plotcandle(open, high, low, close, title, color, wickcolor, editable, show_last, bordercolor, display)
Contoh
pine
indicator("plotcandle example", overlay=true)
plotcandle(open, high, low, close, title='Title', color = open < close ? color.green : color.red, wickcolor=color.black)
parameter
open(series int/float) Serangkaian data terbuka digunakan sebagai nilai terbuka.high(series int/float) Data seri tinggi digunakan sebagai nilai tinggi dari frame。 parameter yang diperlukan。low(series int/float) Data seri rendah digunakan sebagai nilai rendah dari tabung. Parameter yang diperlukan.close(series int/float) Menutup data seri sebagai nilai dari baris k yang tertutup. Parameter yang diperlukan.title(const string) judul plotcandle.color(series color) Warna dari seri. Anda dapat menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ekspresi kompleks seperti 'color = close >= open ? green: red'. Parameter opsional.wickcolor(series color) Warna inti lampu.editable(const bool) Jika benar, maka gaya plotcandle dapat diedit dalam kotak dialog format.show_last(input int) Jika telah ditetapkan, maka didefinisikan bilangan kerucut yang digariskan pada grafik ((berbalik ke belakang dari garis k terakhir) }}.bordercolor(series color) Warna pinggiran dari tabung. Satu parameter yang dapat dipilih.display(plot_display) Kontrol menampilkan lokasi gambar. Nilai yang mungkin adalah: display.none, display.all. Default adalah display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
Catatan
Jika semua NaN adalah NaN, maka garis K tidak perlu ditampilkan.
Nilai maksimum dari open, high, low, and close akan disetel ke high/low, dan nilai minimum akan disetel ke low/low.
Lihat juga
plotbar
plotarrow
Arrow up and down drawing on the chart: Up arrow drawing on each positive indicator, while down arrow drawing on each negative. Arrow drawing is not drawn if the indicator returns na. Arrow drawing has different heights, the greater the absolute value of the indicator, the longer the arrow drawing.
plotarrow(series, title, colorup, colordown, offset, minheight, maxheight, editable, show_last, display)
Contoh
codiff = close - open
plotarrow(codiff, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40), overlay=true)
parameter
series(series int/float) Untuk memetakan serangkaian data ke dalam panah.title(const string) Judul gambar。colorup(series color) warna panah ke atas.colordown(series color) warna panah ke bawah.offset(series int) Gerakkan panah ke kiri atau ke kanan pada jumlah tertentu garis K. Nilai default adalah 0minheight(input int) Tinggi panah terkecil yang mungkin dalam satuan piksel. Default adalah 5maxheight(input int) Maksimum kemungkinan tinggi panah dalam satuan piksel. Default 100editable(const bool) Jika true, maka gaya plotarrow dapat diedit dalam kotak dialog format.show_last(input int) Jika telah ditetapkan, tentukan jumlah panah yang digariskan pada grafik ((kembali ke masa lalu dari garis k terakhir) }}.display(plot_display) Kontrol menampilkan lokasi gambar. Nilai yang mungkin adalah: display.none, display.all. Default adalah display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
Lihat juga
plot plotshape plotchar barcolor bgcolor
array
array.pop
Fungsi ini menghapus elemen terakhir dari array dan mengembalikan nilainya.
array.pop(id)
Contoh
pine
// array.pop example
a = array.new_float(5,high)
removedEl = array.pop(a)
plot(array.size(a))
plot(removedEl)
Mengembalikan nilai
Nilai elemen yang dihapus.
parameter
id(any array type) objek array
Lihat juga
array.new_float array.set array.push array.remove array.insert array.shift
array.shift
Fungsi ini menghapus elemen pertama dari array dan mengembalikan nilainya.
array.shift(id)
Contoh
pine
// array.shift example
a = array.new_float(5,high)
removedEl = array.shift(a)
plot(array.size(a))
plot(removedEl)
Mengembalikan nilai
Nilai elemen yang dihapus.
parameter
id(any array type) objek array
Lihat juga
array.unshift array.set array.push array.remove array.includes
array.unshift
Fungsi ini memasukkan nilai ke posisi awal array.
array.unshift(id, value)
Contoh
pine
// array.unshift example
a = array.new_float(5, 0)
array.unshift(a, open)
plot(array.get(a, 0))
parameter
id(any array type) objek arrayvalue(series <type of the array's elements>) Untuk menambahkan nilai ke posisi awal array.
Lihat juga
array.shift array.set array.insert array.remove array.indexof
array.size
Fungsi ini mengembalikan jumlah elemen dalam array.
array.size(id)
Contoh
pine
// array.size example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
// note that changes in slice also modify original array
slice = array.slice(a, 0, 5)
array.push(slice, open)
// size was changed in slice and in original array
plot(array.size(a))
plot(array.size(slice))
Mengembalikan nilai
Jumlah elemen dalam array.
parameter
id(any array type) objek array
Lihat juga
array.new_float array.sum array.slice array.sort
array.slice
Fungsi ini membuat pecahan dari array yang ada. Jika ada perubahan pada objek dalam pecahan, maka perubahan tersebut akan diterapkan pada array baru dan asli secara bersamaan.
array.slice(id, index_from, index_to)
Contoh
pine
// array.slice example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
// take elements from 0 to 4
// *note that changes in slice also modify original array
slice = array.slice(a, 0, 5)
plot(array.sum(a) / 10)
plot(array.sum(slice) / 5)
Mengembalikan nilai
Foto-foto yang diunggah di media sosial:
parameter
id(any array type) objek arrayindex_from(series int) Indeks yang dimulai dari nol untuk memulai ekstraksi.index_to(series int) Indeks yang dimulai dari nol sebelum ekstraksi selesai. Fungsi ini mengekstrak elemen sebelum indeks ini.
Lihat juga
array.new_float array.get array.sort
array.abs
Mengembalikan sebuah array yang berisi nilai mutlak dari setiap elemen dalam array awal.
array.abs(id)
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.binary_search
Fungsi ini mengindeks nilai yang dikembalikan, dan jika tidak ditemukan, akan dikembalikan −1. Array yang akan dicari harus diurutkan dalam urutan naik.
array.binary_search(id, val)
Contoh
pine
// array.binary_search
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search(a, 0) // 1
plot(position)
parameter
id(int[]/float[Array Object (Objek Array)val(series int/float) nilai yang dicari dalam array.
Catatan
Pencarian biner berlaku untuk array yang di-pre-order secara berurutan. Pertama-tama, membandingkan elemen di tengah array dengan nilai target. Jika elemen cocok dengan nilai target, kembalikan posisinya di array. Jika nilai elemen lebih besar dari nilai target, lanjutkan pencarian di bagian bawah array.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.binary_search_leftmost
Jika nilai ditemukan, fungsi ini akan mengembalikan indeks untuk nilai tersebut. Jika tidak ditemukan, fungsi ini akan mengembalikan indeks untuk elemen terkecil berikutnya, jika berada di array, di sebelah kiri dari lokasi nilai tersebut.
array.binary_search_leftmost(id, val)
Contoh
pine
// array.binary_search_leftmost
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search_leftmost(a, 3) // 2
plot(position)
parameter
id(int[]/float[Array Object (Objek Array)val(series int/float) nilai yang dicari dalam array.
Catatan
Pencarian biner berlaku untuk array yang di-pre-order secara berurutan. Pertama-tama, membandingkan elemen di tengah array dengan nilai target. Jika elemen cocok dengan nilai target, kembalikan posisinya di array. Jika nilai elemen lebih besar dari nilai target, lanjutkan pencarian di bagian bawah array.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.binary_search_rightmost
Jika nilai tersebut ditemukan, fungsi ini akan mengembalikan indeks dari nilai tersebut. Jika tidak ditemukan, fungsi ini akan mengembalikan indeks dari elemen di sebelah kanan tempat nilai tersebut berada dalam array.
array.binary_search_rightmost(id, val)
Contoh
pine
// array.binary_search_rightmost
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search_rightmost(a, 3) // 3
plot(position)
parameter
id(int[]/float[Array Object (Objek Array)val(series int/float) nilai yang dicari dalam array.
Catatan
Pencarian biner bekerja pada array yang telah diurutkan secara berurutan. Pertama, membandingkan elemen di tengah array dengan nilai target. Jika elemen cocok dengan nilai target, kembalikan posisinya di array. Jika nilai elemen lebih besar dari nilai target, lanjutkan pencarian di bagian bawah array.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.sort
Fungsi ini mengurutkan elemen dari array tersebut.
array.sort(id, order)
Contoh
pine
// array.sort example
a = array.new_float(0,0)
for i = 0 to 5
array.push(a, high[i])
array.sort(a, order.descending)
if barstate.islast
runtime.log(str.tostring(a))
parameter
id(int[]/float[]/string[Array Object (Objek Array)order(sort_order) Urutan urutan: order.ascending ((default) atau order.descending。
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.sort_indices
Mengembalikan sebuah array indeks, yang digunakan untuk mengindeks array asli, akan mengakses elemen-elemennya sesuai dengan urutan pengaturannya.
array.sort_indices(id, order)
Contoh
pine
// array.sort_indices
a = array.from(5, -2, 0, 9, 1)
sortedIndices = array.sort_indices(a) // [1, 2, 4, 0, 3]
indexOfSmallestValue = array.get(sortedIndices, 0) // 1
smallestValue = array.get(a, indexOfSmallestValue) // -2
plot(smallestValue)
parameter
id(int[]/float[]/string[Array Object (Objek Array)order(sort_order) Urutan urutan: order.ascending atau order.descending.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.clear
Fungsi ini menghapus semua elemen dari array tersebut.
array.clear(id)
Contoh
pine
// array.clear example
a = array.new_float(5,high)
array.clear(a)
array.push(a, close)
plot(array.get(a,0))
plot(array.size(a))
parameter
id(any array type) objek array
Lihat juga
array.new_float array.insert array.push array.remove array.pop
array.concat
Fungsi ini digunakan untuk menggabungkan dua array. Fungsi ini mendorong semua elemen dari array kedua ke array pertama, lalu kembali ke array pertama.
array.concat(id1, id2)
Contoh
pine
// array.concat example
a = array.new_float(0,0)
b = array.new_float(0,0)
for i = 0 to 4
array.push(a, high[i])
array.push(b, low[i])
c = array.concat(a,b)
plot(array.size(a))
plot(array.size(b))
plot(array.size(c))
Mengembalikan nilai
Array pertama memiliki elemen gabungan dari array kedua.
parameter
id1(any array type) Objek array pertamaid2(any array type) Objek array kedua.
Lihat juga
array.new_float array.insert array.slice
array.copy
Fungsi ini membuat salinan dari array yang sudah ada.
array.copy(id)
Contoh
pine
// array.copy example
length = 5
a = array.new_float(length, close)
b = array.copy(a)
a := array.new_float(length, open)
plot(array.sum(a) / length)
plot(array.sum(b) / length)
Mengembalikan nilai
Salinan Array
parameter
id(any array type) objek array
Lihat juga
array.new_float array.get array.slice array.sort
array.stdev
Fungsi ini mengembalikan perbedaan standar dari elemen array.
array.stdev(id, biased)
Contoh
pine
// array.stdev example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.stdev(a))
Mengembalikan nilai
Standar elemen array berbeda.
parameter
id(int[]/float[Array Object (Objek Array)biased(series bool) menentukan estimasi yang harus digunakan. Opsional. Default adalah true.
Catatan
JikabiasedJika benar, fungsi akan menggunakan perkiraan bias dari keseluruhan, dan jika salah - perkiraan tidak bias dari sampel.
Lihat juga
array.new_float array.max array.min array.avg
array.standardize
Fungsi ini mengembalikan array elemen standar.
array.standardize(id)
Contoh
pine
// array.standardize example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
b = array.standardize(a)
plot(array.min(b))
plot(array.max(b))
Mengembalikan nilai
Array elemen standar.
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.max array.min array.mode array.avg array.variance array.stdev
array.variance
Fungsi ini mengembalikan perbedaan dari elemen-elemen array.
array.variance(id, biased)
Contoh
pine
// array.variance example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.variance(a))
Mengembalikan nilai
Perbedaan kuadrat dari unsur-unsur array
parameter
id(int[]/float[Array Object (Objek Array)biased(series bool) menentukan estimasi yang harus digunakan. Opsional. Default adalah true.
Catatan
JikabiasedJika benar, fungsi akan menggunakan perkiraan bias dari keseluruhan, dan jika salah - perkiraan tidak bias dari sampel.
Lihat juga
array.new_float array.stdev array.min array.avg array.covariance
array.covariance
Fungsi ini mengembalikan perbedaan koefisien dari dua array tersebut.
array.covariance(id1, id2, biased)
Contoh
pine
// array.covariance example
a = array.new_float(0)
b = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
array.push(b, open[i])
plot(array.covariance(a, b))
Mengembalikan nilai
Perbedaan koordinat dari dua array.
parameter
id1(int[]/float[Array Object (Objek Array)id2(int[]/float[Array Object (Objek Array)biased(series bool) menentukan estimasi yang harus digunakan. Opsional. Default adalah true.
Catatan
JikabiasedJika benar, fungsi akan menggunakan perkiraan bias dari keseluruhan, dan jika salah - perkiraan tidak bias dari sampel.
Lihat juga
array.new_float array.max array.stdev array.avg array.variance
array.fill
Fungsi ini mengatur elemen array sebagai nilai tunggal. Jika tidak ada indeks yang ditentukan, maka semua elemen diatur. Jika hanya indeks awal yang disediakan (default 0), maka elemen yang dimulai dari indeks tersebut ditetapkan. Jika dua parameter indeks digunakan secara bersamaan, maka elemen yang diindeks dari awal tetapi tidak termasuk indeks akhir (default na) ditetapkan.
array.fill(id, value, index_from, index_to)
Contoh
pine
// array.fill example
a = array.new_float(10)
array.fill(a, close)
plot(array.sum(a))
parameter
id(any array type) objek arrayvalue(series <type of the array's elements>) digunakan untuk mengisi array.index_from(series int) Indeks awal, default 0。index_to(series int) End index, default na。 harus lebih besar dari index dari elemen terakhir yang akan ditetapkan。
Lihat juga
array.new_float array.set array.slice
array.includes
Jika nilai tersebut ditemukan dalam array, maka fungsi tersebut akan mengembalikan true, jika tidak akan mengembalikan false.
array.includes(id, value)
Contoh
pine
// array.includes example
a = array.new_float(5,high)
p = close
if array.includes(a, high)
p := open
plot(p)
Mengembalikan nilai
Jika nilai tersebut ditemukan dalam array, maka nilai tersebut adalah true, jika tidak, maka nilai tersebut adalah false.
parameter
id(any array type) objek arrayvalue(series <type of the array's elements>) Nilai yang akan dicari dalam array.
Lihat juga
array.new_float array.indexof array.shift array.remove array.insert
array.insert
Fungsi ini mengubah konten array dengan menambahkan elemen baru di tempat yang tepat.
array.insert(id, index, value)
Contoh
pine
// array.insert example
a = array.new_float(5, close)
array.insert(a, 0, open)
plot(array.get(a, 5))
parameter
id(any array type) objek arrayindex(series int) Indeks dari nilai insert.value(series <type of the array's elements>) untuk ditambahkan ke array.
Lihat juga
array.new_float array.set array.push array.remove array.pop array.unshift
array.join
Fungsi ini membangun dan mengembalikan string baru dengan menghubungkan semua elemen dari array, yang dipisahkan oleh string pemisah yang ditentukan.
array.join(id, separator)
Contoh
pine
// array.join example
a = array.new_float(5, 5)
runtime.log(array.join(a, ","))
parameter
id(int[]/float[]/string[Array Object (Objek Array)separator(series string) String yang digunakan untuk memisahkan setiap elemen array.
Lihat juga
array.new_float array.set array.insert array.remove array.pop array.unshift
array.lastindexof
Fungsi ini akan mengembalikan indeks terakhir kali nilai muncul. Jika tidak ditemukan, maka akan dikembalikan -1.
array.lastindexof(id, value)
Contoh
pine
// array.lastindexof example
a = array.new_float(5,high)
index = array.lastindexof(a, high)
plot(index)
Mengembalikan nilai
Indeks unsur
parameter
id(any array type) objek arrayvalue(series <type of the array's elements>) Nilai yang akan dicari dalam array.
Lihat juga
array.new_float array.set array.push array.remove array.insert
array.max
Fungsi ini mengembalikan nilai maksimum, atau nilai maksimum ke-n dari array yang diberikan.
array.max(id, nth)
Contoh
pine
// array.max
a = array.from(5, -2, 0, 9, 1)
secondHighest = array.max(a, 2) // 1
plot(secondHighest)
Mengembalikan nilai
Nilai terbesar dalam array atau nilai terbesar ke-n
parameter
id(int[]/float[Array Object (Objek Array)nth(series int) mengembalikan nilai terbesar ke-n, di mana 0 adalah nilai terbesar. Opsional. Default adalah nol.
Lihat juga
array.new_float array.min array.sum
array.min
Fungsi ini mengembalikan nilai minimum, atau nilai minimum n dalam urutan yang diberikan.
array.min(id, nth)
Contoh
pine
// array.min
a = array.from(5, -2, 0, 9, 1)
secondLowest = array.min(a, 1) // 0
plot(secondLowest)
Mengembalikan nilai
Minimal atau n-minimal dalam array.
parameter
id(int[]/float[Array Object (Objek Array)nth(series int) Mengembalikan nilai minimum ke-n, di mana 0 adalah nilai minimum. Opsional. Default adalah nol.
Lihat juga
array.new_float array.max array.sum
array.median
Fungsi ini mengembalikan median dari unsur-unsur array.
array.median(id)
Contoh
pine
// array.median example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.median(a))
Mengembalikan nilai
Median dari elemen array.
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.avg array.variance array.min
array.mode
Fungsi ini mengembalikan pola elemen array. Jika ada lebih dari satu nilai dengan frekuensi yang sama, maka akan dikembalikan nilai minimum.
array.mode(id)
Contoh
pine
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
Mengembalikan nilai
Pola elemen array.
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.new_float array.avg array.variance array.min
array.percentile_linear_interpolation
Mengembalikan persentase yang ditentukan dari nilai array (persensial) yang lebih kecil atau sama dengan nilainya, menggunakan interpolasi linear.
array.percentile_linear_interpolation(id, percentage)
parameter
id(int[]/float[Array Object (Objek Array)percentage(series int/float) harus sama atau kurang dari persentase nilai yang dikembalikan.
Catatan
Dalam statistik, persentase adalah persentase dari peringkat yang muncul pada suatu skor atau di bawah skor tertentu. Pengukuran ini menunjukkan persentase persentase dari distribusi frekuensi standar yang lebih rendah dari peringkat persentase yang Anda ukur.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.percentile_nearest_rank
Menggunakan metode Recent Ranking untuk mengembalikan nilai array yang ditentukan persentase (persensial) lebih kecil dari atau sama dengan nilainya.
array.percentile_nearest_rank(id, percentage)
parameter
id(int[]/float[Array Object (Objek Array)percentage(series int/float) harus sama atau kurang dari persentase nilai yang dikembalikan.
Catatan
Dalam statistik, persentase adalah persentase dari peringkat yang muncul pada atau di bawah skor tertentu. Pengukuran ini menunjukkan persentase yang lebih rendah dari distribusi frekuensi standar peringkat persentase yang Anda ukur.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.percentrank
Mengembalikan urutan persentase dari nilai rata-rata array.
array.percentrank(id, index)
parameter
id(int[]/float[Array Object (Objek Array)index(series int) Menghitung persentase peringkatnya.
Catatan
Peringkat persentase adalah persentase dari berapa banyak elemen dalam array yang lebih kecil atau sama dengan nilai referensi.
Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending
array.range
Fungsi ini mengembalikan perbedaan antara nilai minimum dan maksimum dari array yang diberikan.
array.range(id)
Contoh
pine
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
Mengembalikan nilai
Perbedaan antara nilai minimum dan maksimum dalam sebuah array.
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.new_float array.min array.max array.sum
array.remove
Fungsi ini mengubah konten array dengan menghapus elemen dengan indeks yang ditentukan.
array.remove(id, index)
Contoh
pine
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
Mengembalikan nilai
Nilai elemen yang dihapus.
parameter
id(any array type) objek arrayindex(series int) Indeks elemen yang akan dihapus.
Lihat juga
array.new_float array.set array.push array.insert array.pop array.shift
array.reverse
Fungsi ini membalikkan array. Elemen array pertama menjadi yang terakhir, dan elemen array terakhir menjadi yang pertama.
array.reverse(id)
Contoh
pine
// array.reverse example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.get(a, 0))
array.reverse(a)
plot(array.get(a, 0))
parameter
id(any array type) objek array
Lihat juga
array.new_float array.sort array.push array.set array.avg
array.from
Fungsi ini menggunakan parameter variabel dari salah satu jenis berikut: int, float, bool, string, line, color, linefill, dan mengembalikan array dari jenis yang sesuai.
array.from(arg0, arg1, ...)
Contoh
pine
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
Mengembalikan nilai
Nilai dari elemen array
parameter
arg0, arg1, ...(series int/float/bool/color/string/line/linefill) Array argumen。
array.new
Fungsi ini membuat sebuah<type>Obyek array elemen.
array.new(size, initial_value)
Contoh
pine
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
Contoh
pine
// array.new<color> example
a = array.new<color>()
array.push(a, color.red)
array.push(a, color.green)
plot(close, color = array.get(a, close > open ? 1 : 0))
Contoh
pine
// array.new<float> example
length = 5
var a = array.new<float>(length, close)
if array.size(a) == length
array.remove(a, 0)
array.push(a, close)
plot(array.sum(a) / length, "SMA")
Contoh
pine
// array.new<line> example
// draw last 15 lines
var a = array.new<line>()
array.push(a, line.new(bar_index - 1, close[1], bar_index, close))
if array.size(a) > 15
ln = array.shift(a)
line.delete(ln)
Mengembalikan nilai
ID objek array yang dapat digunakan bersama dengan array lainnya.*Fungsi ().
parameter
size(series int) ukuran awal dari rangkaian. opsional. default 0initial_value(series <type>) adalah nilai awal dari semua elemen seri.
Catatan
Array index dimulai dari 0.
Jika Anda ingin menginisialisasi sebuah array dan menentukan semua elemen-elemennya pada saat yang sama, gunakan fungsi array.from.
Lihat juga
array.from array.push array.get array.size array.remove array.shift array.sum
array.new_bool
Fungsi ini membuat sebuah objek array baru yang terdiri dari elemen tipe bool.
array.new_bool(size, initial_value)
Contoh
pine
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
Mengembalikan nilai
ID objek array yang dapat digunakan bersama dengan array lainnya.*Fungsi ().
parameter
size(series int) ukuran awal dari rangkaian. opsional. default 0initial_value(series bool) Nilai awal dari semua elemen seri. Opsional. Default adalah <unk>na<unk>.
Catatan
Array index dimulai dari 0.
Lihat juga
array.new_float array.get array.slice array.sort
array.new_float
Fungsi ini menciptakan sebuah objek array elemen floating point baru.
array.new_float(size, initial_value)
Contoh
pine
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
Mengembalikan nilai
ID objek array yang dapat digunakan bersama dengan array lainnya.*Fungsi ().
parameter
size(series int) ukuran awal dari rangkaian. opsional. default 0initial_value(series int/float) Nilai awal dari semua elemen seri。 opsional。 defaultnya adalah <unk>na<unk>。
Catatan
Array index dimulai dari 0.
Lihat juga
array.new_bool array.get array.slice array.sort
array.new_int
Fungsi ini menciptakan sebuah objek array baru yang terdiri dari elemen tipe int.
array.new_int(size, initial_value)
Contoh
pine
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
Mengembalikan nilai
ID objek array yang dapat digunakan bersama dengan array lainnya.*Fungsi ().
parameter
size(series int) ukuran awal dari rangkaian. opsional. default 0initial_value(series int) Nilai awal dari semua elemen seri. Opsional. Default adalah <unk>na<unk>.
Catatan
Array index dimulai dari 0.
Lihat juga
array.new_float array.get array.slice array.sort
array.new_string
Fungsi ini membuat sebuah objek array baru dari elemen tipe string.
array.new_string(size, initial_value)
Contoh
pine
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
Mengembalikan nilai
ID objek array yang dapat digunakan bersama dengan array lainnya.*Fungsi ().
parameter
size(series int) ukuran awal dari rangkaian. opsional. default 0initial_value(series string) Nilai awal dari semua elemen seri. Opsional. Nilai default adalah <unk>na<unk>.
Catatan
Array index dimulai dari 0.
Lihat juga
array.new_float array.get array.slice
array.get
Fungsi ini mengembalikan nilai dari elemen yang diindekskan.
array.get(id, index)
Contoh
pine
// array.get example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i] - open[i])
plot(array.get(a, 9))
Mengembalikan nilai
Nilai dari elemen array
parameter
id(any array type) objek arrayindex(series int) Mengembalikan indeks dari elemen yang nilainya.
Lihat juga
array.new_float array.set array.slice array.sort
array.push
Fungsi ini menambahkan sebuah nilai ke array tersebut.
array.push(id, value)
Contoh
pine
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
parameter
id(any array type) objek arrayvalue(series <type of the array's elements>) Ditambahkan ke nilai elemen di akhir array.
Lihat juga
array.new_float array.set array.insert array.remove array.pop array.unshift
array.set
Fungsi ini menetapkan nilai elemen sebagai indeks yang ditentukan.
array.set(id, index, value)
Contoh
pine
// array.set example
a = array.new_float(10)
for i = 0 to 9
array.set(a, i, close[i])
plot(array.sum(a) / 10)
parameter
id(any array type) objek arrayindex(series int) Mengubah indeks elemen.value(series <type of the array's elements>) Nilai baru yang harus disetel.
Lihat juga
array.new_float array.get array.slice
array.sum
Fungsi ini mengembalikan jumlah elemen array.
array.sum(id)
Contoh
pine
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
Mengembalikan nilai
Jumlah elemen array.
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.new_float array.max array.min
array.avg
Fungsi ini mengembalikan nilai rata-rata dari elemen array.
array.avg(id)
Contoh
pine
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
Mengembalikan nilai
Nilai rata-rata dari elemen array.
parameter
id(int[]/float[Array Object (Objek Array)
Lihat juga
array.new_float array.max array.min array.stdev
array.indexof
Fungsi ini akan mengembalikan indeks pertama kali muncul. Jika tidak ditemukan, maka akan dikembalikan -1.
array.indexof(id, value)
Contoh
pine
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
Mengembalikan nilai
Indeks unsur
parameter
id(any array type) objek arrayvalue(series <type of the array's elements>) Nilai yang akan dicari dalam array.
Lihat juga
array.lastindexof array.get array.lastindexof array.remove array.insert
strategy
adastrategyDalam fungsi built-in yang terkait, stop loss dan stop loss didefinisikan sebagai kelipatan harga yang melompat. Misalnya:strategy.exitFungsiprofit、lossParameter dalam titik menunjukkan stop loss, parameterprofitSetel ke 10, yaitu harga melompat kalikan 10 sebagai stop loss, harga melompat adalah variabel internalsyminfo.mintick。
strategy
Fungsi ini menetapkan beberapa atribut kebijakan:
Catatan: Referensi hanya mendukungtitle,shorttitle,overlay,pyramiding,default_qty_type,default_qty_valueParameter, parameter lainnya dapat disetel melalui parameter antarmuka dari kebijakan bahasa PINE.
strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate)
Contoh
pine
strategy("Strategy", overlay = true)
// Enter long by market if current open is greater than previous high.
strategy.entry("Long", strategy.long, 1, when = open > high[1])
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.exit("Exit", "Long", profit = 10, loss = 5)
parameter
title(const string) akan muncul di index/strategi plugin.shorttitle(const string) Indikator yang akan terlihat dalam diagram contoh. Parameternya adalah opsional.overlay(const bool) Jika true, maka indikator ini akan ditambahkan sebagai lapisan superimposisi dari seri utama. Jika false - akan ditambahkan ke jendela grafik terpisah. Secara default false.(const string) Tipe nilai yang mungkin diformat untuk nilai indikator pada sumbu harga adalah: format.inherit, format.price, format.volume。 default format.inherit。format(const int) Angka setelah floating-point dari nilai indikator pada sumbu harga. Harus non-negatif dan tidak lebih besar dari 16. Jika dihilangkan, gunakan format seri induk. Jika format adalah format.inherit dan parameter ini ditetapkan, format akan berubah menjadi format.price.precision(scale_type) Indikator harus mengikuti koordinat harga. Nilai yang mungkin adalah: scale.right,scale.left,scale.none. Nilai scale.none hanya dapat hanya dapat digunakan dengan pengaturan 'overlay=true'scalepyramiding(const int) Jumlah maksimum yang diizinkan untuk satu arah. Jika nilai ini adalah 0, hanya satu pesanan masuk yang dapat dibuka di arah yang sama, dan setiap pesanan masuk lainnya akan ditolak.(const bool) Perhitungan pesanan intrabar tambahan. Jika parameternya ditetapkan untuk <unk>true<unk>, maka kebijakan akan dihitung ulang setelah K line diisi setelah pesanan (bukan hanya ketika k line ditutup).calc_on_order_fills(const bool) Perhitungan kebijakan intrabar tambahan. Jika parameter adalah true, kebijakan akan menghitung setiap detik secara real time tanpa menutup k line. Perhitungan kebijakan yang tidak mempengaruhi data historis.calc_on_every_tick(const int) jumlah maksimum frame yang dapat digunakan untuk strategi referensi sejarah. Jika data historis variabel dikutip dalam kode skrip, maka digunakan '[]' operator), maka parameter ini akan diterapkan pada setiap variabel built-in atau variabel pengguna dalam skrip. Ukuran variable buffer zone dalam skrip Pine biasanya terdeteksi secara otomatis. Namun, dalam beberapa kasus ini tidak mungkin, yang merupakan alasan mengapa parameter memungkinkan pengguna untuk mengatur batas bawah nilai secara manual.max_bars_back(const int) Limit order execution hypothesis. Hanya jika harga pasar melebihi jumlah tick yang ditentukan dari level limit order, limit order akan bertransaksi di intrabar.backtest_fill_limits_assumptiondefault_qty_type(const string) ditentukan untukqtyNilai parameter yang dinyatakan dalam fungsi strategi.entry atau strategi.order. Nilai yang mungkin adalah: strategi.fixed menunjukkan kontrak / saham / jumlah jam, strategi.cash menunjukkan jumlah uang, atau strategi.percent_of_equity menunjukkan persentase hak dan kepentingan yang tersedia.default_qty_value(const int/float) jumlah transaksi default dari fungsi strategy.entry atau strategy.order, yang unitnya ditentukan oleh parameter yang digunakan bersama dengan parameter 'default_qty_type' ketika parameter 'qty' mereka tidak didefinisikan.(const string) Mata uang akun untuk kebijakan ini. opsional. Default adalah mata uang dari komoditas di grafik. Nilai yang mungkin: currency.NONE, currency.USD, currency.EUR, currency.AUD, currency.GBP, currency.NZD, currency.CAD, currency.CHF, currency.HKD, currency.JPY, currency.NOK, currency.SEK, currency.SGD, currency.TRY, currency.ZAR, currency.BTC, currency.ETH, currency.MYR, currency.KRWcurrency(const int) Slip point dengan tick sebagai satuan penawaran, akan ditambah/dikurangi dari harga transaksi untuk buy/sell atau stop loss. Jika mintick = 0.01 dan slip point = 5, maka total slip point akan menjadi 5 * 0.01 = 0.05。slippage(const string) Tipe komisi untuk setiap order. Nilai yang diizinkan adalah: strategy.commission.percent (persentabilitas dari jumlah uang pesanan), strategy.commission.cash_per_contract (jumlah uang dalam mata uang akun untuk setiap kontrak), strategy.commission.cash_per_order (jumlah uang dalam mata uang akun untuk setiap pesanan).commission_type(const int/float) Nilai komisi pesanan. Komision tergantung pada jenis yang dipilih (jenis komisi) termasuk persentase atau jumlah.commission_value- ~~
process_orders_on_close~~Jika (const bool) disetel ke True, maka akan menghasilkan percobaan lain untuk melakukan order setelah penarikan penutupan grafik dan menyelesaikan perhitungan strategi. Jika order adalah order harga pasar, maka simulator broker akan mengeksekusi mereka sebelum penarikan grafik berikutnya dibuka. Jika order adalah harga batas, maka order hanya akan dieksekusi jika kondisi harga terpenuhi. (const string) Menentukan urutan penutupan pesanan. Nilai yang diizinkan adalah: 'FIFO' atau 'ANY'. FIFO ((First-In, First-Out) berarti bahwa ketika beberapa transaksi dibuka, yang pertama harus ditutup. Aturan ini berlaku untuk saham, futures, dan FX AS (NFA sesuai dengan aturan 2-43b). 'ANY' berarti bahwa perdagangan dapat ditutup dalam urutan apa pun; ini diizinkan dalam perdagangan FX non-AS.close_entries_rule(const int) Menampilkan jumlah bar graph terbaru. Default adalah 50, max value yang diizinkan 500.max_lines_count(const int) Menampilkan jumlah gambar tag terbaru. Default adalah 50, maksimum yang diizinkan 500.max_labels_count(const int) Jumlah gambar kotak terakhir yang ditampilkan. Nilai default adalah 50, nilai maksimum yang diizinkan adalah 500.max_boxes_count(const int/float) Float adalah persentase dari harga pembelian sekuritas yang posisi float harus ditutupi dengan uang tunai atau jaminan. Harus non-negatif. Opsional.margin_long(const int/float) Jaminan kosong adalah persentase dari harga pembelian sekuritas yang posisi kosong harus ditutupi dengan uang tunai atau jaminan. Harus non-negatif.margin_short(const bool) Menentukan urutan penggambaran, pengisian, dan garis horisontal dari indikator. Jika benar, maka grafik akan digambarkan berdasarkan urutan mereka muncul dalam kode indikator, setiap grafik yang lebih baru digambarkan di atas grafik sebelumnya. Ini hanya berlaku untuk plot*Fungsi () fill dan hline. Opsional. Default adalah false.explicit_plot_zorder(const int/float) Jumlah dana yang awalnya dapat digunakan untuk strategi trading, dalam mata uang yang didefinisikan dalam kotak mata uang. Opsional. Default adalah 1000000initial_capital(const int/float) Tingkat pengembalian tanpa risiko adalah perubahan persentase tahunan dari nilai investasi dengan risiko minimal atau nol, yang digunakan untuk menghitung rasio Sharpe dan Sortino. Nilai default adalah 2risk_free_rate
Catatan
Setiap skrip strategi harus memiliki panggilan strategi.
Kode PineScript yang menggunakan parameter calc_on_every_tick = true dapat melakukan perhitungan yang berbeda untuk catatan sejarah dan data real-time.
Ketika menggunakan jenis grafik non-standar sebagai dasar strategi, Anda perlu tahu bahwa hasilnya akan berbeda. Pesanan akan dieksekusi pada harga dari tabel tersebut (misalnya, untuk Heikin Ashi akan menggunakan harga Heikin Ashi (rata-rata) bukan harga pasar yang sebenarnya). Oleh karena itu, kami sangat menyarankan Anda untuk menggunakan jenis grafik standar dalam strategi Anda.
Lihat juga
indicator
strategy.entry
Ini adalah perintah untuk masuk ke pasar. Anda dapat memodifikasi pesanan jika ada pesanan dengan ID yang sama yang telah dipegang. Jika tidak ada pesanan dengan ID yang ditentukan, pesanan baru akan dikeluarkan. Untuk menghentikan perintah masuk, gunakan perintah strategy.cancel atau strategy.cancel_all. Dibandingkan dengan fungsi strategy.order, fungsi strategy.entry dipengaruhi oleh piramida dan dapat membalikkan posisi pasar dengan benar.
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Contoh
pine
strategy(title = "simple strategy entry example")
strategy.entry("enter long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.entry("enter short", strategy.short, 1, when = open < low[1]) // enter short by market if current open less then previous low
parameter
id(series string) Parameter yang diperlukan。 Identifier order。 Anda dapat membatalkan atau memodifikasi order dengan merujuk pada identifiernya。direction(strategy_direction) Sebuah parameter yang diperlukan. Arah posisi pasar: 'strategy.long' untuk multihead, 'strategy.short' untuk blank head.qty(series int/float) Parameter yang dapat dipilih. Kontrak / jumlah saham / jam / jumlah unit yang diperdagangkan.limit(series int/float) Parameter yang dapat dipilih. Harga batas pesanan. Jika telah ditentukan, jenis pesanan adalah "limit" atau "stop-limit".stop(series int/float) Parameter yang dapat dipilih. Stop loss order. Jika telah ditentukan, jenis order adalah "stop" atau "stop-limit".(series string) Optional parameter ◦ Pesanan ini termasuk dalam nama OCA Group ◦ Jika pesanan tidak termasuk dalam grup OCA, harus ada karakter kosong ◦Catatan: FMZ tidak mendukung parameter ini.oca_name(input string) Optional parameter ◦ Tipe OCA order group ◦ Nilai yang diizinkan adalah: strategy.oca.none - order tidak boleh menjadi bagian dari OCA group tertentu; strategy.oca.cancel - order harus menjadi bagian dari OCA group, dan semua order lain dalam kelompok yang sama akan dibatalkan setelah order diserahkan; strategy.oca.reduce - order harus menjadi bagian dari OCA group, dan jika jumlah X dari kontrak order telah ditempatkan, maka jumlah X dari kontrak order lainnya dalam kelompok OCA yang sama akan dikurangi ◦Catatan: FMZ tidak mendukung parameter ini.oca_typecomment(series string) Parameter yang dapat dipilih.when(series bool) Optional parameter。 status order。 jika "true", order ditempatkan。 jika "false", tidak ada yang terjadi ((order dengan ID yang sama yang ditempatkan sebelumnya tidak dibatalkan)。 defaultnya adalah "true"。alert_message(series string) Sebuah parameter yang dapat dipilih ketika Anda menggunakan {{strategy.order.alert_message}} dalam bidang pesan pesan di kotak dialog yang membuat pesan alarm.
strategy.close
Ini adalah perintah keluar dengan ID yang ditentukan. Jika ada beberapa pesanan masuk dengan ID yang sama, mereka akan keluar pada saat yang sama. Jika tidak ada pesanan terbuka dengan ID yang ditentukan pada saat perintah dipicu, perintah tidak akan berlaku. Perintah ini menggunakan pesanan pasar.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
Contoh
pine
strategy("closeEntry Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close("buy", when = open < close, qty_percent = 50, comment = "close buy entry for 50%")
plot(strategy.position_size)
parameter
id(series string) Parameter yang diperlukan。 Pengidentifikasi pesanan。 Anda dapat menutup pesanan dengan mengacu pada identitasnya。when(series bool) Optional parameter. Syarat perintah.qty(series int/float) Parameter yang dapat dipilih. Jumlah kontrak / saham / jam / unit yang keluar dari transaksi. Nilai default adalah 'NaN'qty_percent(series int/float) mendefinisikan persentase posisi kosong ((0-100) ≠ prioritasnya lebih rendah dari prioritas parameter 'qty' ≠ opsional ≠ default 100 ≠comment(series string) Parameter yang dapat dipilih.alert_message(series string) Sebuah parameter yang dapat dipilih ketika Anda menggunakan {{strategy.order.alert_message}} dalam bidang pesan pesan di kotak dialog yang membuat pesan alarm.
strategy.close_all
Keluar dari posisi pasar saat ini dan membuatnya tetap.
strategy.close_all(when, comment, alert_message)
Contoh
pine
strategy("closeAll Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close_all(when = open < close, comment = "close all entries")
plot(strategy.position_size)
parameter
when(series bool) Optional parameter. Syarat perintah.comment(series string) Parameter yang dapat dipilih.alert_message(series string) Sebuah parameter yang dapat dipilih ketika Anda menggunakan {{strategy.order.alert_message}} dalam bidang pesan pesan di kotak dialog yang membuat pesan alarm.
strategy.exit
Ini adalah perintah untuk keluar dari posisi masuk atau seluruh pasar. Anda dapat memodifikasi pesanan jika ada pesanan dengan ID yang sama yang telah ditangguhkan. Jika pesanan masuk tidak ditransfer, tetapi ada pesanan keluar, maka pesanan keluar akan ditunda sampai setelah pesanan masuk ditransfer, Anda dapat menempatkan pesanan keluar. Untuk menghentikan pesanan keluar, gunakan perintah strategy.cancel atau strategy.cancel_all. Jika fungsi strategy.exit dipanggil sekali, Anda hanya akan keluar sekali.
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)
Contoh
pine
strategy(title = "simple strategy exit example")
strategy.entry("long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.exit("exit", "long", profit = 10, loss = 5) // generate full exit bracket (profit 10 points, loss 5 points per contract) from entry with name "long"
parameter
id(series string) Parameter yang diperlukan。 Identifier order。 Anda dapat membatalkan atau memodifikasi order dengan merujuk pada identifiernya。from_entry(series string) Optional Parameter ≠ Keluar dengan menunjuk perintah masuk ≠ Keluar dari semua posisi harus menggunakan string kosong ≠ Keluar dengan string kosong sebagai default ≠ Keluar dari semua posisi harus menggunakan string kosongqty(series int/float) Parameter yang dapat dipilih. Jumlah kontrak / saham / jam / unit yang keluar dari transaksi. Nilai default adalah 'NaN'qty_percent(series int/float) mendefinisikan persentase posisi kosong ((0-100) ≠ prioritasnya lebih rendah dari prioritas parameter 'qty' ≠ opsional ≠ default 100 ≠profit(series int/float) parameter yang dapat dipilih. Target keuntungan (dilambangkan dengan poin) Jika telah ditentukan, keluar dari posisi pasar dengan pesanan harga batas saat mencapai jumlah keuntungan yang ditentukan (dilambangkan dengan poin).limit(series int/float) Optional parameter. Target keuntungan (untuk menentukan harga) Jika telah ditentukan, keluar dari posisi pasar dengan harga yang ditentukan (atau lebih baik). Prioritas parameter 'limit' lebih tinggi dari prioritas parameter 'profit' (jika nilai bukan 'NaN', maka 'limit' menggantikan 'profit').loss(series int/float) opsional. Stop loss ((dilambangkan dengan poin) <unk> Jika telah ditentukan, keluar dari posisi pasar dengan stop loss saat mencapai jumlah kerugian yang ditentukan ((titik)).stop(series int/float) Optional Parameter. Stop loss ((harus menentukan harga). Jika telah ditentukan, akan keluar dari posisi pasar dengan harga yang ditentukan (atau lebih buruk). Prioritas parameter 'stop loss' lebih tinggi dari prioritas parameter 'loss' (jika nilai bukan 'NaN', maka 'stop loss' menggantikan 'loss').trail_price(series int/float) Optional Parameter. Tracking Stop Loss Activation Level (diperlukan untuk menentukan harga). Jika telah ditentukan, Tracking Stop Loss akan ditempatkan pada level harga yang telah ditentukan.trail_points(series int/float) Optional parameter ◦ Tracking Stop Loss Activation Level (diekspresikan dalam poin profit) ◦ Jika ditentukan, Tracking Stop Loss will be placed when the calculated price level (diekspresikan dalam poin profit) is reached. Di dalam parameter trail_offset tab yang digunakan untuk menentukan Tracking Stop Loss Initial Price offset (dihitung dalam poin): X point below the activation level to exit multihead; X point above the activation level to exit blank head.trail_offset(series int/float) parameter opsional. Tracking stop loss activation level ((dilambangkan dengan poin) Dilambangkan dengan poin. Perpindahan dalam poin digunakan untuk menentukan harga awal tracking stop loss: X poin lebih rendah dari 'trail_price' atau 'trail_points' untuk keluar dari multihead; X poin lebih tinggi dari 'trail_price' atau 'trail_points' untuk keluar dari head kosong.(series string) Optional parameter。 nama OCA group (oca_type = strategy.oca.reduce) profit target, stop loss/track stop loss。 jika nama tidak ditentukan, nama tersebut akan dihasilkan secara otomatis。Catatan: FMZ tidak mendukung parameter ini.oca_namecomment(series string) Parameter yang dapat dipilih.when(series bool) Optional parameter。 status order。 jika "true", order ditempatkan。 jika "false", tidak ada yang terjadi ((order dengan ID yang sama yang ditempatkan sebelumnya tidak dibatalkan)。 defaultnya adalah "true"。alert_message(series string) Sebuah parameter yang dapat dipilih ketika Anda menggunakan {{strategy.order.alert_message}} dalam bidang pesan pesan di kotak dialog yang membuat pesan alarm.
strategy.cancel
Ini adalah perintah untuk membatalkan/menonaktifkan semua daftar pra-pendekatan dengan nama referensi, yang dihasilkan oleh fungsi berikut: strategy.order, strategy.entry and strategy.exit <unk>
strategy.cancel(id, when)
Contoh
pine
strategy(title = "simple order cancellation example")
conditionForBuy = open > high[1]
strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true
strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false
parameter
id(series string) Parameter yang harus dipilih。 identifikasi pesanan。 lokasi identifikasi untuk membatalkan pesanan。when(series bool) optional parameter. <unk> membatalkan sebuah order berdasarkan ID. <unk> Jika "true", order akan dibatalkan. <unk> Default value is "true" <unk>
strategy.cancel_all
Ini adalah perintah pembatalan / penundaan semua perintah daftar pendahuluan, yang dihasilkan oleh fungsi berikut: strategy.order, strategy.entry dan strategy.exit.
strategy.cancel_all(when)
Contoh
pine
strategy(title = "simple all orders cancellation example")
conditionForBuy1 = open > high[1]
strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true
conditionForBuy2 = conditionForBuy1 and open[1] > high[2]
strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true
conditionForStopTrading = open < ta.lowest(low, 2)
strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true
parameter
when(series bool) Optional Parameter ≠ membatalkan kondisi semua order ≠ Semua order aktif akan dibatalkan jika kondisi adalah true ≠ default adalah <unk>true<unk> ≠
strategy.order
Ini adalah perintah untuk pesanan berikutnya. Anda dapat mengubah pesanan jika ada pesanan dengan ID yang sama yang telah dipegang. Jika tidak ada pesanan dengan ID yang ditentukan, pesanan baru akan dikeluarkan. Untuk menghentikan pesanan, Anda harus menggunakan perintah strategy.cancel atau strategy.cancel_all.
strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Contoh
strategy(title = "simple strategy order example")
strategy.order("buy", strategy.long, 1, when = open > high[1]) // buy by market if current open great then previous high
strategy.order("sell", strategy.short, 1, when = open < low[1]) // sell by market if current open less then previous low
parameter
id(series string) Parameter yang diperlukan。 Identifier order。 Anda dapat membatalkan atau memodifikasi order dengan merujuk pada identifiernya。direction(strategy_direction) Sebuah parameter yang diperlukan. Arah pesanan: 'strategy.long' untuk membeli, 'strategy.short' untuk menjual.qty(series int/float) Parameter yang dapat dipilih. Kontrak / jumlah saham / jam / jumlah unit yang diperdagangkan.limit(series int/float) Parameter yang dapat dipilih. Harga batas pesanan. Jika telah ditentukan, jenis pesanan adalah "limit" atau "stop-limit".stop(series int/float) Parameter yang dapat dipilih. Stop loss order. Jika telah ditentukan, jenis order adalah "stop" atau "stop-limit".(series string) Optional parameter ◦ Pesanan ini termasuk dalam nama OCA Group ◦ Jika pesanan tidak termasuk dalam grup OCA, harus ada karakter kosong ◦Catatan: FMZ tidak mendukung parameter ini.oca_name(input string) Optional parameter ◦ Tipe OCA order group ◦ Nilai yang diizinkan adalah: strategy.oca.none - order tidak boleh menjadi bagian dari OCA group tertentu; strategy.oca.cancel - order harus menjadi bagian dari OCA group, dan semua order lain dalam kelompok yang sama akan dibatalkan setelah order diserahkan; strategy.oca.reduce - order harus menjadi bagian dari OCA group, dan jika jumlah X dari kontrak order telah ditempatkan, maka jumlah X dari kontrak order lainnya dalam kelompok OCA yang sama akan dikurangi ◦Catatan: FMZ tidak mendukung parameter ini.oca_typecomment(series string) Parameter yang dapat dipilih.when(series bool) Optional parameter。 status order。 jika "true", order ditempatkan。 jika "false", tidak ada yang terjadi ((order dengan ID yang sama yang ditempatkan sebelumnya tidak dibatalkan)。 defaultnya adalah "true"。alert_message(series string) Sebuah parameter yang dapat dipilih ketika Anda menggunakan {{strategy.order.alert_message}} dalam bidang pesan pesan di kotak dialog yang membuat pesan alarm.
strategy.opentrades.entry_bar_index
Kembali ke bar_index untuk trading entry yang belum dihapus.
strategy.opentrades.entry_bar_index(trade_num)
Tunggu 10 garis K dan tutup posisi.
Contoh
pine
strategy("`strategy.opentrades.entry_bar_index` Example")
barsSinceLastEntry() =>
strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na
// Enter a long position if there are no open positions.
if strategy.opentrades == 0
strategy.entry("Long", strategy.long)
// Close the long position after 10 bars.
if barsSinceLastEntry() >= 10
strategy.close("Long")
parameter
trade_num(series int) Nomor transaksi transaksi yang belum diimbangi. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.entry_bar_index strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_id
ID yang dikembalikan untuk masuk ke dalam transaksi yang belum diimbangi.
strategy.opentrades.entry_id(trade_num)
Contoh
pine
strategy("`strategy.opentrades.entry_id` Example", overlay = true)
// We enter a long position when 14 period sma crosses over 28 period sma.
// We enter a short position when 14 period sma crosses under 28 period sma.
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
// Strategy calls to enter a long or short position when the corresponding condition is met.
if longCondition
strategy.entry("Long entry at bar #" + str.tostring(bar_index), strategy.long)
if shortCondition
strategy.entry("Short entry at bar #" + str.tostring(bar_index), strategy.short)
// Display ID of the latest open position.
if barstate.islastconfirmedhistory
runtime.log("Last opened position is " + strategy.opentrades.entry_id(strategy.opentrades - 1))
Mengembalikan nilai
ID yang dikembalikan untuk masuk ke dalam transaksi yang belum diimbangi.
parameter
trade_num(series int) Nomor transaksi transaksi yang belum diimbangi. Nomor transaksi pertama adalah nol.
Catatan
Jika trade_num tidak berada dalam kisaran, maka fungsi ini akan mengembalikan na:0 ke strategy.opentrades-1。
Lihat juga
strategy.opentrades.entry_bar_index strategy.opentrades.entry_time
strategy.opentrades.entry_price
Harga masuk kembali untuk transaksi yang belum teratasi.
strategy.opentrades.entry_price(trade_num)
Contoh
pine
strategy("strategy.closedtrades.entry_price Example 1")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Return the entry price for the latest closed trade.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)
plot(entryPrice, "Long entry price")
Perhitungan harga rata-rata posisi yang belum diimbangi
Contoh
pine
strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average open position price.
avgOpenPositionPrice() =>
sumOpenPositionPrice = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size
result = nz(sumOpenPositionPrice / strategy.opentrades)
plot(avgOpenPositionPrice())
parameter
trade_num(series int) Nomor transaksi transaksi yang belum diimbangi. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.exit_price
strategy.opentrades.entry_time
Kembali ke waktu UNIX untuk trading entry.
strategy.opentrades.entry_time(trade_num)
Contoh
pine
strategy("strategy.opentrades.entry_time Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculates duration in milliseconds since the last position was opened.
timeSinceLastEntry()=>
strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na
plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")
parameter
trade_num(series int) Nomor transaksi transaksi yang belum diimbangi. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.entry_time strategy.closedtrades.exit_time
strategy.opentrades.profit
Kehilangan yang dikembalikan dari transaksi yang belum teratasi. Kerugian dinyatakan sebagai negatif.
strategy.opentrades.profit(trade_num)
Kembali ke keuntungan dari perdagangan terakhir
Contoh
pine
strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")
Menghitung keuntungan dari semua transaksi yang belum diimbangi
Contoh
pine
strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5)
// Strategy calls to enter 5 long positions every 2 bars.
if bar_index % 2 == 0
strategy.entry("Long", strategy.long, qty = 5)
// Calculate open profit or loss for the open positions.
tradeOpenPL() =>
sumProfit = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumProfit += strategy.opentrades.profit(tradeNo)
result = sumProfit
plot(tradeOpenPL(), "Profit of all open trades")
parameter
trade_num(series int) Nomor transaksi transaksi yang belum diimbangi. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.profit strategy.openprofit strategy.netprofit strategy.grossprofit
strategy.opentrades.size
Mengembalikan arah transaksi dan jumlah kontrak dalam transaksi posisi belum teratasi. Jika nilai> 0, maka posisi pasar adalah multiply. Jika nilai < 0, maka posisi pasar adalah kosong.
strategy.opentrades.size(trade_num)
Contoh
pine
strategy("`strategy.opentrades.size` Example 1")
// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
strategy.close("Long")
// Plot the number of contracts in the latest open trade.
plot(strategy.opentrades.size(strategy.opentrades - 1), "Amount of contracts in latest open trade")
Perhitungan persentase laba rata-rata dari transaksi posisi belum teratasi
Contoh
pine
strategy("`strategy.opentrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for all open trades.
profitPct = 0.0
for tradeNo = 0 to strategy.opentrades - 1
entryP = strategy.opentrades.entry_price(tradeNo)
exitP = close
profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100
// Calculate average profit percent for all open trades.
avgProfitPct = nz(profitPct / strategy.opentrades)
parameter
trade_num(series int) Nomor transaksi transaksi yang belum diimbangi. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.size strategy.position_size strategy.opentrades strategy.closedtrades
strategy.closedtrades.entry_bar_index
Kembali ke bar_index dari entry trading yang telah dihapus.
strategy.closedtrades.entry_bar_index(trade_num)
Contoh
pine
strategy("strategy.closedtrades.entry_bar_index Example")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars in a trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.exit_bar_index strategy.opentrades.entry_bar_index
strategy.closedtrades.exit_price
Kembali ke harga keluar dari transaksi yang telah dihapus.
strategy.closedtrades.exit_price(trade_num)
Contoh
pine
strategy("strategy.closedtrades.exit_price Example 1")
// We are creating a long trade every 5 bars
if bar_index % 5 == 0
strategy.entry("Long", strategy.long)
strategy.close("Long")
// Return the exit price from the latest closed trade.
exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)
plot(exitPrice, "Long exit price")
Perhitungan persentase laba rata-rata dari semua transaksi yang telah dihapus
Contoh
pine
strategy("strategy.closedtrades.exit_price Example 2")
// Strategy calls to create single short and long trades.
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.entry_price
strategy.closedtrades.exit_bar_index
Mengembalikan bar_index dari transaksi yang telah dihapus.
strategy.closedtrades.exit_bar_index(trade_num)
Contoh
pine
strategy("strategy.closedtrades.exit_bar_index Example 1")
// Strategy calls to place a single short trade. We enter the trade at the first bar and exit the trade at 10 bars before the last chart bar.
if bar_index == 0
strategy.entry("Short", strategy.short)
if bar_index == last_bar_index - 10
strategy.close("Short")
// Calculate the amount of bars since the last closed trade.
barsSinceClosed = strategy.closedtrades > 0 ? bar_index - strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) : na
plot(barsSinceClosed, "Bars since last closed trade")
Hitung rata-rata K-line per transaksi.
Contoh
pine
strategy("strategy.closedtrades.exit_bar_index Example 2")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars per trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
bar_index
strategy.closedtrades.entry_id
Id yang dikembalikan untuk entri yang telah dihapus.
strategy.closedtrades.entry_id(trade_num)
Contoh
pine
strategy("strategy.closedtrades.entry_id Example", overlay = true)
var isOpen = false
var openIndex = -1
// Enter a short position and close at the previous to last bar.
if not barstate.ishistory and not isOpen
strategy.entry("Short at bar #" + str.tostring(bar_index), strategy.short)
isOpen := true
openIndex := bar_index
if openIndex != -1 and bar_index > openIndex + 100
strategy.close_all()
// Display ID of the last entry position.
if barstate.islastconfirmedhistory
runtime.log("Last Entry ID is: " + strategy.closedtrades.entry_id(strategy.closedtrades - 1))
Mengembalikan nilai
Id yang dikembalikan untuk entri yang telah dihapus.
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Catatan
Jika trade_num tidak berada dalam range, maka fungsi ini akan mengembalikan na:0 ke strategy.closedtrades-1。
Lihat juga
strategy.closedtrades.entry_bar_index strategy.closedtrades.entry_time
strategy.closedtrades.entry_price
Kembali ke harga masuk untuk transaksi yang telah dihapus.
strategy.closedtrades.entry_price(trade_num)
Contoh
pine
strategy("strategy.closedtrades.entry_price Example 1")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Return the entry price for the latest entry.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)
plot(entryPrice, "Long entry price")
Perhitungan persentase laba rata-rata dari semua transaksi yang telah dihapus
Contoh
pine
strategy("strategy.closedtrades.entry_price Example 2")
// Strategy calls to create single short and long trades
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.exit_price strategy.closedtrades.size strategy.closedtrades
strategy.closedtrades.entry_time
Kembali ke waktu UNIX yang telah ditangani.
strategy.closedtrades.entry_time(trade_num)
Contoh
pine
strategy("strategy.closedtrades.entry_time Example", overlay = true)
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Calculate the average trade duration
avgTradeDuration() =>
sumTradeDuration = 0
for i = 0 to strategy.closedtrades - 1
sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
result = nz(sumTradeDuration / strategy.closedtrades)
// Display average duration converted to seconds and formatted using 2 decimal points
if barstate.islastconfirmedhistory
runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.opentrades.entry_time strategy.closedtrades.exit_time time
strategy.closedtrades.profit
Keuntungan yang dikembalikan dari perdagangan yang telah dihapus. Kerugian dinyatakan sebagai nilai negatif.
strategy.closedtrades.profit(trade_num)
Contoh
pine
strategy("`strategy.closedtrades.profit` Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average gross profit by adding the difference between gross profit and commission.
avgGrossProfit() =>
sumGrossProfit = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo)
result = nz(sumGrossProfit / strategy.closedtrades)
plot(avgGrossProfit(), "Average gross profit")
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.opentrades.profit strategy.closedtrades.commission
strategy.closedtrades.size
Mengembalikan arah transaksi dan jumlah kontrak dalam perdagangan yang telah dihapus. Jika nilai > 0, posisi pasar adalah multiply. Jika nilai < 0, posisi pasar adalah kosong.
strategy.closedtrades.size(trade_num)
Contoh
pine
strategy("`strategy.closedtrades.size` Example 1")
// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
strategy.close("Long")
// Plot the number of contracts traded in the last closed trade.
plot(strategy.closedtrades.size(strategy.closedtrades - 1), "Number of contracts traded")
Perhitungan persentase laba rata-rata dari transaksi posisi kosong
Contoh
pine
strategy("`strategy.closedtrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.opentrades.size strategy.position_size strategy.closedtrades strategy.opentrades
strategy.closedtrades.exit_time
Kembali ke waktu UNIX untuk keluar dari transaksi yang telah dihapus.
strategy.closedtrades.exit_time(trade_num)
Contoh
pine
strategy("strategy.closedtrades.exit_time Example 1")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Calculate the average trade duration.
avgTradeDuration() =>
sumTradeDuration = 0
for i = 0 to strategy.closedtrades - 1
sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
result = nz(sumTradeDuration / strategy.closedtrades)
// Display average duration converted to seconds and formatted using 2 decimal points.
if barstate.islastconfirmedhistory
label.new(bar_index, high, str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")
Setelah X detik, buka kembali posisi yang telah ditutup.
Contoh
strategy("strategy.closedtrades.exit_time Example 2")
// Strategy calls to emulate a single long trade at the first bar.
if bar_index == 0
strategy.entry("Long", strategy.long)
reopenPositionAfter(timeSec) =>
if strategy.closedtrades > 0
if time - strategy.closedtrades.exit_time(strategy.closedtrades - 1) >= timeSec * 1000
strategy.entry("Long", strategy.long)
// Reopen last closed position after 120 sec.
reopenPositionAfter(120)
if ta.change(strategy.opentrades)
strategy.exit("Long", stop = low * 0.9, profit = high * 2.5)
parameter
trade_num(series int) Nomor transaksi yang telah ditargetkan. Nomor transaksi pertama adalah nol.
Lihat juga
strategy.closedtrades.entry_time
strategy.risk.allow_entry_in
Fungsi ini dapat digunakan untuk menentukan strategi. fungsi entri di mana posisi di pasar diperbolehkan.
strategy.risk.allow_entry_in(value)
Contoh
pine
strategy("strategy.risk.allow_entry_in")
strategy.risk.allow_entry_in(strategy.direction.long)
strategy.entry("Long", strategy.long, when = open > close)
// Instead of opening a short position with 10 contracts, this command will close long entries.
strategy.entry("Short", strategy.short, when = open < close, qty = 10)
parameter
value(simple string) arah yang diizinkan. Nilai yang mungkin:strategy.direction.all、strategy.direction.long、strategy.direction.short
strategy.risk.max_position_size
Tujuan dari aturan ini adalah untuk menentukan nilai maksimum posisi pasar. Aturan ini mempengaruhi fungsi berikut:strategy.entry。 Jumlah entry yang diperlukan dapat dikurangi (jika diperlukan) menjadi jumlah kontrak/saham/tangan/unit, sehingga total nilai posisi tidak melebihi nilai yang ditentukan dalam 'strategy.risk.max_position_size'。 Jika jumlah minimum masih melanggar aturan, order tidak akan ditempatkan。
strategy.risk.max_position_size(contracts)
Contoh
pine
strategy("risk.max_position_size Demo", default_qty_value = 100)
strategy.risk.max_position_size(10)
strategy.entry("buy", strategy.long, when = open > close)
plot(strategy.position_size) // max plot value will be 10
parameter
contracts(simple int/float) Parameter yang diperlukan. Jumlah maksimum kontrak / saham / tangan / unit dari posisi.
math
math.abs
Jikanumber >= 0,numberNilai absolutnya adalahnumberJika tidak -number。
math.abs(number)
Mengembalikan nilai
numberNilai mutlak ≠
math.acos
Fungsi acos mengembalikan antariksa dari angka ((diwakili dalam bentuk kurva), seperti cos ((acos ((y)) = y dalam kisaran y.[-1, 1]。
math.acos(angle)
Mengembalikan nilai
Nilai resonansi. Jika y berada di luar jangkauan[-1,1], kembalikan sudut pada[0, Pi] atau na dalam lingkup.
math.random
Mengembalikan nilai pseudo-random. Fungsi ini akan menghasilkan urutan nilai yang berbeda untuk setiap skrip yang dijalankan. Menggunakan nilai yang sama untuk parameter seed yang dapat dipilih akan menghasilkan urutan yang dapat diulang.
math.random(min, max, seed)
Mengembalikan nilai
Sebuah nilai acak.
parameter
min(series int/float) Batas bawah dari rentang nilai acak. Nilai tersebut tidak termasuk dalam rentang. Nilai default adalah 0max(series int/float) Batas atas dari rentang nilai acak. Nilai tersebut tidak termasuk dalam rentang. Nilai default adalah 1seed(input int) Optional parameter. Diizinkan untuk memanggil fungsi ini secara berurutan untuk menghasilkan satu set nilai yang dapat diulang bila menggunakan seed yang sama.
math.asin
Fungsi asin mengembalikan sinonim dari angka ((dilambangkan dengan kurva), sinonim ((asin ((y)) = y dalam kisaran y[-1, 1]。
math.asin(angle)
Mengembalikan nilai
Nilai resonansi. Jika y keluar dari kisaran[-1,1], kembalikan sudut pada[-Pi / 2, Pi / 2] atau na dalam lingkup ≠
math.atan
Fungsi atan mengembalikan angka yang berlawanan arah dengan garis bujur (((diwakili dengan garis bujur), tan (((atan ((y)) = y dari y manapun.
math.atan(angle)
Mengembalikan nilai
Nilai pemotongan terbalik; sudut kembali pada[-Pi / 2, Pi / 2] dalam lingkup.
math.ceil
Fungsi uptake integer mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan argumen ((paling mendekati negatif tak terbatas) ≠ ∞.
math.ceil(number)
Mengembalikan nilai
Lebih kecil dari atau sama dengan bilangan bulat terkecil dari angka yang diberikan
Lihat juga
math.floor math.round
math.cos
Fungsi cos kembalikan sudut pada sumbu triangle.
math.cos(angle)
Mengembalikan nilai
Garis segitiga di sudut.
parameter
angle(series int/float) sudut, dengan kelengkungan
math.exp
numberJadi saya akan mengatakan bahwa exp adalah e.numberKalimat, di mana e adalah bilangan Euler.
math.exp(number)
Mengembalikan nilai
Satu nilai untuk e, yaitu <unk>.number(Inggris)
Lihat juga
math.pow
math.floor
math.floor(number)
Mengembalikan nilai
Lebih kecil dari atau sama dengan bilangan bulat terbesar dari angka yang diberikan.
Lihat juga
math.ceil math.round
math.log
Apa pun.numberJadi logaritma alami > 0 adalah satu-satunya y, sehingga e^y = number。
math.log(number)
Mengembalikan nilai
numberArgumennya adalah:
Lihat juga
math.log10
math.log10
numberArgumen yang biasa digunakan (atau dengan basis 10) adalah nilai yang harus ditingkatkan 10 untuk mendapatkannumber。10^y = number。
math.log10(number)
Mengembalikan nilai
numberArgumen dengan basis 10.
Lihat juga
math.log
math.pow
Fungsi matriks
math.pow(base, exponent)
Contoh
pine
// math.pow
plot(math.pow(close, 2))
Mengembalikan nilai
baseMeningkat menjadiexponentJikabaseadalah sebuah seri, yang dihitung berdasarkan unsur-unsurnya
parameter
base(series int/float) menentukan basis yang akan digunakan.exponent(series int/float) menentukan indeks.
math.sign
Simbol (signum) dari nomor atom adalah 0 jika nomor atomnya adalah 0, 1.0 jika nomor atomnya lebih besar dari 0 dan -1,0 jika nomor atomnya lebih kecil dari 0.
math.sign(number)
Mengembalikan nilai
Simbol parameter
math.sin
Fungsi sinonim mengembalikan sinonim segitiga pada suatu sudut.
math.sin(angle)
Mengembalikan nilai
Sinar segitiga sudut.
parameter
angle(series int/float) sudut, dengan kelengkungan
math.sqrt
Apa pun.numberAkar kuadrat dari >=0 adalah satu-satunya y >=0 yang membuat y^2 = number。
math.sqrt(number)
Mengembalikan nilai
numberakar kuadrat dari
Lihat juga
math.pow
math.tan
Tan adalah segitiga yang tepat pada sudut yang dikembalikan.
math.tan(angle)
Mengembalikan nilai
Segitiga dengan sudut lurus.
parameter
angle(series int/float) sudut, dengan kelengkungan
math.round
Kembalilah.numberJika digunakan, maka nilai ini akan dihitung dengan mengurutkan nilai yang lebih besar dari nilai yang lebih kecil. Jika digunakan, maka nilai ini akan dihitung dengan mengurutkan nilai yang lebih kecil dari nilai yang lebih kecil.precisionArgumennya, akan mengembalikan nilai floating point dari empat atau lima digit ke angka kecil.
math.round(number)
math.round(number, precision)
Mengembalikan nilai
numberNilai dari 5 ke bilangan bulat terdekat, atau sesuai dengan akurasi.
parameter
number(series int/float) Untuk mengelilingi nilai yang masuk.precision(series int) Parameter yang dapat dipilih.numberDigit kecil yang akan dikuadratkan. Bila tidak ada parameter, dikuadratkan ke bilangan bulat terdekat.
Catatan
Perhatikan bahwa untuk nilai 'na', fungsi mengembalikan 'na' <unk>.
Lihat juga
math.ceil math.floor
math.max
Mengembalikan satu dari beberapa nilai terbesar.
math.max(number0, number1, ...)
Contoh
pine
// math.max
plot(math.max(close, open))
plot(math.max(close, math.max(open, 42)))
Mengembalikan nilai
Terbesar dari beberapa nilai yang diberikan.
Lihat juga
math.min
math.min
Mengembalikan salah satu dari beberapa nilai terkecil.
math.min(number0, number1, ...)
Contoh
pine
// math.min
plot(math.min(close, open))
plot(math.min(close, math.min(open, 42)))
Mengembalikan nilai
Minimal dari beberapa nilai yang diberikan.
Lihat juga
math.max
math.avg
Hitunglah rata-rata dari semua seri ((elemen yang sesuai))
math.avg(number0, number1, ...)
Mengembalikan nilai
Rata-rata
Lihat juga
math.sum ta.cum ta.sma
math.round_to_mintick
Mengembalikan nilai mintick yang disekitar ke barang, yaitu dapat dibagi dengan nilai terdekat dari syminfo.mintick, tanpa sisa, dan disekitar ke atas.
math.round_to_mintick(number)
Mengembalikan nilai
number"Saya tidak tahu apa yang terjadi.
parameter
number(series int/float) Untuk mengelilingi nilai yang masuk.
Lihat juga
math.ceil math.floor
math.sum
Fungsi sum mengembalikan sinkronisasi geser dari nilai y terakhir dari x.
math.sum(source, length)
Mengembalikan nilai
lengthGaris K yang dikembalikansourceJumlah keseluruhan
parameter
source(series int/float) Nilai seri yang akan dijalankan.length(series int) Jumlah baris K (panjang).
math.todegrees
Dari sudut dalam satuan lengkung, kembalilah ke sudut yang hampir setara dalam satuan derajat.
math.todegrees(radians)
Mengembalikan nilai
Nilai sudut dalam satuan.
parameter
radians(series int/float) sudut dalam satuan lengkung.
math.toradians
Dari sudut dalam satuan derajat, kembali ke sudut yang hampir setara dalam satuan derajat.
math.toradians(degrees)
Mengembalikan nilai
Nilai sudut dalam satuan lengkung.
parameter
degrees(series int/float) sudut dalam satuan.
others
fixnan
Untuk seri yang diberikan, nilai NaN diganti dengan nilai non-NaN sebelumnya.
fixnan(source)
Mengembalikan nilai
Seri tanpa jeda.
parameter
source(series int/float/bool/color)
nz
Ganti nilai NaN dengan nol (atau angka yang ditentukan) dalam rangkaian.
nz(source, replacement)
nz(source)
Contoh
pine
// nz
plot(nz(ta.sma(close, 100)))
Mengembalikan nilai
sourceNilai, jika itu tidaknaJikasourceadalahnaJika saya menggunakan 1, saya akan mengembalikan 0.replacementParameter
parameter
source(series int/float/bool/color) Nilai seri yang akan dijalankanreplacement(series int/float/bool/color) akan menggantikan nilai dari semua nilai threshold na dalam seri threshold sumber.
na
Jika NaN, maka nilai tes ≠
na(x)
Mengembalikan nilai
Jika x bukan bilangan valid, maka benar (x adalah NaN), jika tidak maka salah (false).
int
Mengubah na atau memotong float menjadi int ≠
int(x)
Mengembalikan nilai
Nilai parameter yang ditransformasikan menjadi int
Lihat juga
float bool color string
float
Setel na ke floating.
float(x)
Mengembalikan nilai
Konversi ke nilai parameter setelah float。
Lihat juga
int bool color string
alert
Trigger event alarm pada panggilan selama K Line secara real time, dan sebelumnya dibuat alarm berdasarkan event fungsi alarm sebagai indikator atau strategi melalui dialog Create Alert Box.
alert(message, freq)
Contoh
pine
// alert() example
ma = ta.sma(close, 14)
xUp = ta.crossover(close, ma)
if xUp
// Trigger the alert the first time a cross occurs during the real-time bar.
alert("Price (" + str.tostring(close) + ") crossed over MA (" + str.tostring(ma) + ").", alert.freq_once_per_bar)
plot(ma)
plotchar(xUp, "xUp", "▲", location.top, size = size.tiny)
parameter
message(series string) Pesan yang dikirim saat alarm dipicu.freq(input string) Trigger frequency。 kemungkinan adalah: alert.freq_all, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.alert.freq_once_per_per_bar, alert.alert
Catatan
Pusat Bantuan menjelaskan cara membuat peringatan seperti itu.
Alih-alih alertcondition, alert tidak dianggap sebagai pemetaan tambahan.
Fungsi dapat dipanggil di tingkat global dan lokal.
Fungsi panggilan tidak menunjukkan apa pun pada grafik.
Parameter <unk>freq<unk> hanya mempengaruhi frekuensi pemicu di mana fungsi ini dipanggil.
Lihat juga
alertcondition
alertcondition
Buat kondisi alarm, tersedia di kotak dialog buat alarm. Perhatikan bahwa alertcondition tidak membuat alarm, hanya memberi Anda lebih banyak pilihan di kotak dialog buat alarm. Selain itu, efek alertcondition tidak terlihat di grafik.
alertcondition(condition, title, message)
Contoh
pine
// alertcondition
alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')
parameter
condition(series bool) Nilai bool seri yang digunakan untuk alarm. Nilai True mewakili alarm yang dipicu, false - tidak ada alarm. Parameter yang diperlukan.title(const string) Judul kondisi peringatan. Parameter yang dapat dipilih.message(const string) Menampilkan pesan saat alarm dipicu. Opsional.
Catatan
Perhatikan bahwa dalam Pine v4, panggilan kondisi peringatan akan menghasilkan satu gambar tambahan. Semua panggilan ini akan dipertimbangkan ketika kita menghitung jumlah seri output dari setiap skrip.
Lihat juga
alert
indicator
Untuk kompatibilitasTrading ViewKode kebijakan, tidak perlu dipanggil.
Lihat juga
strategy
time
Fungsi time mengembalikan waktu UNIX pada baris K saat ini pada rentang waktu dan waktu transaksi yang ditentukan, kembali NaN jika titik waktu tidak berada dalam waktu transaksi. Catatan: FMZ tidak didukungsessionParameter
time(timeframe, session, timezone)
time(timeframe, session)
time(timeframe)
Contoh
pine
timeinrange(res, sess) => not na(time(res, sess, "America/New_York")) ? 1 : 0
plot(timeinrange("1", "1300-1400"), color=color.red)
// This plots 1.0 at every start of 10 minute bar on a 1 minute chart:
newbar(res) => ta.change(time(res)) == 0 ? 0 : 1
plot(newbar("10"))
Ketika Anda mengatur sebuah sesi, Anda tidak hanya dapat menentukan jam dan menit, tetapi juga tanggal dalam seminggu.
Jika tidak ada tanggal yang ditentukan, maka perhitungkan waktu perdagangan yang disetel dari hari Minggu (1) hingga Sabtu (7), yaitu RON 1100-2000 sama dengan RON 1100-1200:1234567.
Anda dapat mengubahnya dengan menentukan tanggal. Misalnya, untuk barang yang diperdagangkan 7 hari seminggu dan diperdagangkan 24 jam, skrip berikut tidak akan berwarna untuk hari Sabtu dan Minggu:
Contoh
pine
// Time
t1 = time(timeframe.period, "0000-0000:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
Satu.sessionParameter dapat berisi beberapa periode perdagangan yang berbeda, dipisahkan dengan tanda koma. Misalnya, skrip berikut akan menonjolkan grafik K dari 10:00 hingga 11:00 dan dari 14:00 hingga 15:00 (hari kerja saja):
Contoh
pine
// Time
t1 = time(timeframe.period, "1000-1100,1400-1500:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
Mengembalikan nilai
Waktu Unix.
parameter
timeframe(simple string) Periode waktu。 String kosong diinterpretasikan sebagai periode waktu saat ini dari grafik。(simple string) Spesifikasi waktu transaksi。 Parameter opsional, secara default digunakan waktu transaksi komoditas。 String kosong diinterpretasikan sebagai waktu transaksi komoditas。 FMZ tidak didukung。sessiontimezone(simple string)sessionParameter timezone。 hanya dapat digunakan jika Anda telah menentukan timeline sesi。 opsional。 defaultnya adalah syminfo.timezone。 dapat ditentukan dengan ungkapan GMT ((misalnya timeline GMT-5)) atau nama database IANA timezone ((misalnya timeline America/New_York)).
Catatan
Waktu UNIX adalah milidetik yang telah berlalu sejak 1 Januari 1970 UTC 00:00:00.
year
year(time)
year(time, timezone)
Mengembalikan nilai
Tahun yang menyediakan waktu UNIX ((zon waktu pertukaran))
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahwa fungsi ini mengembalikan tahun berdasarkan waktu pembukaan K line. Untuk waktu perdagangan malam hari (misalnya, EURUSD pada hari Senin mulai hari Minggu pukul 17:00 UTC-4), nilai ini dapat lebih rendah dari tahun pada hari perdagangan.
Lihat juga
year time month dayofmonth dayofweek hour minute second
month
month(time)
month(time, timezone)
Mengembalikan nilai
Bulan yang menyediakan waktu UNIX ((zon waktu pertukaran))
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahwa fungsi ini akan mengembalikan bulan berdasarkan waktu pembukaan K line. Untuk waktu perdagangan malam hari (misalnya, EURUSD pada hari Senin dimulai pada hari Minggu pukul 17:00 UTC-4), nilai ini dapat lebih rendah dari bulan pada hari perdagangan.
Lihat juga
month time year dayofmonth dayofweek hour minute second
hour
hour(time)
hour(time, timezone)
Mengembalikan nilai
Jam yang disediakan untuk waktu UNIX ((zon waktu pertukaran))
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Lihat juga
hour time year month dayofmonth dayofweek minute second
minute
minute(time)
minute(time, timezone)
Mengembalikan nilai
Menit yang disediakan untuk waktu UNIX ((zon waktu pertukaran))
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Lihat juga
minute time year month dayofmonth dayofweek hour second
second
second(time)
second(time, timezone)
Mengembalikan nilai
Berikan detik dari waktu UNIX ((swap time zone) }}.
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Lihat juga
second time year month dayofmonth dayofweek hour minute
weekofyear
weekofyear(time)
weekofyear(time, timezone)
Mengembalikan nilai
Memberikan siklus waktu UNIX ((zon waktu pertukaran) }}.
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahwa fungsi ini mengembalikan minggu berdasarkan waktu bukaan garis K. Untuk waktu perdagangan malam hari (misalnya EURUSD, yang waktu perdagangan hari Senin dimulai pada hari Minggu pukul 17:00), nilai ini dapat lebih rendah dari minggu pada hari perdagangan.
Lihat juga
weekofyear time year month dayofmonth dayofweek hour minute second
dayofweek
dayofweek(time)
dayofweek(time, timezone)
Mengembalikan nilai
Tanggal minggu yang menyediakan waktu UNIX ((zon waktu pertukaran) }}.
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Perhatikan bahwa fungsi ini akan mengembalikan tanggal berdasarkan waktu pembukaan garis K. Untuk waktu perdagangan malam hari (misalnya, waktu perdagangan EURUSD pada hari Senin dimulai pada hari Minggu pukul 17:00), nilai ini dapat lebih rendah dari tanggal pada hari perdagangan.
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Lihat juga
time dayofmonth
dayofmonth
dayofmonth(time)
dayofmonth(time, timezone)
Mengembalikan nilai
Tanggal bulanan yang menyediakan waktu UNIX ((zon waktu pertukaran))
parameter
time(series int) adalah unit waktu Unix dalam milidetik.timezone(series string) Parameter yang dapat dipilih ◦ zona waktu ◦
Catatan
Waktu UNIX adalah milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara default, zona waktu adalah syminfo.timezone. Anda dapat menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahwa fungsi ini akan mengembalikan tanggal berdasarkan waktu pembukaan garis K. Untuk waktu perdagangan malam hari (misalnya, EURUSD pada hari Senin mulai dari 17:00 UTC-4 pada hari Minggu), nilai ini dapat lebih rendah dari tanggal pada hari perdagangan.
timestamp
Fungsi timestamp mengembalikan tanggal dan waktu yang ditentukan untuk waktu UNIX.
timestamp(dateString)
timestamp(year, month, day, hour, minute, second)
timestamp(timezone, year, month, day, hour, minute, second)
Contoh
pine
// timestamp
plot(timestamp(2016, 01, 19, 09, 30), linewidth=3, color=color.green)
plot(timestamp(syminfo.timezone, 2016, 01, 19, 09, 30), color=color.blue)
plot(timestamp(2016, 01, 19, 09, 30), color=color.yellow)
plot(timestamp("GMT+6", 2016, 01, 19, 09, 30))
plot(timestamp(2019, 06, 19, 09, 30, 15), color=color.lime)
plot(timestamp("GMT+3", 2019, 06, 19, 09, 30, 15), color=color.fuchsia)
plot(timestamp("Feb 01 2020 22:10:05"))
plot(timestamp("2011-10-10T14:48:00"))
plot(timestamp("04 Dec 1995 00:12:00 GMT+5"))
Mengembalikan nilai
Waktu Unix.
parameter
timezone(series string) Zona waktu。 opsional。 defaultnya adalah syminfo.timezone。 dapat ditentukan dengan akronim GMT ((misalnya<unk>GMT-5<unk>) atau nama database zona waktu IANA ((misalnya<unk>America/New_York<unk>)).year(series int) Tahunmonth(series int) bulanday(series int) Tanggalhour(series int) (parameter opsional) jam. Default adalah 0minute(series int) (parameter opsional) menit ≠ 0 ≠ 0second(series int) (parameter opsional) Second.dateString(const string) Sebuah string yang berisi tanggal serta pilihan waktu dan zona waktu. Formatnya harus sesuai dengan standar IETF RFC 2822 atau ISO 8601 ((<unk>DD MMM YYYY hh:mm:ss±hhmm<unk> atau<unk>YYYYY-MM-DDThh:mm:ss±hh:mm<unk>, sehingga<unk>20 Feb 2020<unk> atau<unk>2020-02-20<unk>) . Jika waktu tidak diberikan, gunakan<unk>00:00<unk>. Jika tidak ada zona waktu yang diberikan, gunakan GMT+0.
Catatan
Waktu UNIX adalah milidetik yang telah berlalu sejak 1 Januari 1970 UTC 00:00:00.
Lihat juga
time timenow syminfo.timezone
fill
Menggunakan warna yang disediakan untuk mengisi latar belakang antara dua gambar atau hline.
fill(hline1, hline2, color, title, editable, fillgaps, display)
fill(plot1, plot2, color, title, editable, show_last, fillgaps, display)
Contoh
pine
h1 = hline(20)
h2 = hline(10)
fill(h1, h2, color=color.new(color.blue, 90))
p1 = plot(open)
p2 = plot(close)
fill(p1, p2, color=color.new(color.green, 90))
parameter
hline1(hline) Objek hline pertama. Parameter yang dibutuhkan.hline2(hline) Objek hline kedua. Parameter yang diperlukan.plot1(plot) Objek pertama yang digambar. Parameter yang diperlukan.plot2(plot) Objek gambar kedua. Parameter yang diperlukan.color(series color) warna yang digambar. Anda dapat menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter opsional.title(const string) telah membuat judul untuk mengisi objek. Optional parameter.editable(const bool) Jika true, maka gaya pengisian dapat diedit dalam kotak dialog format.show_last(input int) Jika telah ditetapkan, maka didefinisikan jumlah baris k yang mengisi grafik ((berbalik ke belakang dari baris k terakhir) <unk>fillgaps(const bool) Mengontrol pengisian berturut-turut dari kosong, yaitu, ketika salah satu panggilan plot ((() mengembalikan nilai na. Jika ditetapkan sebagai true, pengisian terakhir akan terus mengisi kosong.display(plot_display) Mengontrol tempat tampilan yang diisi. Nilai yang mungkin adalah: display.none, display.all.
Lihat juga
plot barcolor bgcolor hline
hline
Garis horizontal pada tingkat harga tetap yang diberikan.
hline(price, title, color, linestyle, linewidth, editable, display)
Contoh
pine
// input.hline
hline(3.14, title='Pi', color=color.blue, linestyle=hline.style_dotted, linewidth=2)
// You may fill the background between any two hlines with a fill() function:
h1 = hline(20)
h2 = hline(10)
fill(h1, h2, color=color.new(color.green, 90))
Mengembalikan nilai
Hline Object yang bisa digunakan untuk fill.
parameter
price(input int/float) nilai yang akan ditampilkan oleh objek.title(const string) judul objekcolor(input color) Warna baris pengendalian. Harus konstan (non-ekspresi). Parameter opsional.linestyle(hline_style) Gaya baris pengendalian. Nilai yang mungkin adalah: solid, dotted, dotted.linewidth(input int) Lebar garis pengendalian ≠ 1 ≠ 1editable(const bool) Jika benar, maka gaya hline dapat diedit dalam kotak dialog format.display(plot_display) Posisi tampilan baris kontrol. Nilai yang mungkin adalah: display.none, display.all. Default display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
bgcolor
Latar belakang garis K dengan warna yang ditentukan.
bgcolor(color, offset, editable, show_last, title, display, overlay)
Contoh
pine
// bgcolor example
bgcolor(close < open ? color.new(color.red,70) : color.new(color.green, 70))
parameter
color(series color) Mengisi warna latar belakang. Anda dapat menggunakan konstanta seperti <unk>red<unk> atau <unk>#ff001a<unk> dan ekspresi kompleks seperti 'close >= open ? green: red'. Parameter yang diperlukan.offset(series int) bergerak ke kiri atau ke kanan pada sejumlah garis k.editable(const bool) Jika true, gaya bgcolor dapat diedit dalam kotak dialog format.show_last(input int) Jika telah ditetapkan, maka didefinisikan jumlah baris k yang mengisi grafik ((berbalik ke belakang dari baris k terakhir) <unk>title(const string) judul bgcolor。 parameter yang dapat dipilih。display(plot_display) Mengontrol lokasi tampilan bgcolor. Nilai yang mungkin adalah: display.none, display.all.overlay(const bool) Parameter yang diperluas oleh platform FMZ, digunakan untuk mengatur fungsi saat ini yang ditampilkan pada gambar gambar utama (set true) atau subgambar (set false) dengan nilai default false. Jika parameter ini tidak ditentukan, maka akan ditampilkan sesuai denganstrategyatauindicatorDi dalamoverlayPengaturan parameter,strategyatauindicatorTidak ada pengaturanoverlayParameter, maka sesuai dengan parameter default.
Lihat juga
plot
barcolor
Tentukan warna garis K.
barcolor(color, offset, editable, show_last, title, display)
Contoh
pine
barcolor(close < open ? color.black : color.white)
parameter
color(series color) Warna baris K。 Anda dapat menggunakan konstanta seperti <unk>red<unk> atau <unk>#ff001a<unk>, serta ekspresi kompleks seperti 'close >= open ? green: red‛。 parameter yang diperlukan。offset(series int) bergerak ke kiri atau ke kanan pada sejumlah garis k.editable(const bool) Jika true, barcolor style dapat diedit dalam dialog format.show_last(input int) Jika telah ditetapkan, maka didefinisikan jumlah baris k yang mengisi grafik ((berbalik ke belakang dari baris k terakhir) <unk>title(const string) Barcolor header。 parameter opsional。display(plot_display) Mengontrol posisi tampilan warna garis K. Nilai yang mungkin adalah: display.none, display.all. Default display.all.
error
Versi PINE v4 kompatibelerror, Fungsi danruntime.errorPersetujuan
Variabel internal
order
order.ascending
Tentukan urutan urutan array dari terkecil ke terbesar.
jenis
sort_order
Lihat juga
array.new_float array.sort
order.descending
Tentukan urutan urutan dari terbesar ke terkecil.
jenis
sort_order
Lihat juga
array.new_float array.sort
timeframe
timeframe.isdaily
Jika resolusi saat ini adalah resolusi harian, kembali true, jika tidak, kembali false.
jenis
simple bool
Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isweekly timeframe.ismonthly
timeframe.isdwm
Jika resolusi saat ini adalah resolusi harian atau mingguan atau bulanan, kembali true, jika tidak, kembali false.
jenis
simple bool
Lihat juga
timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly
timeframe.isintraday
Jika siklus saat ini adalah siklus dalam hari (min atau detik), maka kembali true, jika tidak, maka kembali false.
jenis
simple bool
Lihat juga
timeframe.isminutes timeframe.isseconds timeframe.isdwm timeframe.isdaily timeframe.isweekly timeframe.ismonthly
timeframe.isminutes
Jika siklus saat ini adalah siklus menit, kembali true, jika tidak, kembali false.
jenis
simple bool
Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly
timeframe.ismonthly
Jika resolusi saat ini adalah resolusi bulanan, kembali true, jika tidak, kembali false.
jenis
simple bool
Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly
timeframe.isseconds
Jika siklus saat ini adalah detik, kembali true, jika tidak, kembali false.
jenis
simple bool
Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isdaily timeframe.isweekly timeframe.ismonthly
timeframe.isweekly
Jika resolusi saat ini adalah resolusi per minggu, kembali true, jika tidak, kembali false.
jenis
simple bool
Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.ismonthly
timeframe.multiplier
Perkalian siklus waktu, misalnya '60' - 60, 'D' - 1, '5D' - 5, '12M' - 12 ◦
jenis
simple int
Lihat juga
syminfo.ticker syminfo.tickerid timeframe.period
timeframe.period
Periode waktu. Misalnya '60' - 60 menit, 'D' - hari, 'W' - minggu, 'M' - bulan, '5D' - 5 hari, '12M' - 1 tahun, '3M' - 1 kuartal.
jenis
simple string
Lihat juga
syminfo.ticker syminfo.tickerid timeframe.multiplier
display
display.none
Sebuah konstanta penamaan yang menentukan lokasi tampilan gambar. Tidak ditampilkan di mana-mana.
jenis
plot_display
Lihat juga
plot plotshape plotchar
display.all
Sebuah konstanta penamaan yang menentukan lokasi yang ditampilkan pada gambar. Tampilkan lokasi manapun.
jenis
plot_display
Lihat juga
plot plotshape plotchar plotarrow plotbar plotcandle
shape
shape.xcross
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.cross
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.triangleup
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.triangledown
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.flag
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.circle
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.arrowup
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.arrowdown
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.labelup
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.labeldown
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.square
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
shape.diamond
Gaya bentuk dari fungsi plotshape.
jenis
const string
Lihat juga
plotshape
color
color.aqua
adalah konstanta penamaan warna #00BCD4.
jenis
const color
color.black
adalah konstanta penamaan warna #363A45.
jenis
const color
color.blue
adalah konstanta penamaan warna #2962ff。
jenis
const color
color.fuchsia
adalah konstanta penamaan warna #E040FB.
jenis
const color
color.gray
adalah konstanta nama warna #787B86.
jenis
const color
color.green
adalah konstanta penamaan warna # 4CAF50
jenis
const color
color.lime
adalah konstanta penamaan warna #00E676.
jenis
const color
color.maroon
Konstan penamaan warna #880E4F.
jenis
const color
color.navy
adalah konstanta nama warna # 311B92 <unk> .
jenis
const color
color.olive
adalah konstanta nama warna #808000 <unk>.
jenis
const color
color.orange
adalah konstanta penamaan warna #FF9800。
jenis
const color
color.purple
adalah konstanta penamaan warna #9C27B0
jenis
const color
color.red
adalah konstanta penamaan warna #FF5252.
jenis
const color
color.silver
Konstan penamaan untuk warna #B2B5BE.
jenis
const color
color.teal
color.teal
adalah konstanta nama warna #00897B.
jenis
const color
color.white
adalah konstanta penamaan warna #FFFFFF.
jenis
const color
color.yellow
adalah konstanta penamaan warna #FFEB3B.
jenis
const color
plot
plot.style_line
Konstanta penamaan gaya 'Line', digunakan sebagai fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles
plot.style_linebr
Nomor konstanta gaya 'Line With Breaks', digunakan sebagai fungsi plotstyleParameter untuk parameter. Sama seperti plot.style_line, kecuali ruang kosong dalam data tidak diisi
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles
plot.style_histogram
Konstanta penamaan bergaya histogram, digunakan dalam fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles
plot.style_columns
Nama konstan gaya 'Columns' yang digunakan dalam fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_circles
plot.style_circles
Nominal konstanta gaya 'Circles', digunakan sebagai fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns
plot.style_area
Nominal konstan gaya 'Area', digunakan dalam fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_areabr plot.style_cross plot.style_columns plot.style_circles
plot.style_areabr
Nama konstan 'Area With Breaks' yang digunakan sebagai fungsi plotstyleParameter untuk parameter. Sama seperti plot.style_area, kecuali bahwa ruang kosong dalam data tidak diisi.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_columns plot.style_circles
plot.style_cross
Konstanta penamaan bergaya 'Cross', digunakan sebagai fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_area plot.style_areabr plot.style_columns plot.style_circles
plot.style_stepline
Nomor konstanta gaya 'Step Line', digunakan sebagai fungsi plotstyleParameter dari parameter.
jenis
plot_style
Lihat juga
plot plot.style_stepline_diamond plot.style_linebr plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles
plot.style_stepline_diamond
Nama konstan dalam gaya 'Step Line With Diamonds', digunakan sebagai fungsi plotstyleParameter untuk parameter. Sama seperti plot.style_stepline, selain perubahan data, parameter untuk parameter juga ditandai dengan tanda hubung.
jenis
plot_style
Lihat juga
plot plot.style_line plot.style_linebr plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles
location
location.abovebar
location.abovebar
plotshape, nilai posisi fungsi plotchar。 Bentuk digambar di atas garis seri utama k。
jenis
const string
Lihat juga
plotshape plotchar location.belowbar location.top location.bottom location.absolute
location.belowbar
plotshape, nilai posisi dari fungsi plotchar。 Bentuk digambarkan di bawah garis dari seri utama k。
jenis
const string
Lihat juga
plotshape plotchar location.abovebar location.top location.bottom location.absolute
location.top
plotshape, nilai posisi dari fungsi plotchar. Bentuk digambarkan di dekat batas grafik atas.
jenis
const string
Lihat juga
plotshape plotchar location.abovebar location.belowbar location.bottom location.absolute
location.bottom
plotshape, nilai posisi dari fungsi plotchar. Bentuk digambarkan di dekat batas grafik bawah.
jenis
const string
Lihat juga
plotshape plotchar location.abovebar location.belowbar location.top location.absolute
location.absolute
plotshape, nilai posisi dari fungsi plotchar. Bentuk digambarkan pada grafik, menggunakan nilai indikator sebagai koordinat harga.
jenis
const string
Lihat juga
plotshape plotchar location.abovebar location.belowbar location.top location.bottom
size
size.auto
size.auto
plotshape, nilai ukuran fungsi plotchar. Ukuran bentuk secara otomatis menyesuaikan ukuran garis k.
jenis
const string
Lihat juga
plotshape plotchar size.tiny size.small size.normal size.large size.huge
size.tiny
plotshape, ukuran fungsi plotchar.
jenis
const string
Lihat juga
plotshape plotchar size.auto size.small size.normal size.large size.huge
size.small
plotshape, ukuran fungsi plotchar.
jenis
const string
Lihat juga
plotshape plotchar size.auto size.tiny size.normal size.large size.huge
size.normal
plotshape, ukuran fungsi plotchar.
jenis
const string
Lihat juga
plotshape plotchar size.auto size.tiny size.small size.large size.huge
size.large
plotshape, ukuran fungsi plotchar.
jenis
const string
Lihat juga
plotshape plotchar size.auto size.tiny size.small size.normal size.huge
size.huge
plotshape, ukuran fungsi plotchar.
jenis
const string
Lihat juga
plotshape plotchar size.auto size.tiny size.small size.normal size.large
alert
alert.freq_once_per_bar
Nominal konstan yang digunakan bersama dengan parameter 'freq' dari fungsi alert().
Panggilan fungsi pertama dalam baris K memicu alarm.
jenis
const string
Lihat juga
alert
alert.freq_all
Nominal konstan yang digunakan bersama dengan parameter 'freq' dari fungsi alert().
Semua panggilan fungsi memicu alarm.
jenis
const string
Lihat juga
alert
alert.freq_once_per_bar_close
Nominal konstan yang digunakan bersama dengan parameter 'freq' dari fungsi alert().
Panggilan fungsi ini hanya terjadi selama iterasi skrip terakhir dari baris K secara real-time, dan akan memicu alarm saat ditutup.
jenis
const string
Lihat juga
alert
format
format.inherit
adalah sebuah konstanta penamaan.
jenis
const string
Lihat juga
format.price format.volume
format.price
adalah sebuah konstanta penamaan.
jenis
const string
Catatan
Jika format adalah format.price, maka setakan nilai akurasi default. Anda dapat menggunakan parameter presisi dari fungsi indikator untuk mengubah nilai akurasi.
Lihat juga
format.inherit format.volume
format.volume
adalah sebuah konstanta penamaan.
jenis
const string
Lihat juga
format.inherit format.price
syminfo
syminfo.ticker
Kode komoditas tanpa awalan bursa, misalnya 'MSFT'。
jenis
simple string
Lihat juga
syminfo.tickerid timeframe.period timeframe.multiplier
syminfo.tickerid
Kode komoditas dengan awalan bursa, misalnya BATS: MSFT, NASDAQ: MSFT.
jenis
simple string
Lihat juga
syminfo.ticker timeframe.period timeframe.multiplier
syminfo.basecurrency
Mata uang dasar dari barang tersebut. Untuk kode barang, klik BTCUSD, kembali ke BTC.
jenis
simple string
Lihat juga
syminfo.currency syminfo.ticker
syminfo.currency
Kode mata uang pengembalian: <unk> USD <unk> EUR <unk> <unk>
jenis
simple string
Lihat juga
syminfo.basecurrency syminfo.ticker
syminfo.type
Jenis kode komoditas saat ini. Nilai yang mungkin adalah stock, futures, index, forex, crypto, fund, dr.
jenis
simple string
Lihat juga
syminfo.ticker
syminfo.mintick
Minimal pengukuran varietas saat ini. Parameter template di "Pine Language Transaction Class Repository" pada FMZ, pada antarmuka hard disk/lacakKetepatan harga mata uangNilai ini dapat dikontrol.Ketepatan harga mata uangSetup 2 adalah harga saat perdagangan tepat ke angka kecil kedua, saat ini harga paling sedikit berubah satuan adalah 0.01 <unk> . Nilai syminfo.mintick adalah 0.01 <unk> .
jenis
simple float
Lihat juga
syminfo.pointvalue
syminfo.pointvalue
Nilai titik barang saat ini
jenis
simple float
Lihat juga
syminfo.mintick
syminfo.timezone
Garis waktu pertukaran dari seri utama Garis waktu. Untuk nilai yang mungkin lihat timestamp.
jenis
simple string
Lihat juga
timestamp
barstate
barstate.islastconfirmedhistory
Jika skrip dieksekusi pada baris K terakhir dari dataset saat pasar ditutup, atau skrip sedang dieksekusi pada baris K sebelum baris K real-time, maka akan dikembalikan true jika pasar terbuka. Jika tidak, maka akan dikembalikan false.
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew
barstate.isnew
Jika skrip saat ini menghitung pada baris baru k, maka akan dikembalikan true, jika tidak akan dikembalikan false.
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isconfirmed barstate.islastconfirmedhistory
barstate.isfirst
Jika garis k saat ini adalah garis k pertama dari kelompok garis k, maka dikembalikan true, jika tidak, maka dikembalikan false。
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory
barstate.islast
Jika k adalah baris terakhir dari kelompok k, maka dikembalikan true, jika tidak, maka dikembalikan false.
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory
barstate.ishistory
Jika k adalah garis sejarah, maka dikembalikan true, jika tidak, maka dikembalikan false.
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.islast barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory
barstate.isconfirmed
Jika skrip sedang menghitung pembaruan terakhir (dihapus) dari baris k saat ini, maka akan dikembalikan true. Skrip berikutnya akan dihitung dari data baris K baru.
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Tidak disarankan untuk menggunakan barstate.isconfirmed dalam ekspresi request.security.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.islastconfirmedhistory
barstate.isrealtime
Jika k adalah real time, maka akan dikembalikan true, jika tidak, maka false.
jenis
series bool
Catatan
Kode PineScript menggunakan variabel ini untuk melakukan perhitungan yang berbeda antara catatan sejarah dan data real-time.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory
barstate.time
Tidak ada
ta
ta.accdist
Indeks akumulasi/distribusi
jenis
series float
ta.iii
Indeks intensitas dalam piring.
jenis
series float
Contoh
pine
// Intraday Intensity Index
plot(ta.iii, color=color.yellow)
// the same on pine
f_iii() =>
(2 * close - high - low) / ((high - low) * volume)
plot(f_iii())
ta.nvi
Indikator berat negatif.
jenis
series float
Contoh
pine
// Negative Volume Index
plot(ta.nvi, color=color.yellow)
// the same on pine
f_nvi() =>
float ta_nvi = 1.0
float prevNvi = (nz(ta_nvi[1], 0.0) == 0.0) ? 1.0: ta_nvi[1]
if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0
ta_nvi := prevNvi
else
ta_nvi := (volume < nz(volume[1], 0.0)) ? prevNvi + ((close - close[1]) / close[1]) * prevNvi : prevNvi
result = ta_nvi
plot(f_nvi())
ta.pvi
Indikator berat badan.
jenis
series float
Contoh
pine
// Positive Volume Index
plot(ta.pvi, color=color.yellow)
// the same on pine
f_pvi() =>
float ta_pvi = 1.0
float prevPvi = (nz(ta_pvi[1], 0.0) == 0.0) ? 1.0: ta_pvi[1]
if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0
ta_pvi := prevPvi
else
ta_pvi := (volume > nz(volume[1], 0.0)) ? prevPvi + ((close - close[1]) / close[1]) * prevPvi : prevPvi
result = ta_pvi
plot(f_pvi())
ta.obv
Indikator energi arus.
jenis
series float
Contoh
pine
// On Balance Volume
plot(ta.obv, color=color.yellow)
// the same on pine
f_obv() =>
ta.cum(math.sign(ta.change(close)) * volume)
plot(f_obv())
ta.pvt
Indikator tren harga.
jenis
series float
Contoh
pine
// Price-Volume Trend
plot(ta.pvt, color=color.yellow)
// the same on pine
f_pvt() =>
ta.cum((ta.change(close) / close[1]) * volume)
plot(f_pvt())
ta.wad
William Dorsey, pengamat udara.
jenis
series float
Contoh
pine
// Williams Accumulation/Distribution
plot(ta.wad, color=color.yellow)
// the same on pine
f_wad() =>
trueHigh = math.max(high, close[1])
trueLow = math.min(low, close[1])
mom = ta.change(close)
gain = (mom > 0) ? close - trueLow : (mom < 0) ? close - trueHigh : 0
ta.cum(gain)
plot(f_wad())
ta.wvad
Variabel William dispersi
jenis
series float
Contoh
pine
// Williams Variable Accumulation/Distribution
plot(ta.wvad, color=color.yellow)
// the same on pine
f_wvad() =>
(close - open) / (high - low) * volume
plot(f_wvad())
math
math.e
adalah konstanta nama dari bilangan Euler. Ia sama dengan 2.7182818284590452.
jenis
const float
Lihat juga
math.phi math.pi math.rphi
math.phi
adalah konstanta nama dari pembagian emas。 sama dengan 1.6180339887498948。
jenis
const float
Lihat juga
math.e math.pi math.rphi
math.pi
adalah konstanta nama dari konstanta Archimedes. Ia sama dengan 3.1415926535897932
jenis
const float
Lihat juga
math.e math.phi math.rphi
math.rphi
adalah konstanta nominal dari rasio pembagian emas. Ia sama dengan 0,6180339887498948.
jenis
const float
Lihat juga
math.e math.pi math.phi
strategy
strategy.equity
Hak dan kepentingan saat ini (strategy.initial_capital + strategy.netprofit + strategy.openprofit)
jenis
series float
Lihat juga
strategy.netprofit strategy.openprofit strategy.position_size
strategy.position_size
Arah dan ukuran posisi pasar saat ini. Jika nilai > 0, maka posisi pasar lebih panjang. Jika nilai < 0, maka posisi pasar lebih pendek. Nilai mutlak adalah jumlah kontrak / saham / tangan / unit dalam perdagangan (ukuran posisi).
jenis
series float
Lihat juga
strategy.position_avg_price
strategy.position_avg_price
Penetapan pasar saat ini adalah harga masuk rata-rata. Jika posisi pasar merata, maka NaN akan mundur.
menjelaskan
Harga rata-rata dalam FMZ PINE Script adalah harga yang mencakup biaya proses. Misalnya: harga pesanan adalah 8000, harga penjualan, jumlah 1 tangan (satu, satu), harga rata-rata setelah transaksi bukan 8000, lebih rendah dari 8000 (biaya termasuk biaya proses).
jenis
series float
Lihat juga
strategy.position_size
strategy.long
Kebijakan yang berbeda.
jenis
strategy_direction
Lihat juga
strategy.entry strategy.exit
strategy.short
Ke arah kepala kosong.
jenis
strategy_direction
Lihat juga
strategy.entry strategy.exit
strategy.closedtrades
Jumlah transaksi yang ditutup dalam seluruh interval transaksi.
jenis
series int
Lihat juga
strategy.position_size strategy.opentrades
strategy.opentrades
Jumlah transaksi yang belum ditutup atau terus dipegang. Jika tidak, tampilkan 0
jenis
series int
Lihat juga
strategy.position_size
strategy.netprofit
Total nilai mata uang dari semua transaksi yang diselesaikan.
jenis
series float
Lihat juga
strategy.openprofit strategy.position_size strategy.grossprofit
strategy.grossprofit
Total nilai mata uang dari semua transaksi yang berhasil diselesaikan
jenis
series float
Lihat juga
strategy.netprofit
strategy.openprofit
Kehilangan yang belum direalisasikan dari posisi yang belum ditutup saat ini.
jenis
series float
Lihat juga
strategy.netprofit strategy.position_size
strategy.direction.long
Strategi yang bisa dilakukan lebih banyak
jenis
const string
Lihat juga
strategy.risk.allow_entry_in
strategy.direction.short
Strategi yang hanya bisa dilakukan
jenis
const string
Lihat juga
strategy.risk.allow_entry_in
strategy.direction.all
Strategi yang memungkinkan untuk melakukan lebih banyak dan melakukan lebih sedikit
jenis
const string
Lihat juga
strategy.risk.allow_entry_in
dayofweek
dayofweek
K baris waktu saat ini dari zona waktu pertukaran.
jenis
series int
Catatan
Perhatikan bahwa variabel ini mengembalikan hari berdasarkan waktu buka K line. Untuk waktu perdagangan malam hari (misalnya EURUSD, yang jam perdagangan Senin dimulai pada hari Minggu 17:00), nilai ini dapat lebih rendah dari hari pada hari perdagangan.
Anda dapat menggunakan variabel dayofweek.sunday, dayofweek.monday, dayofweek.tuesday, dayofweek.wednesday, dayofweek.thursday, dayofweek.friday dan dayofweek.saturday untuk perbandingan.
Lihat juga
time dayofmonth
dayofweek.sunday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday
dayofweek.monday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.sunday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday
dayofweek.tuesday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday
dayofweek.wednesday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.thursday dayofweek.friday dayofweek.saturday
dayofweek.thursday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.friday dayofweek.saturday
dayofweek.friday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.saturday
dayofweek.saturday
adalah konstanta nama dari nilai yang dikembalikan oleh fungsi dayofweek dan nilai dari variabel dayofweek.
jenis
const int
Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday
hline
hline.style_dashed
adalah konstanta penamaan dari gaya garis putar titik dari fungsi Hline.
jenis
hline_style
Lihat juga
hline.style_solid hline.style_dotted
hline.style_dotted
hline.style_dotted
adalah konstanta penamaan dari bentuk garis-garis titik dari fungsi Hline.
jenis
hline_style
Lihat juga
hline.style_solid hline.style_dashed
hline.style_solid
adalah konstanta penamaan dari jenis garis pusat nyata dari fungsi Hline.
jenis
hline_style
Lihat juga
hline.style_dotted hline.style_dashed
barmerge
barmerge.gaps_on
Berikan strategi penggabungan data yang diminta. Menggabungan data dengan kemungkinan kesenjangan (na value).
jenis
barmerge_gaps
Lihat juga
request.security barmerge.gaps_off
barmerge.gaps_off
Strategi untuk merger data yang diminta. Data akan digabungkan secara terus menerus, semua celah akan diisi dengan nilai yang ada sebelumnya.
jenis
barmerge_gaps
Lihat juga
request.security barmerge.gaps_on
barmerge.lookahead_on
Merger requested data location policy. Bar chart yang diminta digabungkan dengan bar chart saat ini sesuai dengan waktu buka k line. Merger policy ini dapat menyebabkan dampak buruk pada sejarah perhitungan data yang diambil dari future queue.
jenis
barmerge_lookahead
Lihat juga
request.security barmerge.lookahead_off
barmerge.lookahead_off
Strategi untuk meminta lokasi data yang digabungkan. Baris yang diminta digabungkan dengan baris saat ini sesuai dengan waktu penutupan k line. Strategi penggabungan ini melarang pengaruh sejarah perhitungan data yang diperoleh dari pilar masa depan.
jenis
barmerge_lookahead
Lihat juga
request.security barmerge.lookahead_on
others
hl2
adalah (harga tertinggi + harga terendah) / 2
jenis
series float
Lihat juga
open high low close volume time hlc3 hlcc4 ohlc4
hlc3
adalah {harga tertinggi + harga terendah + harga penutupan) / 3
jenis
series float
Lihat juga
open high low close volume time hl2 hlcc4 ohlc4
hlcc4
Yaitu [High+Low+Cut+Cut]/4
jenis
series float
Lihat juga
open high low close volume time hl2 hlc3 ohlc4
ohlc4
adalah (harga buka + harga tertinggi + harga terendah + harga tutup) /4
jenis
series float
Lihat juga
open high low close volume time hl2 hlc3 hlcc4
na
Double.NaN nilai (non-numerik) [2].
jenis
simple na
Contoh
pine
// na
plot(bar_index < 10 ? na : close) // CORRECT
plot(close == na ? close[1] : close) // INCORRECT!
plot(na(close) ? close[1] : close) // CORRECT
Catatan
Jika Anda ingin memeriksa apakah suatu nilai adalah NaN, gunakan fungsi built-in na.
Lihat juga
na
bar_index
Indeks batang harga saat ini. Nomornya dimulai dari nol, dengan indeks baris pertama adalah 0 .
jenis
series int
Contoh
pine
// bar_index
plot(bar_index)
plot(bar_index > 5000 ? close : 0)
Catatan
Perhatikan bahwa bar_index telah menggantikan variabel n pada versi 4.
Perhatikan bahwa indeks K dihitung 0 ≠ 0 dari garis K sejarah pertama.
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
barstate.isfirst barstate.islast barstate.isrealtime
last_bar_index
Indeks pada garis K terakhir dari grafik. Indeks K dimulai dengan garis K pertama dengan nol.
jenis
series int
Contoh
strategy("Mark Last X Bars For Backtesting", overlay = true, calc_on_every_tick = true)
lastBarsFilterInput = input.int(100, "Bars Count:")
// Here, we store the 'last_bar_index' value that is known from the beginning of the script's calculation.
// The 'last_bar_index' will change when new real-time bars appear, so we declare 'lastbar' with the 'var' keyword.
var lastbar = last_bar_index
// Check if the current bar_index is 'lastBarsFilterInput' removed from the last bar on the chart, or the chart is traded in real-time.
allowedToTrade = (lastbar - bar_index <= lastBarsFilterInput) or barstate.isrealtime
bgcolor(allowedToTrade ? color.new(color.green, 80) : na)
Mengembalikan nilai
Indeks K historis akhir pada penutupan, atau indeks K aktual pada pembukaan.
Catatan
Harap dicatat bahwa penggunaan variabel ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
bar_index last_bar_time barstate.ishistory barstate.isrealtime
time
Waktu k line saat ini dalam format UNIX. Ini adalah beberapa milidetik sejak 1 Januari 1970 00:00:00 UTC.
timenow
Waktu saat ini dalam format UNIX. Ini adalah milisekon sejak 1 Januari 1970 00:00:00 UTC.
jenis
series int
Catatan
Harap dicatat bahwa penggunaan variabel/fungsi ini dapat menyebabkan penggambaran ulang indikator.
Lihat juga
timestamp time dayofmonth dayofweek
jenis
series int
Catatan
Perhatikan bahwa variabel ini akan mengembalikan waktu yang ditentukan berdasarkan waktu pembukaan K. Oleh karena itu, untuk waktu perdagangan malam hari (misalnya EURUSD, yang hari Senin dimulai dari 17:00 pada hari Minggu), variabel ini dapat mengembalikan waktu sebelum tanggal yang ditentukan pada hari perdagangan. Misalnya, pada EURUSD, variabel dayofmonth (waktu) bisa lebih rendah dari tanggal perdagangan hari 1, karena K pada tanggal saat ini sebenarnya dibuka pada hari sebelumnya.
Lihat juga
time dayofmonth dayofweek
year
Garis tahun k saat ini dari zona waktu pertukaran.
jenis
series int
Catatan
Perhatikan bahwa variabel ini mengembalikan tahun berdasarkan waktu pembukaan garis K. Untuk waktu perdagangan malam hari (misalnya EURUSD, yang tradingnya pada hari Senin dimulai pada hari Minggu pukul 17:00), nilai ini bisa lebih rendah dari tahun pada hari perdagangan.
Lihat juga
year time month weekofyear dayofmonth dayofweek hour minute second
month
Garis bulan k saat ini di zona waktu bursa.
jenis
series int
Catatan
Perhatikan bahwa variabel ini mengembalikan bulan berdasarkan waktu pembukaan K line. Untuk waktu perdagangan malam hari (misalnya EURUSD, yang perdagangan hari Senin dimulai pada hari Minggu 17:00), nilai ini dapat lebih rendah dari bulan pada hari perdagangan.
Lihat juga
month time year weekofyear dayofmonth dayofweek hour minute second
hour
K-Line adalah jam saat ini di zona waktu bursa.
jenis
series int
Lihat juga
hour time year month weekofyear dayofmonth dayofweek minute second
minute
Garis menit k saat ini di zona waktu bursa.
jenis
series int
Lihat juga
minute time year month weekofyear dayofmonth dayofweek hour second
second
Garis detik k saat ini dari zona waktu bursa.
jenis
series int
Lihat juga
second time year month weekofyear dayofmonth dayofweek hour minute
open
Harga pembukaan saat ini.
jenis
series float
Catatan
Operator tanda kurung kuadrat yang dapat digunakan[] untuk mengakses nilai sebelumnya, misalnya ≠ open[1],open[2]。
Lihat juga
high low close volume time hl2 hlc3 hlcc4 ohlc4
high
Harga tertinggi saat ini.
jenis
series float
Catatan
Operator tanda kurung kuadrat yang dapat digunakan[] untuk mengakses nilai sebelumnya, misalnya ◦ high[1],high[2]。
Lihat juga
open low close volume time hl2 hlc3 hlcc4 ohlc4
low
Harga terendah saat ini
jenis
series float
Catatan
Operator tanda kurung kuadrat yang dapat digunakan[] untuk mengakses nilai sebelumnya, misalnya <unk> low[1],low[2]。
Lihat juga
open high close volume time hl2 hlc3 hlcc4 ohlc4
close
Harga penutupan saat K Line ditutup, atau harga transaksi terakhir untuk K Line yang belum selesai.
jenis
series float
Catatan
Operator tanda kurung kuadrat yang dapat digunakan[] untuk mengakses nilai sebelumnya, misalnya ∼ close[1],close[2]。
Lihat juga
open high low volume time hl2 hlc3 hlcc4 ohlc4
volume
Jumlah lalu lintas K Line saat ini.
jenis
series float
Catatan
Operator tanda kurung kuadrat yang dapat digunakan[] untuk mengakses nilai sebelumnya, misalnya ◦ volume[1],volume[2]。
Lihat juga
open high low close time hl2 hlc3 hlcc4 ohlc4
weekofyear
Jumlah minggu pada garis waktu k saat ini dari zona waktu pertukaran.
jenis
series int
Catatan
Perhatikan bahwa variabel ini kembali ke minggu berdasarkan waktu buka K line. Untuk waktu perdagangan malam hari (misalnya EURUSD, yang waktu perdagangan Senin dimulai pada hari Minggu 17:00), nilai ini dapat lebih rendah dari minggu pada hari perdagangan.
Lihat juga
weekofyear time year month dayofmonth dayofweek hour minute second
dayofmonth
Tanggal dari zona waktu k line saat ini.
jenis
series int
Catatan
Perhatikan bahwa variabel ini mengembalikan hari berdasarkan waktu buka K line. Untuk waktu perdagangan malam hari (misalnya EURUSD, yang jam perdagangan Senin dimulai pada hari Minggu 17:00), nilai ini dapat lebih rendah dari hari pada hari perdagangan.
- 1





