Type/to search
8
Follow
1364
Followers
FMZ PINE Script Dokumentasi
Tutorials
Created 2022-05-06 14:27:06  Updated 2025-08-21 13:47:34
 24
 20882

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
  • ifforwhileatauswitchStruktur 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 membutuhkanlocal 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.

img

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".

img

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, denganjavascriptPanggilan 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 menentukanlimitstopParameter

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, yaitudirectionParameternya 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 samalimitstopParameter, 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.varvaripVariabel 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.varvaripVariabel 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 。varvaripVariabel 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,varvaripVariabel 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_then0var_decl_then1Jika kondisi adalah false, gunakan blok kalimat.else ifatauelseLogika di dalamnyavar_decl_else0var_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))

Lihat juga
for...in while

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.

Lihat juga
if ?:

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
  • menggunakantypeJenis 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:

  1. Kata kunci method harus disertakan sebelum nama fungsi.
  2. 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 sumber
  • str(series string) Substring yang akan dicari.

Lihat juga
str.pos str.match

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 sumber
  • str(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 sumber
  • str(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 sumber
  • regex(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 sumber
  • str(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 sumber
  • target(series string) diganti dengan string
  • replacement(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 sumber
  • target(series string) diganti dengan string
  • replacement(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 sumber
  • separator(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 255
  • green(series int/float) warna hijau. Nilai yang mungkin adalah dari 0 sampai 255
  • blue(series int/float) Bulu. Nilai yang mungkin adalah dari 0 sampai 255
  • transp(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:closehlc3Dan 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 1
  • options (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 iniminvalmaxvalDanstepParameter
  • 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.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 1
  • options (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 iniminvalmaxvalDanstepParameter
  • 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.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 cepat
  • slowlen(simple int) Parameter panjang lambat。
  • siglen(simple int) Parameter panjang sinyal。

Lihat juga
ta.sma ta.ema

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 ◦

Lihat juga
ta.mom ta.cross

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.

Lihat juga
ta.dev ta.stdev

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

Lihat juga
ta.rsi math.sum

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 target
  • length(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

Lihat juga
ta.tr ta.rma

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) menambah
  • max(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 tinggi
  • low(series int/float) Seri rendah
  • length(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。

Lihat juga
ta.mfi ta.cmo

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 visual
  • 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 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 0
  • minheight(input int) Tinggi panah terkecil yang mungkin dalam satuan piksel. Default adalah 5
  • maxheight(input int) Maksimum kemungkinan tinggi panah dalam satuan piksel. Default 100
  • editable(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 array
  • value (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 array
  • index_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 pertama
  • id2(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 array
  • value (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 array
  • value (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 array
  • index(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 array
  • value (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 array
  • index(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 0
  • initial_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 0
  • initial_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 0
  • initial_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 0
  • initial_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 0
  • initial_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 array
  • index(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 array
  • value (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 array
  • index(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 array
  • value (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.exitFungsiprofitlossParameter 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 mendukungtitleshorttitleoverlaypyramidingdefault_qty_typedefault_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.
  • format(const string) Tipe nilai yang mungkin diformat untuk nilai indikator pada sumbu harga adalah: format.inherit, format.price, format.volume。 default format.inherit。
  • precision(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.
  • scale(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'
  • pyramiding(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.
  • calc_on_order_fills(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_every_tick(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.
  • max_bars_back(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.
  • backtest_fill_limits_assumption(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.
  • default_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.
  • currency(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.KRW
  • slippage(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。
  • commission_type(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_value(const int/float) Nilai komisi pesanan. Komision tergantung pada jenis yang dipilih (jenis komisi) termasuk persentase atau jumlah.
  • ~~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.
  • close_entries_rule(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.
  • max_lines_count(const int) Menampilkan jumlah bar graph terbaru. Default adalah 50, max value yang diizinkan 500.
  • max_labels_count(const int) Menampilkan jumlah gambar tag terbaru. Default adalah 50, maksimum yang diizinkan 500.
  • max_boxes_count(const int) Jumlah gambar kotak terakhir yang ditampilkan. Nilai default adalah 50, nilai maksimum yang diizinkan adalah 500.
  • margin_long(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_short(const int/float) Jaminan kosong adalah persentase dari harga pembelian sekuritas yang posisi kosong harus ditutupi dengan uang tunai atau jaminan. Harus non-negatif.
  • explicit_plot_zorder(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.
  • initial_capital(const int/float) Jumlah dana yang awalnya dapat digunakan untuk strategi trading, dalam mata uang yang didefinisikan dalam kotak mata uang. Opsional. Default adalah 1000000
  • risk_free_rate(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 2

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".
  • oca_name(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_type(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.
  • comment(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 kosong
  • 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 ≠
  • 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.
  • oca_name(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.
  • comment(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".
  • oca_name(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_type(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.
  • comment(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

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 0
  • max(series int/float) Batas atas dari rentang nilai acak. Nilai tersebut tidak termasuk dalam rentang. Nilai default adalah 1
  • seed(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.

Lihat juga
math.sqrt math.exp

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

Lihat juga
ta.cum for

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)

Lihat juga
na nz

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 dijalankan
  • replacement(series int/float/bool/color) akan menggantikan nilai dari semua nilai threshold na dalam seri threshold sumber.

Lihat juga
na fixnan

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

Lihat juga
fixnan nz

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。
  • session(simple string) Spesifikasi waktu transaksi。 Parameter opsional, secara default digunakan waktu transaksi komoditas。 String kosong diinterpretasikan sebagai waktu transaksi komoditas。 FMZ tidak didukung。
  • timezone (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.

Lihat juga
time dayofweek

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) Tahun
  • month(series int) bulan
  • day(series int) Tanggal
  • hour(series int) (parameter opsional) jam. Default adalah 0
  • minute(series int) (parameter opsional) menit ≠ 0 ≠ 0
  • second(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 objek
  • color(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 ≠ 1
  • editable(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.

Lihat juga
bgcolor plot fill

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.

Lihat juga
time dayofweek

Related Recommendations
Comment
All comments (24)

    你好,我想用同一账户资金然后开多个实盘交易多品种,有持仓的时候其他实盘无法开仓,这个可以解决吗

    4 months ago

    您好,PINE语言只是单品种、单账户策略,您这个需求只能用Javascript/python/c++ 编写策略。

    4 months ago

    好吧,写了Java scripts和python的效果却不一样。。。。

    4 months ago

    PINE只能单品种、单账户。可以多用几个账户隔离运行。

    4 months ago

    好的,只能这样了谢谢

    4 months ago

    不客气。

    4 months ago

    想要币安u合约多个交易对同时运行怎么搞

    3 years ago

    PINE语言只能做单品种策略,多品种策略最好还是用python , javascript , c++编写设计。

    3 years ago

    请教下,pine能多交易对吗? 也是和JS一样遍历交易对吗??谢谢。

    4 years ago

    您好,暂时PINE语言策略只能做单品种。

    4 years ago

    以后会考虑多品种吗?收盘价每个品种遍历就行

    4 years ago

    这个多品种的架构问题不好解决,因为每个交易所接口不一样,对接口频率限定也不一样,会产生很多问题。

    4 years ago

    感觉最好能和JS混编,JS可以更好的适应各种交易方式。

    4 years ago

    好的,感谢云总提出建议,这边报下这个需求。

    4 years ago

    好的,谢谢梦大。

    4 years ago

    謝謝提供詳細的文檔

    4 years ago

    不客气,感谢您的支持。文档还会继续完善。

    4 years ago

    大佬!这 pine script 怎么在平台上使用 okex 的模拟盘?

    4 years ago

    用不了okx模拟盘。。。。。[捂脸]

    4 years ago

    嗯,是的,OKX比较特殊,他们的模拟环境和实盘环境是一样的地址,只是在其它地方做了区别。所以没办法用切换基地址,去切换到模拟盘。

    4 years ago

    PINE模版类库,参数上可以设置切换交易所基地址。文档开头的:PINE语言交易类库模版参数。

    4 years ago

    这等于是 tradingview平台的策略直接copy到发明者平台就可以使用了吧!

    4 years ago

    是的。

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)