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

Kata kunci, tatabahasa, penerangan tetapan

Struktur kod

Struktur umum yang diikuti oleh kod dalam Pine:

<version> <declaration_statement> <code>

Nota

Simbol komen yang disokong oleh bahasa Pine di FMZ: komen satu baris//Nota berbilang baris/* */Sebagai contoh, bagaimana nota ditulis 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')

Penerbitan

Arahan kompilator dalam bentuk berikut memberitahu kompilator versi Pine yang digunakan untuk skrip:

pine
//@version=5

Secara lalai, versi v5 boleh diabaikan dalam kod//@version=5

Kenyataan

Pernyataan pengisytiharan menentukan jenis skrip, yang seterusnya menentukan apa yang dibenarkan di dalamnya, dan bagaimana ia digunakan dan dilaksanakan. Ia menetapkan sifat-sifat utama skrip, seperti namanya, di mana ia akan muncul apabila ia ditambah ke dalam carta, ketepatan dan format nilai yang ditunjukkannya, dan nilai-nilai untuk mengawal tindakan tertentu semasa ia berjalan, seperti jumlah objek peta maksimum yang akan ditunjukkan dalam carta. Untuk strategi, sifat-sifat termasuk parameter yang dikawal semula, seperti modal awal, komisen, titik meluncur, dan lain-lain.indicator()ataustrategy()Kenyataan rasmi:

Kod

Garis yang tidak memberi komen atau arahan kompilator dalam skrip adalah pernyataan, yang mewujudkan algoritma skrip. Pernyataan boleh menjadi salah satu daripada ini.

  • Pengisytiharan pemboleh ubah
  • Penjenamaan semula pemboleh ubah
  • Pengisytiharan fungsi
  • Panggilan fungsi terbina dalam, panggilan fungsi yang ditakrifkan pengguna
  • ifforwhileatauswitchStruktur lain

Perkataan boleh disusun dengan pelbagai cara

  • Sesetengah ungkapan boleh dinyatakan dengan satu baris, seperti kebanyakan deklarasi pembolehubah, yang hanya mengandungi satu baris panggilan fungsi atau deklarasi fungsi baris tunggal. Yang lain, seperti struktur, selalu memerlukan lebih banyak baris, kerana mereka memerlukan satu blok tempatan.
  • Perkataan dalam skop global skrip (iaitu, bahagian yang tidak tergolong dalam blok tempatan) tidak boleh dianggap sebagai空格atau制表符(Kunci tab) bermula。 Karakter pertama mereka juga mestilah karakter pertama baris tersebut。 Baris yang bermula pada kedudukan pertama baris, menjadi sebahagian daripada skop global skrip mengikut definisi。
  • Struktur atau pernyataan fungsi berbilang baris sentiasa memerlukanlocal block。 Satu blok tempatan mesti dikurangkan ke dalam satu tanda pengenal atau empat ruang kosong ((jika tidak, ia akan diuraikan sebagai kod berturut-turut baris sebelumnya, iaitu dihakimi sebagai kesinambungan baris sebelumnya), dan setiap blok tempatan mentakrifkan ruang lingkup tempatan yang berbeza。
  • Pelbagai ungkapan tunggal boleh disusun dalam satu baris dengan menggunakan tanda koma ((,) sebagai pemisah.
  • Satu baris boleh mengandungi komen atau hanya komen.
  • Baris juga boleh dibungkus ((terus dalam pelbagai baris) <unk>)

Sebagai contoh, termasuk tiga blok lokal, satu dalam deklarasi fungsi tersuai, dan dua menggunakan struktur if dalam deklarasi pembolehubah, seperti berikut:

pine
indicator("", "", true) // 声明语句(全局范围),可以省略不写 barIsUp() => // 函数声明(全局范围) close > open // 本地块(本地范围) plotColor = if barIsUp() // 变量声明 (全局范围) color.green // 本地块 (本地范围) else color.red // 本地块 (本地范围) runtime.log("color", color = plotColor) // 调用一个内置函数输出日志 (全局范围)

Kod ganti baris

Baris panjang boleh dibahagikan kepada beberapa baris, atau "dibungkus". Baris yang dibungkus mesti menyusut ke dalam apa-apa jumlah ruang, asalkan ia bukan kelipatan 4 (perbatasan ini digunakan untuk menyusut ke dalam blok tempatan).

pine
a = open + high + low + close

Ia boleh dibungkus sebagai (perhatikan bahawa jumlah ruang yang dikurangkan dalam setiap baris bukanlah kelipatan 4):

pine
a = open + high + low + close

Panggilan plot ((() yang panjang boleh dibungkus dalam ▽.

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)

Perkataan dalam deklarasi fungsi yang ditakrifkan oleh pengguna juga boleh dibungkus. Namun, kerana blok tempatan secara gramatikal mesti bermula dengan pengurangan (- 4 ruang kosong atau 1 tanda kerja), apabila membahagikannya ke baris seterusnya, bahagian lanjutan perkataannya mesti bermula dengan pengurangan lebih daripada satu (- tidak sama dengan kelipatan 4 ruang kosong). Contohnya:

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

Jadual masa

Rangkaian masa bukanlah jenis atau format data, tetapi konsep struktur asas dalam bahasa PINE. Ia digunakan untuk menyimpan nilai yang berubah secara berturut-turut dalam masa, setiap nilai sesuai dengan satu titik masa. Struktur konsep ini sangat sesuai untuk digunakan untuk memproses dan merekodkan rangkaian data yang berubah dari masa ke masa.
Dengan pembolehubah terbina dalamopenSebagai contoh,openVariabel terbina dalam merekodkan harga pembukaan setiap BAR K, jikaopenIa adalah 5 minit K.openVariabel yang dirakamkan ialah setiap 5 minit K bar (kolom). Apabila program strategi anda dijalankan, kod anda merujukopenUntuk merujuk kepada nilai sebelumnya dalam urutan masa (nilai masa lalu), kita menggunakan[]Operator sejarah, apabila strategi dijalankan pada baris KBAR,open[1]Maksudnya ialah merujuk kepada harga pembukaan K bar sebelum K bar semasa.

WalaupunJadual masaIa mudah untuk memikirkan struktur data "array", walaupun bahasa PINE juga mempunyai jenis array. Tetapi mereka dan urutan masa adalah konsep yang sama sekali berbeza.

PINE direka bentuk sebagai siri masa, yang membolehkan anda dengan mudah mengira nilai terkumpul harga penutupan dalam kod strategi, dan tidak memerlukan struktur pusingan seperti for, hanya menggunakan fungsi terbina dalam bahasa PINEta.cum(close)Sebagai contoh lain, kita perlu mengira nilai purata perbezaan antara nilai tertinggi dan yang terendah bagi 14 baris K BAR terakhir (iaitu 14 baris K BAR yang paling dekat pada masa semasa ketika kod dijalankan) yang boleh ditulis sebagai:ta.sma(high - low, 14)

Hasil panggilan fungsi pada urutan masa juga akan meninggalkan jejak pada urutan masa, juga boleh digunakan[]Operator sejarah merujuk kepada nilai sebelum. Sebagai contoh, untuk menguji sama ada harga penutupan Kbar semasa melebihi nilai maksimum nilai tertinggi dalam BAR 10 Kbar terakhir (tidak termasuk Kbar semasa). Kita boleh menulisbreach = close > ta.highest(close, 10)[1]Ia juga boleh ditulis sebagai,breach = close > ta.highest(close[1], 10)Oleh itu.ta.highest(close, 10)[1]danta.highest(close[1], 10)Ia adalah sama.

Ia boleh disahkan dengan kod 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)

Kod ujian di atas akan mengeluarkan nilai a dan b pada setiap BAR pada urutan masa yang sesuai, dan dapat dilihat bahawa nilai a dan b selalu sama, jadi kedua-dua cara menyatakan adalah setara.

Tarikh data rujukan

Trading View mempunyai had maksimum untuk rujukan data sejarah (maksimum 5000), seperti kod 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")

"Tetapan urus niaga" dalam "Pine Language Transaction Classroom" menggunakan strategi bahasa PINE di FMZ, parameter: "Jumlah kitaran terpanjang pembolehubah" menetapkan jumlah maksimum data yang boleh dirujuk.

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 tempoh" tidak boleh ditetapkan terlalu besar, dan dalam strategi yang sesuai, data boleh dirujuk.

Parameter modem perpustakaan kelas pertukaran bahasa Pine

Panduan untuk menetapkan parameter pada templat binaan "Pine Language Transaction Class Library" untuk PINE Policy.

img

Tetapan perdagangan

  • Perlaksanaan
    Model harga penutupan: model dijalankan apabila BAR semasa habis, dan perdagangan dijalankan apabila BAR akar bermula.
    Model harga masa nyata: setiap kali harga berubah, model dijalankan, dan ada isyarat untuk melakukan perdagangan dengan segera.
  • Nombor tangan terbuka secara lalai: Jika arahan perdagangan tidak menentukan jumlah perdagangan, pelaksanaan perdagangan mengikut jumlah yang ditetapkan.
  • Jumlah pesanan maksimum dalam satu transaksi: Berdasarkan cakupan sebenar, dalam kombinasi dengan tetapan parameter ini, tentukan jumlah pesanan maksimum untuk setiap pesanan, untuk mengelakkan kejutan cakupan.
  • Peluang penurunan harga: berdasarkan定价货币精度Parameter dan parameter ini menentukan harga slippage pada masa pesanan. Sebagai contoh, penetapan ketepatan mata wang harga adalah 2, iaitu tepat ke nombor kedua, tepat kepada 0.01. Maka setiap titik slippage mewakili 0.01 unit penetapan. Pada masa ini, penetapan nilai slippage adalah 5, dan harga slippage pada masa pesanan adalah 0.05 (harga slippage merujuk kepada bahagian harga yang terlampau pada masa pesanan untuk lebih baik dan menutup pesanan).
  • Bilangan kitaran terpanjang: bilangan BAR pada garisan K yang mempengaruhi grafik, denganjavascriptPanggilan dalam strategiSetMaxBarLenFungsi yang sama.

Opsyen Niaga Hadapan

  • Kod varieti: Kod kontrak, yang perlu ditetapkan apabila objek pertukaran adalah objek pertukaran bukan tunai.
  • Minimum jumlah kontrak: jumlah minimum kontrak yang boleh diuruskan semasa anda membuat pesanan.

Pilihan Sebenar

  • Kembali semula secara automatik: Kembali semula ke keadaan sebelum strategi terakhir berhenti.
  • Bilangan percubaan semula pesanan: Pesanan yang tidak berjaya akan membatalkan pesanan, dan pesanan semula akan cuba untuk berdagang, parameter ini digunakan untuk mengehadkan jumlah percubaan semula maksimum.
  • Interval tinjauan rangkaian ((ms): hanya sah untuk protokol REST, mengawal selang permintaan rangkaian, mengelakkan permintaan terlalu kerap, melebihi had bursa.
  • Tempoh penyegerakan akaun (dalam detik): tempoh masa untuk penyegerakan data akaun.
  • Masa sinkronisasi kedudukan selepas pembukaan kedudukan (((ms): hanya untuk beberapa pertukaran yang berulang pembukaan kedudukan yang disebabkan oleh kelewatan data, masa sinkronisasi yang lebih besar dapat mengurangkan masalah seperti itu.
  • Ganda Leverage: Tetapkan Ganda Leverage.

Perdagangan tunai, tetapan lain

  • Jumlah transaksi satu tangan: jumlah transaksi satu tangan secara lalai, hanya berlaku untuk barangan tunai.
  • Jumlah minimum transaksi: jumlah minimum transaksi.
  • Ketepatan harga mata wang: ketepatan harga, iaitu angka kecil harga.
  • Ketepatan jenis dagangan: ketepatan pesanan seterusnya, iaitu digit kecil pesanan seterusnya.
  • Bayaran: Untuk mengira beberapa data berdasarkan tetapan ini, 0.002 menunjukkan 2 per seribu.
  • Jarak statistik kerugian: Hanya digunakan untuk menunjukkan statistik kerugian di cakera.
  • Kegagalan cuba semula ((ms): selang cuba semula apabila permintaan rangkaian gagal.
  • Penggunaan ejen: hanya sah untuk REST
  • Hiding common network errors: Hiding common error logs in the log area.
  • Alamat pangkalan suis: hanya sah untuk protokol REST.
  • Pemberitahuan push: Pelancaran mesej ke peti mel dan sebagainya.

Buat pesanan

Pembukaan Kedai

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) // 指定(较低的)价格,计划下买单订单,等待成交开仓,限价开仓

Kedudukan rata

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 adalah sama seperti pegangan unidirectional. Sebagai contoh, apabila anda memegang kedudukan dalam arah yang berlainan, jika anda mempunyai pesanan untuk menjual operasi, pelan, dan sebagainya, maka anda akan melakukan pelaksanaan perintah yang bertentangan dengan arah pegangan.

Borang rancangan

Apabila menggunakan arahan pesanan, apabila tidak ditetapkan sebarang harga, harga pasaran secara lalai. Selain harga pasaran, anda juga boleh membuat pesanan melalui senarai rancangan, tetapi tidak akan segera melakukan pesanan.Rekod semulaMaklumat status masa ((iaitu tetingkap status semasa strategi berjalan) dilihat dalam tab "Pelan pesanan" di bahagian halaman. Sistem hanya akan benar-benar memesan apabila pasaran memenuhi syarat harga masa nyata yang mencetuskan satu-satu rancangan ini. Oleh itu, pesanan ini berada dalam keadaan yang agak kecil pada harga transaksi adalah keadaan biasa.strategy.entryKita boleh menetapkan fungsi yang kita mahu.limitstopParameter

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
  • Pesanan had

    Tetapkan harga terhad untuk pesanan, apabila pesanan adalah pembelian (iaitudirectionParameternya ialahstrategy.long), hanya apabila harga pasaran semasa lebih rendah daripada harga tersebut, pesanan akan dicetuskan.
    Apabila pesanan adalah untuk dijual (iaitudirectionParameternya ialahstrategy.short), hanya apabila harga pasaran semasa lebih tinggi daripada harga tersebut, pesanan akan dicetuskan.

  • Perintah berhenti

    Tetapkan harga hentian pesanan, apabila pesanan untuk membeli, pesanan akan dicetuskan hanya jika harga pasaran semasa lebih tinggi daripada harga tersebut.
    Apabila pesanan adalah untuk menjual, pesanan hanya akan dicetuskan apabila harga pasaran semasa lebih rendah daripada harga tersebut.

  • pesanan berhenti-batas

    Ia boleh diletakkan pada masa yang samalimitstopParameter, pesanan akan dicetuskan pada harga pertama yang memenuhi syarat.

Peratusan hak dan kepentingan

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)

Tentukandefault_qty_type=strategy.percent_of_equitySelepas, tetapandefault_qty_valueSebagai peratusan ((0 ~ 100), 1 ialah 1%. Jumlah pesanan berdasarkan jumlah mata wang dalam akaun. Sebagai contoh: akaun semasa mempunyai 10000 USDT, menetapkan pesanan 1%, iaitu menggunakan pesanan pesanan 100 USDT (berdasarkan harga semasa semasa semasa dijual).

Pernyataan, kata kunci struktur logik

var

var adalah kata kunci untuk variable alokasi dan inisialisasi sekali pakai.
Secara amnya, sintaks penugasan pemboleh ubah yang tidak mengandungi kata kunci var menyebabkan nilai pemboleh ubah ditutup setiap kali data diperbaharui. Sebaliknya, apabila menggunakan kata kunci var untuk menugaskan pemboleh ubah, walaupun data diperbaharui, mereka masih boleh menyimpan keadaan yang sama dan hanya mengubahnya jika syarat dalam if-expressions dipenuhi.

var variable_name = expression

Terangkan:

  • variable_name- apa-apa nama pemboleh ubah pengguna yang dibenarkan dalam Pine Script ((boleh mengandungi huruf Latin, nombor dan garis bawah dalam huruf besar dan kecil))_), tetapi tidak boleh bermula dengan nombor) 。
  • expression- Sebarang ungkapan aritmatika, seperti definisi pembolehubah biasa.

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' mengekalkan harga penutupan pada baris pertama setiap baris dalam siri.
Peubah 'b' mengekalkan harga penutupan batang harga aluminium hijau pertama dalam siri.
Variable 'c' mengekalkan harga penutupan untuk ketupat hijau ketupat kesepuluh dalam siri.

Di FMZ, ia dibahagikan kepada model harga masa nyata, model harga penutupan, dan model harga penutupan.varvaripKami menggunakan kod berikut untuk menguji variabel yang diisytiharkan:

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 masa nyata
    Kode ujian di atas dibahagikan kepada dua peringkat semasa pelaksanaan: 1) K-baris sejarah; 2) K-baris sebenar; 3) K-baris model masa nyata; 4) K-baris sejarah.varvaripVariabel i, ii yang diisytiharkan akan melakukan operasi tambahan setiap kali kod dasar dijalankan (keranaif trueOleh itu, anda dapat melihat bahawa setiap nombor yang ditunjukkan pada bar K hasil pengesanan kembali adalah 1 tambahan. Apabila fasa K sejarah berakhir, fasa K sebenar bermula.varvaripVariabel yang diisytiharkan mula berubah. Oleh kerana ia adalah model harga masa nyata, setiap perubahan harga dalam K-bar akan menjalankan kod strategi sekali, dan setiap perubahan harga dalam K-bar akan menghasilkan perubahan yang berbeza.i := i + 1danii := ii + 1Semua dijalankan sekali. Perbezaan ialah ii diubah setiap kali. Walaupun i juga diubah setiap kali, tetapi pada pusingan seterusnya pelaksanaan logik strategi akan kembali ke nilai sebelumnya, sehingga nilai i yang ditetapkan tidak dikemas kini sehingga Kbar semasa habis ((iaitu, pada pusingan seterusnya pelaksanaan logik strategi tidak akan kembali ke nilai sebelumnya). Oleh itu, dapat dilihat bahawa pembolehubah i masih meningkat setiap BAR 1. Tetapi pembolehubah ii bertambah beberapa kali setiap BAR.

  • Model Harga Penutupan
    Oleh kerana model harga penutupan adalah satu logik strategi yang dijalankan apabila setiap BAR K line telah selesai. Oleh itu, dalam model harga penutupan, fasa K-line sejarah dan fasa K-line masa nyata,varvaripVariabel yang diisytiharkan menunjukkan peningkatan yang sama dalam contoh di atas, iaitu peningkatan 1 BAR bagi setiap baris K.

varip

varip ((var intrabar persist) adalah kata kunci yang digunakan untuk mengalokasikan dan menginisialisasi pembolehubah sekali gus. Ia serupa dengan kata kunci var, tetapi pembolehubah yang menggunakan varip menyatakan mengekalkan nilainya di antara kemas kini K-line dalam masa nyata.

varip variable_name = expression

Terangkan:

  • variable_name- Sebarang nama pemboleh ubah pengguna yang dibenarkan dalam skrip Pine boleh mengandungi huruf Latin, nombor dan garis bawah dalam huruf besar dan kecil_), tetapi tidak boleh bermula dengan nombor) 。
  • expression- Sebarang ungkapan aritmatika, seperti apabila menentukan pembolehubah biasa. Pada baris K pertama, ungkapan hanya dikira sekali dan ia diperuntukkan kepada pembolehubah sekali.

Contoh

pine
// varip varip int v = -1 v := v + 1 plot(v)

Dengan var, peta akan mengembalikan nilai bar_index. Dengan varp, tindakan yang sama berlaku pada garis K sejarah, tetapi pada garis K masa nyata, peta akan mengembalikan nilai yang meningkat satu untuk setiap tick.

Nota
Hanya boleh digunakan dengan jenis yang mudah, seperti float, int, bool, string, dan array jenis ini.

true

Menunjukkan nilai bagi jenis Boolean, atau apabila digunakan dalam ungkapanPerbandinganatauLogikNilai yang boleh dikira oleh operator.

Nota
Lihat jugaPerbandinganOperator danLogikKeterangan pengendali

Lihat juga
bool

false

Menunjukkan nilai pembolehubah jenis Boolean, dan hasil operasi perbandingan, operasi logik.

Nota
Lihat jugaPerbandinganOperator danLogikKeterangan pengendali

Lihat juga
bool

if

Perkataan if mentakrifkan blok perkataan yang mesti dilaksanakan apabila syarat ungkapan dipenuhi. Bahasa skrip Pine edisi ke-4 membolehkan anda menggunakan sintaks <unk>else if<unk>.

Kod 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

Nota
var_declarationX- Variabel ini mengambil nilai if
condition- Jika syarat adalah true, gunakan blok pernyataanthenLogik dalamvar_decl_then0var_decl_then1Jika syaratnya adalah false, gunakan blok kalimat.else ifatauelseLogik dalamvar_decl_else0var_decl_else1Antara lain:
return_expression_then , return_expression_else- ungkapan terakhir dalam modul atau ungkapan dari blokelse akan mengembalikan nilai akhir ungkapan. Jika pengisytiharan pembolehubah berada di akhir, nilai akan menjadi nilai hasil.

Jenis nilai yang dikembalikan oleh pernyataan if bergantung kepadareturn_expression_thendanreturn_expression_elseJenis-jenis tersebut harus bersesuaian apabila dijalankan pada TradingView: apabila anda mempunyai nilai senar dalam blokelse, tidak mungkin untuk mengembalikan nilai integer dari blok then. Apabila dijalankan pada FMZ, contoh berikut tidak akan tersilap, apabila nilai y diambil "open", nilai pada 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)

Boleh dikurangkanelseDalam kes ini, jika syaratnya adalah false, maka variabel var_declarationX akan diberikan satu nilai tunjangan yang kosong (na, false atau <unk>):

Contoh

pine
// if x = if close > open close // If current close > current open, then x = close. // Otherwise the x = na. plot(x)

Anda boleh menggunakan lebih daripada satu blok <unk>else if<unk> atau tidak sama sekali. <unk>then<unk>, <unk>else if<unk>, <unk>else<unk> blok dipindahkan empat ruang kosong:

Contoh

pine
// if x = if open > close 5 else if high > low close else open plot(x)

boleh abaikanifNilai hasil pernyataan ((<unk>var_declarationX=<unk> boleh diabaikan) <unk>. Ia mungkin berguna jika anda memerlukan kesan sampingan dari ungkapan, seperti dalam perdagangan strategi:

Contoh

pine
if (ta.crossover(high, low)) strategy.entry("BBandLE", strategy.long, stop=low) else strategy.cancel(id="BBandLE")

If boleh digabungkan:

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' membolehkan pelaksanaan berganda:

[var_declaration =] for counter = from_num to to_num [by step_num] statements | continue | break return_expression

var_declaration- Satu deklarasi pembolehubah yang boleh dipilih, yang akan ditugaskan sebagai nilai return_expression untuk pusingan balik.
counter- Variabel yang menyimpan nilai penghitung pusingan, naik / turun 1 atau step_num nilai pada setiap iterasi pusingan.
from_num- Nilai permulaan pengira. Percuma menggunakan nilai terhad / ungkapan int / float.
to_num- Nilai akhir meter. Apabila meter lebih besar daripada to_num (atau lebih kecil daripada to_num dalam keadaan from_num > to_num), kitaran dipotong. Penggunaan nilai terendah / ungkapan int / float berturut-turut dibenarkan, tetapi mereka hanya dinilai pada iterasi pertama kitaran.
step_num- Penghitung kenaikan / penurunan. Ia adalah pilihan. Nilai lalai adalah + 1 atau -1, bergantung kepada yang terbesar dari dari_num atau to_num. Apabila menggunakan nilai, penghitung juga akan meningkat / menurun berdasarkan yang terbesar dari dari_num atau to_num, jadi tanda + / - dari step_num adalah pilihan.
statements | continue | break- Sebilangan besar perkataan, atau kata kunci 'terus' atau 'pecah', dikurangkan menjadi 4 ruang atau satu tab.
return_expression- Nilai pulangan gelung, jika ada, diberikan kepada pembolehubah dalam var_declaration. Jika gelung keluar kerana kata kunci <unk>continue<unk> atau <unk>break<unk>, nilai pulangan gelung adalah nilai pulangan pembolehubah terakhir yang diberikan sebelum gelung keluar.
continue- Kata kunci yang hanya boleh digunakan dalam pusingan balik. Ia menyebabkan iterasi pusingan balik berikutnya dilaksanakan.
break- Kata kunci untuk keluar daripada 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 membolehkan pelaksanaan berulang pelbagai pernyataan untuk setiap elemen dalam array. Ia boleh digunakan dengan mana-mana argumen:array_element, atau digunakan bersama dengan dua argumen:[index, array_element]Bentuk kedua tidak menjejaskan fungsi kitaran. Ia mengesan indeks iterasi semasa dalam pembolehubah pertama dalam 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- satu pilihan pengisytiharan pembolehubah, yang akan diberikan kepada kitaranreturn_expressionNilai
index- Variabel pilihan yang mengesan indeks perkalian semasa. Indeks bermula dari 0. Variabel tidak berubah dalam badan pusingan. Apabila digunakan, ia mesti termasuk dalam satu yang juga termasuk.array_elementDalam subgroups:
array_element- mengandungi pembolehubah bagi setiap elemen susunan berturut-turut yang akan diuruskan dalam kitaran. Pembolehubah tersebut tidak berubah dalam kitaran.
array_id- Array ID untuk iterasi lingkaran.
statements | continue | break- Sebilangan besar perkataan, atau kata kunci 'terus' atau 'pecah', dikurangkan menjadi 4 ruang atau satu tab.
return_expression- Nilai pulangan pusingan diberikan kepadavar_declarationJika loop keluar kerana kata kunci 'continue' atau 'break', maka nilai yang dikembalikan untuk loop adalah variabel yang diberi nilai terakhir sebelum loop keluar.
continue- Kata kunci yang hanya boleh digunakan dalam pusingan balik. Ia menyebabkan iterasi pusingan balik berikutnya dilaksanakan.
break- Kata kunci untuk keluar daripada lingkaran.

Mengubah unsur atau saiz array dalam loop dibenarkan.
Di sini, kita menggunakanfor...inBentuk parameter tunggal untuk menentukan berapa banyak nilai OHLC bagi setiap baris K yang lebih besar daripada 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 mengekspresikanisPosArray yang ditetapkan sebagai trueApabila mereka berada di dalam kita,valuesArrayNombor yang sesuai dalam array adalah masa yang betul:

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

whilePerkataan ini membenarkan pengulangan bersyarat bagi blok kod tempatan.

variable_declaration = while boolean_expression ... continue ... break ... return_expression

Terangkan:
variable_declaration- Pengisytiharan pembolehubah pilihan.return expressionAnda boleh memberikan nilai inisialisasi kepada pembolehubah ini.
boolean_expression- Jika benar, laksanakanwhileBlok tempatan untuk pernyataan. Jika false, maka dalamwhileSelepas ayat, lanjutkan dengan skrip.
continue - continueKata kunci menyebabkan kitaran bercabang ke iterasi seterusnya.
break - breakKata kunci menyebabkan kitaran berakhir.while"Saya tidak tahu apa-apa", kata beliau.
return_expression- Disediakan.whileGaris pilihan yang dikembalikan oleh pernyataan.

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)

Nota
PermulaanwhileBlok kod tempatan selepas baris mesti disusun dalam empat ruang atau satu tanda pengukur. Untuk menamatkan.whilePeredaran.whileEkspresi Boolean seterusnya mesti berubah menjadi false, atau ia mesti dijalankan.break

switch

Operator switch memindahkan kawalan ke salah satu daripada beberapa pernyataan berdasarkan syarat dan nilai ungkapan.

[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 ungkapan:

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 ungkapan:

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)

Nilai yang dikembalikan
Nilai ungkapan terakhir dalam blok pernyataan tempatan yang dilaksanakan.

Nota
Hanya boleh dijalankanlocal_blockcontoh ataudefault_local_blockSatu.default_local_blockhanya dengan=>Tanda-tanda diperkenalkan bersama-sama, dan hanya dilaksanakan jika blok sebelumnya tidak dilaksanakan. JikaswitchHasil pernyataan yang diberikan kepada satu pembolehubah dan tidak ditentukandefault_local_blockJika tidak dilaksanakan,local_block, maka ia akan kembali kepadana<unk>switchApabila hasil daripada pernyataan diberikan kepada pembolehubah, semualocal_blockInstan mesti mengembalikan nilai yang sama.

Lihat juga
if ?:

series

series adalah kata kunci untuk menunjukkan jenis siri data.seriesKata kunci biasanya tidak diperlukan.

Pengendali

=

Digunakan untuk memberi nilai kepada pemboleh ubah, tetapi hanya apabila menyatakan pemboleh ubah ((untuk penggunaan pertama) <unk>).

:=

Operator penyerahan nilai, memberikan nilai kepada pembolehubah di sebelah kiri. Digunakan untuk penyerahan nilai kepada pembolehubah yang telah diisytiharkan sebelumnya.

!=

Tidak sama dengan. Ia boleh digunakan untuk sebarang jenis ungkapan.

expr1 != expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

%

Bilangan modular ((bilangan bulat tambahan) <unk>. Digunakan untuk ungkapan nilai berangka <unk>.

expr1 % expr2

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

Nota
Dalam skrip Pine, penjual akan dipotong apabila jumlah keseluruhan yang tersisa dikira. Iaitu, mengelilingi ke nilai mutlak terkecil. Nilai yang diperoleh akan mempunyai simbol yang sama dengan dividen.

Contoh: -1 % 9 = -1 - 9 * truncate ((-1/9) = -1 - 9 * truncate ((-0.111) = -1 - 9 * 0 = -1。

%=

Tugas modular. Digunakan untuk ungkapan berangka.

expr1 %= expr2

Contoh

pine
// Equals to expr1 = expr1 % expr2. a = 3 b = 3 a %= b // Result: a = 0. plot(a)

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

*

Perkalian. Digunakan untuk ungkapan nombor.

expr1 * expr2

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

*=

Perkalian ditetapkan. Digunakan untuk ungkapan nilai nombor.

expr1 *= expr2

Contoh

pine
// Equals to expr1 = expr1 * expr2. a = 2 b = 3 a *= b // Result: a = 6. plot(a)

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

+

Tambah atau satuan positif ≠ berlaku untuk ungkapan nilai atau rentetan ≠

expr1 + expr2
+ expr

Nilai yang dikembalikan
String binari+Kembalikan gabungan expr1 dan expr2
Nombor mengembalikan nilai nombor bulat atau floating point, atau satu siri nilai:
Binari '+' kembali kepada expr1 tambah expr2。
Yuan + <unk> mengembalikan expr ((tidak menambah apa-apa kepada simetri operator yuan) <unk>

Nota
Anda boleh menggunakan pengendali aritmatika dengan nombor dan juga rangkaian pembolehubah. Dalam kes rangkaian, pengendali digunakan untuk elemen.

+=

Penambahan ditetapkan. Digunakan untuk ungkapan atau rentetan nombor.

expr1 += expr2

Contoh

pine
// Equals to expr1 = expr1 + expr2. a = 2 b = 3 a += b // Result: a = 5. plot(a)

Nilai yang dikembalikan
Untuk string, kembalikan sambungan expr1 dan expr2. Untuk nombor, kembalikan nilai integer atau floating point, atau satu siri nilai.

Nota
Anda boleh menggunakan pengendali aritmatika dengan nombor dan juga rangkaian pembolehubah. Dalam kes rangkaian, pengendali digunakan untuk elemen.

-

Pengurangan atau satuan negatif. Digunakan untuk ungkapan berangka.

expr1 - expr2
- expr

Nilai yang dikembalikan
Mengembalikan nombor bulat atau nilai titik terapung, atau satu siri nilai:
Binari '+' kembali kepada expr1 tolak daripada expr2。
satuan-Mengembalikan ungkapan negatif untuk express.

Nota
Anda boleh menggunakan pengendali aritmatika dengan nombor dan juga rangkaian pembolehubah. Dalam kes rangkaian, pengendali digunakan untuk elemen.

-=

Peruntukan pengurangan. Digunakan untuk ungkapan nilai.

expr1 -= expr2

Contoh

pine
// Equals to expr1 = expr1 - expr2. a = 2 b = 3 a -= b // Result: a = -1. plot(a)

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

/

Pengecualian: Digunakan untuk ungkapan berangka.

expr1 / expr2

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

/=

Tugas penghapusan: Digunakan untuk ungkapan nilai.

expr1 /= expr2

Contoh

pine
// Equals to expr1 = expr1 / expr2. a = 3 b = 3 a /= b // Result: a = 1. plot(a)

Nilai yang dikembalikan
Bilangan bulat atau nilai titik terapung, atau satu siri nilai ≠

<

Kurang daripada ≠ berlaku untuk ungkapan nilai ≠

expr1 < expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

<=

Kurang daripada atau sama dengan. Digunakan untuk ungkapan nilai.

expr1 <= expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

==

Sama dengan . . . berlaku untuk sebarang jenis ungkapan . . .

expr1 == expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

=>

Operator '=>' digunakan untuk menyatakan fungsi yang ditakrifkan pengguna danswitchDalam ayat.

Sintaks pengisytiharan fungsi adalah:

<identifier>([<parameter_name>[=<default_value>]], ...) => <local_block> <function_result>

Satu.<local_block>0 atau lebih perkataan Pine.
<function_result>adalah satu pembolehubah, satu ungkapan atau satu 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))

Nota
Anda boleh mendapatkan maklumat lanjut mengenai fungsi yang ditakrifkan oleh pengguna di halaman fungsi pengisytiharan dan perpustakaan skrip dalam buku panduan pengguna.

>

Lebih besar daripada ≠ berlaku untuk ungkapan nilai ≠

expr1 > expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

>=

Lebih besar daripada atau sama dengan. Digunakan untuk ungkapan nilai.

expr1 >= expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

?:

Pengendali Syarat Trivial <unk>

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)

Nilai yang dikembalikan
Jika expr1 dinilai sebagai true, maka expr2, jika tidak, maka expr3。 Nilai sifar ((0 dan NaN+, Infinity,-Infinity) dianggap sebagai false, dan nilai lain adalah true。

Nota
Jika anda tidak perlu, sila gunakan na sebagai cawangan daripada naelse.
Anda boleh menggunakan dua atau lebih?: operator untuk mewujudkan pernyataan yang serupa dengan kata laluan switch () (lihat contoh di atas).
Anda boleh menggunakan pengendali aritmatika dengan nombor dan juga rangkaian pembolehubah. Dalam kes rangkaian, pengendali digunakan untuk elemen.

Lihat juga
na

[]

Rangkaian subtitle <unk> menyediakan akses kepada nilai-nilai terdahulu dalam siri expr1 <unk> expr2 adalah bilangan k baris yang lalu, mestilah nilai-nilai <unk> float akan dibulatkan ke bawah <unk>

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)

Nilai yang dikembalikan
Satu siri nilai.

Lihat juga
math.floor

and

Logik AND ≠ berlaku untuk ungkapan Boolean ≠

expr1 and expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

or

Logik OR。 berlaku untuk ekspresi Boolean。

expr1 or expr2

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

not

Logik berbalikbalik ((NOT) <unk>. Digunakan untuk ungkapan Boolean <unk>.

not expr1

Nilai yang dikembalikan
Nilai Bur, atau satu siri nilai Bur.

Kata kunci jenis data

bool

Kata kunci yang digunakan untuk menyatakan variabel atau parameter secara eksplisit.

Contoh

pine
// bool bool b = true // Same as `b = true` b := na plot(b ? open : close)

Nota
Mengutip jenis secara jelas dalam deklarasi pembolehubah adalah pilihan, kecuali ia dimulakan dengan na. Untuk maklumat lanjut mengenai jenis Pin, lihat halaman manual pengguna sistem jenis.

Lihat juga
var varip int float color string true false

int

Kata kunci yang digunakan untuk menyatakan variabel atau parameter secara eksplisit dengan jenis int () atau integer ().

Contoh

pine
// int int i = 14 // Same as `i = 14` i := na plot(i)

Nota
Mengutip jenis secara jelas dalam deklarasi pembolehubah adalah pilihan, kecuali ia dimulakan dengan na. Untuk maklumat lanjut mengenai jenis Pin, lihat halaman manual pengguna sistem jenis.

Lihat juga
var varip float bool color string

float

Kata kunci yang digunakan untuk menyatakan variabel atau parameter secara eksplisit.

Contoh

pine
// float float f = 3.14 // Same as `f = 3.14` f := na plot(f)

Nota
Jenis yang dinyatakan dengan jelas dalam deklarasi pembolehubah adalah pilihan, kecuali ia diinisialisasi dengan na <unk>

Lihat juga
var varip int bool color string

string

Kata kunci "string" untuk menyatakan parameter atau pembolehubah secara eksplisit.

Contoh

pine
// string string s = "Hello World!" // Same as `s = "Hello world!"` // string s = na // same as "" plot(na, title=s)

Nota
Mengutip jenis secara jelas dalam deklarasi pembolehubah adalah pilihan, kecuali ia dimulakan dengan na. Untuk maklumat lanjut mengenai jenis Pin, lihat halaman manual pengguna sistem jenis.

Lihat juga
var varip int float bool str.tostring str.format

color

Kata kunci jenis "color" yang digunakan untuk menyatakan variabel atau parameter secara eksplisit.

Contoh

pine
// color color textColor = color.green if barstate.islastconfirmedhistory runtime.log("test", textcolor = textColor)

Nota
Huruf warna mempunyai format berikut: #RRGGBB atau #RRGGBBAA. Pasangan huruf mewakili nilai enam belas digit dari 00 ke FF (((0 ke 255 dalam nombor desimal), di mana pasangan RR, GG dan BB adalah nilai peratusan warna merah, hijau dan biru. AA adalah peratusan warna transparansi ((atau alfa), di mana 00 tidak dapat dilihat, FF tidak transparan. Apabila tidak menyediakan pasangan AA, FF digunakan.
Mengutip jenis secara jelas dalam deklarasi pembolehubah adalah pilihan, kecuali ia dimulakan dengan na. Untuk maklumat lanjut mengenai jenis Pin, lihat halaman manual pengguna sistem jenis.

Lihat juga
var varip int float string color.rgb color.new

array

Kata kunci untuk jenis matriks matriks matriks yang digunakan untuk menyatakan pembolehubah atau parameter secara eksplisit. Boleh digunakanarray.new<type>,array.fromFungsi mencipta objek array ((atau ID) }}.

Contoh

pine
// array array<float> a = na a := array.new<float>(1, close) plot(array.get(a, 0))

Nota
Array object selalu berupa array array.

Lihat juga
var array.new array.from

Objects

Objek Objek bahasa PINE adalah contoh jenis yang ditentukan oleh pengguna ((UDT), yang boleh difahami sebagai kelas tanpa kaedah, yang membolehkan pengguna membuat jenis tersuai dalam strategi untuk mengatur nilai yang berbeza dalam satu entiti.

Tentukan jenis

Mari kita tentukan jenis order untuk menyimpan maklumat pesanan:

pine
type order float price float amount string symbol
  • gunatypeJenis pengisytiharan kata kunci
  • Nama jenis selepas kata kunci type.
  • Baris pertama type mentakrifkan nama jenis, kemudian kurung ke dalam empat ruang untuk mentakrifkan bidang yang mengandungi jenis tersebut.
  • Setiap medan perlu menyatakan jenis datanya, seperti int, float, string.

Cipta objek

Menggunakan jenis baik yang diisytiharkan, panggilannew()Objek penciptaan fungsi:

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 boleh membuat objek kosong:

pine
order order1 = na

Berikut adalah contoh sebenar:

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 ayat ini:

pine
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)

Ia juga boleh ditulis 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")

Apabila menggunakan var pengisytiharan kata kunci yang diberikan kepada variabel objek yang jenisnya ditentukan oleh pengguna, kata kunci itu secara automatik digunakan untuk semua bidang objek tersebut. Ini bermakna bahawa objek yang diisytiharkan dengan var kata kunci akan mengekalkan statusnya di antara setiap iterasi tanpa perlu menginisialisasi semula nilai bidangnya pada setiap iterasi.

  • Objek firstBar diisytiharkan menggunakan kata kunci var, jadi bidangnya (index, price, vol) akan mengekalkan nilainya dalam setiap iterasi, bermula dari item pertama hingga item terakhir berakhir.
  • Objek currentBar tidak menggunakan pengisytiharan kata kunci var, oleh itu bidangnya akan diinisialisasi semula pada setiap entri dan akan mempunyai objek baru pada setiap iterasi.

Dengan memetakan medan indeks dua objek, anda boleh membandingkan perbezaan di antara mereka. firstBar.index akan mengekalkan nilai yang ditetapkan sebelumnya dalam setiap iterasi, sementara currentBar.index akan diinisialisasi semula sebagai bar_index nilai item semasa dalam setiap iterasi.

Jenis objek untuk penggunaan kata kunci varip

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)

Dalam Pine, menggunakan kata kunci varip dapat menunjukkan bidang objek yang berterusan sepanjang pelaksanaan skrip, dan tidak berputar di dalam lajur yang tidak diiktiraf.
Dalam jenis pengisytiharan Counter, medan bars tidak menggunakan kata kunci varip, dan oleh itu akan berputar di dalam setiap lajur yang tidak disahkan. medan ticks menggunakan kata kunci varip, dan oleh itu ia tidak akan berputar di dalam lajur yang tidak disahkan.
Objek counter diisytiharkan menggunakan kata kunci var, oleh itu ia akan kekal sepanjang pelaksanaan skrip.
Dalam setiap iterasi, medan bars dan medan ticks akan ditambah 1. Bidang bars akan berputar di dalam setiap lajur yang tidak disahkan, manakala medan ticks tidak.
Akhirnya, dengan memetakan medan counter.bars dan counter.ticks, anda boleh membandingkan perbezaan di antara mereka. Nilai counter.bars akan diputar balik dalam setiap lajur yang tidak disahkan, sementara nilai counter.ticks akan terus meningkat sehingga akhir skrip dijalankan.

Ubah nilai medan

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

Boleh digunakan:=Operator penyerahan semula mengubah nilai medan objek.

Kumpulan objek

Contoh mengisytiharkan array kosong yang akan menyimpan objek jenis order yang ditakrifkan pengguna:

pine
type order float price float amount string symbol arrOrder = array.new<order>() order1 = order.new(99, 1, "BTC_USDT") order2 = order.new(100, 2, "ETH_USDT") array.push(arrOrder, order1) array.push(arrOrder, order2) runtime.log(arrOrder) runtime.error("stop")

atau

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

Dalam Pine, objek diagihkan melalui rujukan. Apabila objek sedia ada diagihkan kepada pembolehubah baru, kedua-duanya merujuk kepada 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 objek pivot1 dan menetapkan medan x-nya kepada 1000. Kemudian, kita menyatakan bahawa pivot2 mengandungi pembolehubah yang merujuk kepada objek pivot1 dan oleh itu kedua-duanya merujuk kepada contoh yang sama. Oleh itu, mengubah pivot2.x juga akan mengubah pivot1.x kerana kedua-duanya merujuk kepada medan x-nya yang sama.

Untuk mencipta salinan yang berasingan daripada objek asal, dalam kes ini kita boleh menggunakan kaedah copy () yang terbina dalam. Dalam contoh ini, kita menyatakan pivot2 merujuk kepada pembolehubah bagi contoh salinan objek pivot1. Sekarang, mengubah pivot2.x tidak akan mengubah pivot1.x, kerana ia merujuk kepada bidang x sebagai objek yang berasingan:

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 diingat bahawa kaedah salinan TradingView adalah salinan shallow. Jika objek mempunyai bidang jenis khas (array, dll.), Bidang dalam salinan shallow objek akan merujuk kepada contoh yang sama dengan objek tersebut.
Platform FMZ melakukan penyalinan mendalam secara langsung tanpa perlu melakukan pemprosesan tambahan, seperti contoh berikut:

Salinan mendalam

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 ujian, labelInfo.copy ((labelInfo1) dijalankan sebagai salinan mendalam, mengubah labelInfo1 mana-mana bidang tidak akan menjejaskan labelInfo2。

Methods

Kaedah dalam bahasa Pine adalah fungsi khusus yang berkaitan dengan jenis yang terbina dalam atau ditakrifkan oleh pengguna untuk contoh tertentu. Dalam kebanyakan hal, mereka adalah sama dengan fungsi biasa, tetapi menawarkan sintaksis yang lebih pendek dan lebih mudah. Pengguna boleh menggunakan kaedah secara langsung menggunakan tanda titik pada pembolehubah, seperti mengakses bidang objek Pine.

Kaedah terbina dalam

Sebagai contoh, ini adalah sebahagian daripada kod skrip:

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)

Ia boleh ditulis sebagai:

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)

Ini menunjukkan bahawa PINE menyokongMethodsSelepas itu, kodarray.avg(sourceArray)Ia boleh ditulis dalam bentuk kaedah (methods):sourceArray.avg()
Nota: FMZ tidak disokong buat masa iniarray.avgPerkataan yang sama juga digunakan oleh beberapa orang di Malaysia.

Kaedah yang ditakrifkan pengguna

Pine membolehkan pengguna menentukan kaedah tersuai yang digunakan bersama dengan objek apa-apa jenis terbina dalam atau yang ditentukan oleh pengguna. Kaedah penentuan adalah pada dasarnya sama dengan fungsi penentuan, tetapi dengan dua perbezaan utama:

1 , kata kunci method mestilah dimasukkan sebelum nama fungsi .
2. Parameter method, di mana jenis parameter pertama mesti dinyatakan secara eksplisit, kerana ia menyatakan jenis objek yang akan dikaitkan dengan kaedah tersebut.

Sebagai contoh, dalam kod berikut, anda boleh membungkus kod untuk mengira indeks Brin sebagai kaedah yang disesuaikan oleh pengguna:

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)

Ia 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 boleh lihat bahawa kaedah pengguna yang menggunakan pernyataan method kata kunci:maintainQueue,calcBB yang pertama dalam senarai parameter adalaharray<float>Type ≠ menyatakan bahawa method adalaharray<float>Kaedah untuk jenis pembolehubah, jadi anda boleh melihat memanggil kod berikut untuk mengira penunjuk Brin.

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

Methods dimuat semula

Kaedah yang ditakrifkan pengguna boleh mengalip dan memuat naik kaedah terbina dalam yang sedia ada dan kaedah yang ditakrifkan pengguna yang mempunyai pengenal yang sama. Fungsi ini membolehkan pengguna menentukan beberapa prosedur yang berkaitan dengan tandatangan parameter yang berbeza di bawah nama kaedah yang sama. Sebagai contoh mudah, anggaplah kita ingin menentukan kaedah untuk mengenal pasti jenis pembolehubah. Oleh kerana kita harus secara eksplisit menentukan jenis objek yang berkaitan dengan kaedah yang ditakrifkan pengguna, kita perlu menentukan pembolehubah untuk setiap jenis yang kita ingin mengenal pasti.

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 jenis asas bagi setiap pembolehubahgetType()Apa jenis muat naik yang akan digunakan. Di platform FMZ, kerana skrip PINE diimplementasikan sebagai bahasa Javascript, jenis nilai akan dinilai sebagai data jenis titik terapung.

Fungsi terbina dalam

Apabila fungsi dipanggil, parameter dihantar, nama parameter boleh ditetapkan, pemboleh ubah boleh dihantar secara langsung ke lokasi parameter yang sesuai, dan juga menyokong penggunaan campuran. Sebagai contoh:

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

Selepas menamakan parameter, anda tidak boleh terus menghantar pembolehubah sebagai parameter, dan parameter seterusnya mesti ditulis dalam bentuk penempatan nama parameter.

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

timeframe

timeframe.in_seconds

Ia akan dihantar kepadatimeframeTempoh masa parameter ditukar kepada 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)

Nilai yang dikembalikan
timeframeBilangan saat dalam satu baris K dalam bentuk int menyatakan ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠

parameter

  • timeframe(simple string) Tempoh tempoh。 boleh dipilih。 default adalah timeframe.period。

Nota
Bagitimeframe>= Fungsi '1M' berdasarkan 30.4167 (365/12) hari dalam satu bulan.

Lihat juga
input.timeframe timeframe.period

ticker

ticker.heikinashi

Mencipta kod pengenal permintaan rata-rata K linear yang halus.

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)

Nilai yang dikembalikan
Nombor senar untuk kod saham boleh diberikan kepada fungsi request.security。

parameter

  • symbol(simple string) pengenal kod barangan。

Lihat juga
syminfo.tickerid syminfo.ticker request.security

request

request.data

Meminta data luaran.

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)

Nilai yang dikembalikan
parameterattributeKumpulan data yang ditetapkan.

parameter

  • url(simple string) Url sumber data yang diminta, format data yang dijawab oleh sumber data perlu memenuhi keperluan ((sekurang-kurangnya termasuk sifat time, data):{"data": [], "schema": ["time", "data"]}◦ Format data boleh dirujuk dalam contoh:

    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 sifat dan mengembalikan data yang dikehendaki. Contohnya:"$.spot_close_price", gunakan$.Sebagai awalan, nama sifat dan sifat dalam medan data dalam data yang dijawab semasa permintaan sumber data

Jika salah, anda perlu menyemakrequest.dataJulat masa yang diminta adalah sama dengan julat masa yang ditetapkan untuk pengesanan, dan data yang tidak dapat dikesan pada urutan masa pengesanan akan dikesan.

Data-data data query SQL dalam contoh ini:

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;

Ia boleh didapati di FMZ.Penerokaan DataPermintaan halaman, mencipta pautan data, yang digunakan dalam contohhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

Minta varieti/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)

Nilai yang dikembalikan
Siri permintaan

parameter

  • symbol(simple string) Kod barangan.
  • timeframe(simple string) Tempoh tempoh ≠ senar kosong akan ditafsirkan sebagai tempoh masa semasa grafik ≠
  • expression(series int/float/bool/color) boleh dikira dan dikembalikan sebagai ungkapan dari permintaan.security. Ia boleh menjadi satu siri atau satu subset yang mengandungi elemen yang boleh ditukar kepada siri.
  • gaps(barmerge_gaps) memberi strategi penggabungan data yang diminta (yang memerlukan data untuk digabungkan secara automatik dengan siri utama data OHLC). Nilai yang mungkin: barmerge.gaps_on, barmerge.gaps_off. barmerge.gaps_on - data yang diminta digabungkan dengan kemungkinan jurang (na nilai) barmerge.gaps_off - data yang diminta digabungkan secara berterusan, semua jurang dipenuhi dengan nilai yang ada sebelum ini.
  • lookahead(barmerge_lookahead) memberi strategi penggabungan data yang diminta. Nilai yang mungkin: barmerge.lookahead_on, barmerge.lookahead_off. Bermula dari versi 3, nilai lalai adalah barmerge.lookahead_off. Perhatikan bahawa tingkah laku adalah sama dengan masa nyata, hanya berbeza dalam sejarah.
  • ignore_invalid_symbol(const bool) Satu parameter pilihan. Jika barang yang ditentukan tidak dijumpai, tindakan fungsi ditentukan: jika false, skrip akan berhenti dan kembali error semasa dijalankan; jika true, fungsi akan kembali na dan terus dijalankan.
  • currency(simple string) menukarkan nilai berkaitan mata wang komoditi (seperti OHLC) ke dalam mata wang. Kemudian, nilai selepas penukaran dikira berdasarkan <unk>expression <unk>. Kadar penukaran digunakan berdasarkan kadar pertukaran harian FX_IDC pada hari sebelumnya. <unk> berbanding dengan garis K yang dikira.

Nota
Kod PineScript yang menggunakan ciri ini boleh membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Jika anda ingin menetapkan parameter tambahan untuk barangan yang diminta, seperti tempoh dagangan atau jenis penyesuaian, anda boleh menggunakan ticker.new() fungsi.
Tidak boleh menggunakan pembolehubah 'ticker' untuk memindahkan perbezaan titik ke fungsi ini. Anda boleh menggunakan pembolehubah 'ticker.new' atau kod saham dalam bentuk ungkapan senar, seperti AAPL+MSFT*TSLA”。
Pada masa ini, satu skrip boleh mempunyai sehingga 40 panggilan request.security.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.
Resolusi parameter yang dibenarkan adalah:
1S, 5S, 15S, 30S - selang detik ((jadual mestilah kurang daripada atau sama dengan tempoh yang diminta)
Dari 1 hingga 1440 minit
Dari 1D hingga 365D
Dari 1W hingga 52W dalam beberapa minggu
Dari 1M kepada 12M beberapa bulan

Lihat juga
syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

JikasourceSenar mengandungistrSubstring, akan mengembalikan true, jika tidak akan mengembalikan 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)

Nilai yang dikembalikan
Jika dalamsourceMencari dalam senarstrJika tidak, maka ia adalah palsu.

parameter

  • source(series string) Senar sumber
  • str(series string) Rangkai kata yang ingin dicari.

Lihat juga
str.pos str.match

str.endswith

JikasourceSenar denganstrJika anda menetapkan substring pada akhir, anda akan mengembalikan true, jika tidak, anda akan mengembalikan false.

str.endswith(source, str)

Nilai yang dikembalikan
JikasourceSenar denganstrSubstring yang ditentukan di dalam berakhir dengan true, jika tidak false.

parameter

  • source(series string) Senar sumber
  • str(series string) Rangkai kata yang ingin dicari.

Lihat juga
str.startswith

str.startswith

JikasourceSenar denganstrJika substring yang ditentukan bermula, ia akan mengembalikan true, jika tidak, ia akan mengembalikan false.

str.startswith(source, str)

Nilai yang dikembalikan
JikasourceSenar denganstrSubstring yang ditentukan di dalam bermula dengan true, jika tidak false.

parameter

  • source(series string) Senar sumber
  • str(series string) Rangkai kata yang ingin dicari.

Lihat juga
str.endswith

str.substring

Kembali string baru, ia adalahsourceSubstring string. Substring ialahbegin_posKarakter yang bermula pada indeks yang ditetapkan dan berkembang kesource'end_pos - 1' daripada rentetan senar.

str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)

Contoh

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)

Nilai yang dikembalikan
String anak yang diambil daripada string sumber.

parameter

  • source(series string) String sumber yang diekstrak dari anak-anaknya.
  • begin_pos(series int) kedudukan permulaan substring yang diambil. Ia adalah eksklusif ((substring yang diambil termasuk watak di tempat itu)
  • end_pos(series int) Kedudukan pengakhiran。 ia adalah eksklusif ((string yang diambil tidak termasuk watak dalam kedudukan tersebut)。 boleh dipilih。 default ialahsourcePanjang senar.

Nota
Indeks senar bermula dengan 0. Jikabegin_possama rataend_pos, fungsi mengembalikan sebuah string kosong.

Lihat juga
str.contains str.pos str.match

str.tonumber

str.tonumber(string)

Nilai yang dikembalikan
Jika ia mengandungi nombor sah, maka ia adalah floating-point string, jika tidak, maka ia adalah na。

parameter

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

str.format

Menukarkan senar format dan nilai kepada senar format. Senar format boleh mengandungi teks teks dan satu tanda tempat dalam kurung besar {} untuk setiap nilai yang ingin diformat. Setiap tanda tempat termasuk indeks yang akan menggantikan parameter yang diperlukan untuknya (bermula dari 0), dan satu tanda format yang boleh dipilih. Indeks menunjukkan kedudukan parameter dalam senarai parameter str.format.

str.format(formatString, arg0, arg1, ...)

Contoh

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)

Nilai yang dikembalikan
Senar diformat.

parameter

  • formatString(series string) Format senar senar。
  • arg0, arg1, ... (series int/float/bool/string/na/int[]/float[]/bool[]/string[Nilai yang perlu diformat.

Nota
Semua tanda kurung dalam gaya yang tidak dikutip mestilah seimbang. Sebagai contoh, "ab {0} de" dan "ab '}' de " adalah gaya yang sah, tetapi "ab {0'} 'de", "ab } de" dan "'{''" bukan gaya yang sah.

str.length

Mengembalikan bilangan bulat yang sepadan dengan bilangan aksara dalam senar tersebut.

str.length(string)

Nilai yang dikembalikan
Bilangan aksara dalam senar sumber.

parameter

  • string(series string) Senar sumber

str.lower

Mengembalikan senar baru di mana semua huruf ditukar menjadi huruf kecil.

str.lower(source)

Nilai yang dikembalikan
Semua huruf ditukar menjadi senar baru huruf kecil.

parameter

  • source(series string) Senar yang akan ditukar.

Lihat juga
str.upper

str.upper

Mengembalikan senar baru di mana semua huruf telah ditukar menjadi huruf besar.

str.upper(source)

Nilai yang dikembalikan
Semua huruf telah ditukar menjadi siri baru huruf besar.

parameter

  • source(series string) Senar yang akan ditukar.

Lihat juga
str.lower

str.match

Jika ia sepadanregexEkspresi biasa, kembalisourceString anak baru string, atau 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"

Nilai yang dikembalikan
sourceString anak baru string, jika ia sepadan denganregexEkspresi biasa, jika tidak 'na'。

parameter

  • source(series string) Senar sumber
  • regex(series string) Ekspresi biasa yang sepadan dengan senar ini。

Nota
Pengembalian FungsisourceUngkapan biasa yang muncul pertama kali dalam senar tersebut ialah:
regexSimbol backslash dalam string memerlukan pengalihan menggunakan backslash tambahan, seperti\d<unk> mewakili ungkapan ralat <unk>\d<unk>。

Lihat juga
str.contains str.substring

str.pos

KembalisourcePertama kali muncul dalam senarstrJika tidak, ia akan mengembalikan 'na'

str.pos(source, str)

Nilai yang dikembalikan
strString dalamsourceKedudukan dalam senar.

parameter

  • source(series string) Senar sumber
  • str(series string) Rangkai kata yang ingin dicari.

Nota
Indeks senar bermula dari 0.

Lihat juga
str.contains str.match str.substring

str.replace

Mengembalikan senar baru dengan N+1 kali pertamatargetSenar dan yang sebelum initargetString diganti denganreplacementString, di mana N dalamoccurrenceTentukan ≠ N sebagai indeks sepadan yang muncul dalam senar sumber sebagai senar sasaran 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)

Nilai yang dikembalikan
String yang telah diuruskan

parameter

  • source(series string) Senar sumber
  • target(series string) digantikan dengan string
  • replacement(series string) String yang akan disisipkan dan bukannya string sasaran.
  • occurrence(series int) Senarai sasaran yang akan digantikan adalah indeks yang sepadan yang muncul dalam senar sumber. Indeks yang sepadan pertama bermula dengan 0.

Lihat juga
str.replace_all str.match

str.replace_all

Dengan menggantikan senar, menggantikan senar sasaran yang muncul setiap kali dalam senar sumber.

str.replace_all(source, target, replacement)

Nilai yang dikembalikan
String yang telah diuruskan

parameter

  • source(series string) Senar sumber
  • target(series string) digantikan dengan string
  • replacement(series string) String yang akan digantikan setiap kali ia muncul

str.split

Bahagikan string ke dalam sub-array string dan kembalikan ID array mereka.

str.split(string, separator)

Nilai yang dikembalikan
ID senar senar

parameter

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

str.tostring

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

Nilai yang dikembalikan
valueSenarai senar parameter menunjukkan bentuk。
JikavalueParameter adalah string, dan ia akan dikembalikan seperti semula.
ApabilavalueApabila na, fungsi mengembalikan string NaN<unk>.

parameter

  • value (series int/float/bool/string/int[]/float[]/bool[]/string[]) Elemen yang ditukarkan kepada nilai atau ID array senar.
  • format (series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is '#.##########'.

Nota
Format dengan nilai floating point juga akan mengelilingi nilai-nilai ini jika perlu, contohnya str.tostring ((3.99, '#') akan mengembalikan <unk>4<unk>。
Untuk menunjukkan sifar yang diikuti, gunakan '0' dan bukannya '#'. Sebagai contoh, '#.000'.
Apabila menggunakan format.mintick, nilai itu akan diselingi dengan nombor yang paling dekat yang tidak boleh dibahagi dengan siminfo.mintick tanpa tambahan. ❚ String yang dikembalikan diikuti dengan sifar.
Jika argumen x adalah senar, ia akan mengembalikan nilai senar yang sama.
Bool jenis argumen kembali <unk>true<unk> atau <unk>false<unk>.
Apabila x adalah na, fungsi kembali NaN<unk>.

color

color.new

Warna fungsi akan menetapkan ketelusan untuk warna yang diberikan.

color.new(color, transp)

Contoh

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

Nilai yang dikembalikan
Warna dengan ketelusan tertentu.

parameter

  • color (series color)
  • transp(series int/float) Nilai yang boleh digunakan adalah dari 0 (tidak telus) hingga 100 (tidak kelihatan)

Nota
Menggunakan parameter yang sangat banyak (contohnya, <unk>simple<unk>, <unk>input<unk> atau <unk>series<unk>) akan memberi kesan kepada warna yang ditunjukkan dalam tetapan tetingkap skrip / halaman label tetingkap gaya. Sila rujuk manual pengguna untuk maklumat lanjut.

color.rgb

Menggunakan model warna RGB untuk mencipta warna baru dengan ketelusan.

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

Contoh

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

Nilai yang dikembalikan
Warna dengan ketelusan tertentu.

parameter

  • red(series int/float) Warna merah. Nilai yang mungkin ialah dari 0 hingga 255
  • green(series int/float) warna hijau. Nilai yang mungkin adalah dari 0 hingga 255
  • blue(series int/float) warna biru. Nilai yang mungkin ialah dari 0 hingga 255
  • transp(series int/float) boleh dipilih. Warna telus. Nilai yang mungkin dari 0 (tidak telus) hingga 100 (telus). Nilai lalai adalah 0 (telus).

Nota
Menggunakan parameter yang sangat banyak (contohnya, <unk>simple<unk>, <unk>input<unk> atau <unk>series<unk>) akan memberi kesan kepada warna yang ditunjukkan dalam tetapan tetingkap skrip / halaman label tetingkap gaya. Sila rujuk manual pengguna untuk maklumat lanjut.

runtime

runtime.debug

Mencetak maklumat pembolehubah di papan kawalan.

FMZ PINE mempunyai fungsi khusus untuk bahasa ini.runtime.debug(value), hanya satu parameter.

runtime.log

Output di dalam jurnal.

FMZ PINE mempunyai fungsi khusus untuk bahasa ini.runtime.log(1, 2, 3, close, high, ...), boleh menghantar beberapa parameter.

runtime.error

Apabila dipanggil, ia akan menyebabkan ralat semasa operasi dan membawamessageMesej ralat yang dinyatakan dalam parameter.

runtime.error(message)

parameter
message (series string) mesej ralat

input

input

Input ditambahkan ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini secara automatik mengesan jenis parameter yang digunakan pada tetapan defval dan menggunakan plugin input yang sesuai.

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

Contoh

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)

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const int/float/bool/string/color or source-type built-ins) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap skrip / halaman label tetingkap input, yang boleh diubah oleh pengguna skrip. Fungsi terbina dalam jenis sumber adalah siri terbina dalam yang menentukan sumber pengiraan:closehlc3Dan sebagainya.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.

Nota
Nilai yang dikembalikan oleh fungsi input harus sentiasa diberikan kepada pembolehubah. Lihat contoh di atas

Lihat juga
input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

Menambah input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah menu turun ke bawah yang membolehkan pengguna memilih sumber pengiraan, seperti close, hl2, dan lain-lain. Jika skrip hanya mengandungi satu panggilan input.source (), pengguna juga boleh memilih sumber output lain dari indikator lain pada carta.

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

Contoh

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

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(series int/float) Menentukan nilai lalai bagi input yang disyorkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.

Nota
Hasil fungsi input.source harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.bool input.int input.float input.string input.timeframe input.color input

input.string

Menambahkan input ke papan pilihan input skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambahkan bidang input senar ke input skrip.

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

Contoh

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

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const string) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna. Apabila senarai nilai denganoptionsApabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • options (List of constants: [<type>...]) senarai pilihan yang boleh dipilih.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.

Nota
Hasil fungsi input.string harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.bool input.int input.float input.timeframe input.source input.color input

input.bool

Menambahkan input ke halaman label input skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah penanda pilih ke input skrip.

input.bool(defval, title, tooltip, inline, group, confirm)

Contoh

pine
i_switch = input.bool(true, "On/Off") plot(i_switch ? open : na)

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const bool) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.

Nota
Hasil fungsi input.bool harus sentiasa diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.int input.float input.string input.timeframe input.source input.color input

input.int

Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input nombor bulat ke input skrip.

input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)

Contoh

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

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const int) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna skrip. Apabila senarai nilai denganoptionsApabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • minval(const int) Minimum mungkin nilai input yang berubah-ubah.
  • maxval(const int) Nilai maksimum yang mungkin untuk input.
  • step(const int) untuk menambah/mengurangkan input.
  • options (tuple of const int values: [val1, val2, ...]) Senarai pilihan yang dipilih dari menu turun ke bawah, dipisahkan dengan tanda koma dan dibungkus dengan tanda kurung:[Val1, val2, ...] ≠ tidak boleh digunakan apabila menggunakan parameter iniminvalmaxvaldanstepParameter
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.

Nota
Hasil fungsi input.int harus sentiasa diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.bool input.float input.string input.timeframe input.source input.color input

input.float

Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah medan input titik terapung ke input skrip.

input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)

Contoh

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)

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const int/float) Menentukan nilai lalai bagi input yang disyorkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna skrip. Apabila senarai nilai denganoptionsApabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • minval(const int/float) Nilai minimum yang mungkin bagi input variabel。 boleh dipilih。
  • maxval(const int/float) Nilai maksimum yang mungkin bagi input variabel。 boleh dipilih。
  • step(const int/float) digunakan untuk menambah/mengurangkan input.
  • options (tuple of const int/float values: [val1, val2, ...]) Senarai pilihan yang dipilih dari menu turun ke bawah, dipisahkan dengan tanda koma dan dibungkus dengan tanda kurung:[Val1, val2, ...] ≠ tidak boleh digunakan apabila menggunakan parameter iniminvalmaxvaldanstepParameter
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.

Nota
Hasil fungsi input.float harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.bool input.int input.string input.timeframe input.source input.color input

input.color

Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah penentu warna yang membolehkan pengguna memilih warna dan ketelusan dari panel warna atau enam belas digit.

input.color(defval, title, tooltip, inline, group, confirm)

Contoh

pine
i_col = input.color(color.red, "Plot Color") plot(close, color=i_col)

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const color) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetapan / halaman label tetapan input skrip, yang boleh diubah oleh pengguna.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.

Nota
Hasil fungsi input.color harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.bool input.int input.float input.string input.timeframe input.source input

input.price

Tambah input harga ke tetapan tetingkap / tetingkap tetingkap tetingkap skrip.confirm = trueAktifkan mod input interaktif dan pilih harga dengan mengklik pada carta.

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)

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const int/float) Menentukan nilai lalai bagi input yang disyorkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, maka diaktifkan mod input interaktif, dan selesai dengan mengklik grafik apabila penunjuk ditambah ke carta, atau selesai dengan memilih penunjuk dan kemudian bergerak pilihan.

Nota
Apabila menggunakan mod interaksi, jika dua fungsi dipanggil keinlineParameter menggunakan parameter yang sama, anda boleh menggunakan input masa dengan input harga.

Lihat juga
input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

Menambahkan input ke halaman label input pada tetapan skrip, yang membolehkan anda memberikan pilihan konfigurasi kepada pengguna skrip. Fungsi ini menambah senarai dropdown yang membolehkan pengguna memilih tempoh masa tertentu melalui pemilih tempoh masa dan mengembalikannya sebagai rentetan. Pemilih termasuk tempoh masa yang mungkin digunakan oleh pengguna untuk grafik dan tempoh masa yang disertakan oleh menu dropdown.

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

Contoh

pine
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M']) s = request.security(syminfo.tickerid, i_res, close) plot(s)

Nilai yang dikembalikan
Masukkan nilai

parameter

  • defval(const string) Menentukan nilai lalai bagi input yang dicadangkan dalam tetapan tetingkap / halaman label tetingkap input skrip, yang boleh diubah oleh pengguna. Apabila senarai nilai denganoptionsApabila parameter digunakan bersama, nilai ini mestilah salah satu daripada mereka.
  • title(const string) tajuk input. Jika tidak ditentukan, nama pembolehubah digunakan sebagai tajuk input. Jika tajuk ditetapkan, tetapi judulnya kosong, namanya akan menjadi rentetan kosong.
  • options (tuple of const string values: [val1, val2, ...]) Senarai pilihan yang boleh dipilih.
  • tooltip(const string) Senar ini akan dipaparkan kepada pengguna apabila tetikus digantung di atas ikon isyarat alat.
  • inline(const string) Menggabungkan semua panggilan input yang menggunakan argumen yang sama dalam satu baris. Tidak memaparkan senar yang digunakan sebagai argumen. Ia hanya digunakan untuk mengenali input yang tergolong dalam baris yang sama.
  • group(const string) Mencipta tajuk di atas semua input dengan menggunakan senar nombor parameter yang sama. Senar ini juga digunakan sebagai teks tajuk.
  • confirm(const bool) Jika true, pengguna akan diminta untuk mengesahkan nilai input sebelum penunjuk ditambahkan ke carta.

Nota
Hasil fungsi input.timeframe harus selalu diberikan kepada satu pembolehubah, lihat contoh di atas.

Lihat juga
input.bool input.int input.float input.string input.source input.color input

input.integer

Tiada

input.resolution

Tiada

ta

ta.alma

Arnaud Legoux Moving Average. Ia menggunakan pengedaran Gaussian sebagai berat purata 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))

Nilai yang dikembalikan
Arnaud Legoux purata bergerak

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).
  • offset(simple int/float) Mengendalikan keseimbangan antara kelancaran ((lebih dekat 1) dan responsif ((lebih dekat 0)).
  • sigma(simple int/float) Mengubah kelancaran ALMA.
  • floor(simple bool) Parameter pilihan. Sebelum mengira ALMA, tentukan sama ada pengiraan bias adalah had bawah. Nilai lalai adalah false.

Lihat juga
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

Fungsi sma mengembalikan purata bergerak, iaitu nilai y terakhir bagi x, dibahagikan 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))

Nilai yang dikembalikan
lengthK baris kembalisourcePurata bergerak sederhana.

parameter

  • source(series int/float) Nilai siri 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 ((titik fokus) adalah penunjuk berdasarkan statistik dan nisbah 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))

Nilai yang dikembalikan
Fokus

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Lihat juga
ta.stoch

ta.dev

Perbezaan antara siri 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))

Nilai yang dikembalikan
lengthK baris kembalisourceKecacatan.

parameter

  • source(series int/float) Nilai siri 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))

Nilai yang dikembalikan
Kelemahan standard

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).
  • biased(series bool) Menentukan anggaran yang harus digunakan.

Nota
JikabiasedJika benar, fungsi akan digunakan untuk menganggarkan bias keseluruhan keseluruhan, jika salah - untuk menganggarkan sampel tanpa bias.

Lihat juga
ta.dev ta.variance

ta.ema

Fungsi ema mengembalikan purata bergerak bertimbangan indeks. Dalam ema, faktor berat turun secara indeks. Ia dikira menggunakan formula 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))

Nilai yang dikembalikan
sourceRata-rata bergerak indeks, alpha = 2 / (panjang + 1) ◦

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(simple int) K bilangan baris (panjang).

Nota
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Fungsi wma kembalilengthGaris KsourceDalam wma, faktor penambahan berkurangan dengan pangkat aritmatika.

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

Nilai yang dikembalikan
lengthK baris kembalisourceRata-rata Bergerak Berberat.

parameter

  • source(series int/float) Nilai siri 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 simetri-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))

Nilai yang dikembalikan
Rata-rata Bergerak Berberat Simetrik.

parameter

  • source(series int/float) siri sumber。

Lihat juga
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Fungsi hma mengembalikan purata bergerak badan kapal 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)

Nilai yang dikembalikan
Hull Moving Average yang dikembalikan kepada 'source' dalam lajur 'length'

parameter

  • source(series int/float) Nilai siri 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. Ia adalah rata-rata bergerak bertimbangan indeks, nilai bertimbangan alfa = 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))

Nilai yang dikembalikan
sourceJadi, kita akan lihat di sini, kita akan lihat di sini.length

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(simple int) K bilangan baris (panjang).

Lihat juga
ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Indeks intensiti relatif.lengthK dalam taliansourceperubahan ke atas dan ke bawahta.rma()Perkiraan

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

Nilai yang dikembalikan
Indeks Relatif Lemah (RSI)

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(simple int) K bilangan baris (panjang).

Lihat juga
ta.rma

ta.tsi

Indeks kekuatan dan kelemahan sebenar. Ia adalah purata bergerak yang menggunakan pergerakan potensi instrumen kewangan.

ta.tsi(source, short_length, long_length)

Nilai yang dikembalikan
Indeks Kekuatan dan Kelemahan Sebenar.[Nilai dalam -1,1]

parameter

  • source(series int/float) siri sumber。
  • short_length(simple int) Panjang pendek。
  • long_length(simple int) Panjang garisan panjang。

ta.roc

Fungsi roc (perubahan kadar) dipaparkansourcenilai semasa dengansourceBeberapa hari yang lalulengthPerbezaan antara nilai
Ia dikira dengan formula berikut: 100 * change ((src, length) / src[length]。

ta.roc(source, length)

Nilai yang dikembalikan
lengthK baris kembalisourceKadar perubahan:

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

ta.range

Mengembalikan perbezaan antara nilai minimum dan maksimum dalam susunan.

ta.range(source, length)

Nilai yang dikembalikan
Perbezaan antara nilai minimum dan maksimum dalam urutan.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

ta.macd

MACD ialah purata diferensial bersuara halus. Ia sepatutnya mendedahkan perubahan kekuatan, arah, momentum dan tempoh trend harga saham.

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 memerlukan satu nilai, gunakan tanda tempat seperti '_':

Contoh

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

Nilai yang dikembalikan
Tiga subset siri MACD: garis MACD, garis isyarat dan garis grafik lurus.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • fastlen(simple int) parameter garis ringkas
  • slowlen(simple int) Parameter panjang perlahan。
  • siglen(simple int) Parameter panjang isyarat。

Lihat juga
ta.sma ta.ema

ta.mode

Kembali ke mod siri. Jika terdapat lebih daripada satu nilai yang mempunyai frekuensi yang sama, kembali ke nilai minimum.

ta.mode(source, length)

Nilai yang dikembalikan
Mod siri.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

ta.median

Mengembalikan nombor tengah dalam urutan.

ta.median(source, length)

Nilai yang dikembalikan
Nombor tengah dalam urutan.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

ta.linreg

Garis regresi linear. Garis yang paling sesuai dengan harga yang ditetapkan dalam tempoh masa yang ditentukan oleh pengguna. Ia dikira menggunakan perkalian minimum. Hasil fungsi ini dikira menggunakan formula berikut: linreg = intercept + slope * (length - 1 - offset), di mana intercept dan slope digunakansourceNilai yang dikira untuk penggandaan kedua terendah dalam siri tersebut.

ta.linreg(source, length, offset)

Nilai yang dikembalikan
Garis Regressi Garis

parameter

  • source(series int/float) siri sumber。
  • length (series int)
  • offset(simple int) perpindahan

ta.bb

Brinband ialah alat analisis teknikal yang ditakrifkan oleh sekumpulan garis yang berjarak dua standard deviasi (positif dan negatif) dari purata bergerak sederhana (SMA) harga sekuriti, tetapi boleh disesuaikan dengan pilihan 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)

Nilai yang dikembalikan
Blinken.

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).
  • mult(simple int/float) faktor perbezaan piawai.

Lihat juga
ta.sma ta.stdev ta.kc

ta.bbw

Lebar jalur brim ialah jarak dari atas dan bawah landasan ke garisan 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))

Nilai yang dikembalikan
Bandwidth Brin.

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).
  • mult(simple int/float) faktor perbezaan piawai.

Lihat juga
ta.bb ta.sma ta.stdev

ta.cci

Indeks CCI (Commodity Path Index) dikira dengan cara perbezaan antara harga tipikal komoditi dengan purata bergerak mudahnya yang dibahagikan dengan rata-rata penyelewengan mutlak harga tipikal. Indeks ini diskalakan dengan kebalikan 0.015 untuk menyediakan lebih banyak angka yang boleh dibaca.

ta.cci(source, length)

Nilai yang dikembalikan
Indeks saluran komoditi sumber yang dikembalikan oleh garis length K.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

ta.change

Perbezaan antara nilai semasa dengan nilai sebelumnya, source - source[length]。

ta.change(source, length)
ta.change(source)

Nilai yang dikembalikan
Hasil pengurangan

parameter

  • source(series int/float) siri sumber。
  • length(series int) Berpindah dari k baris semasa ke k baris terdahulu.

Lihat juga
ta.mom ta.cross

ta.mom

sourceHarga dansourceHargalengthK line sebelum momentum. Ia hanya perbezaan:source - source[length]。

ta.mom(source, length)

Nilai yang dikembalikan
sourceHarga dansourceHargalengthK line sebelum momentum.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Pergeseran dari k baris semasa ke k baris terdahulu.

Lihat juga
ta.change

ta.cmo

Indeks pergerakan pergerakan harga. Hitung jumlah kenaikan harga terkini dengan jumlah penurunan harga terkini, kemudian tolak kedua-duanya, kemudian bahagi hasilnya dengan jumlah semua perubahan harga dalam tempoh 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))

Nilai yang dikembalikan
Indeks Pergerakan Chand

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Lihat juga
ta.rsi ta.stoch math.sum

ta.percentile_linear_interpolation

Menggunakan kaedah penempatan linear antara dua ranking terkini untuk mengira peratusan.

ta.percentile_linear_interpolation(source, length, percentage)

Nilai yang dikembalikan
lengthK baris kembalisourcePeratusan pertama dalam siri P.

parameter

  • source(series int/float) Nilai siri yang akan dilaksanakan ((sumber) ▽)
  • length(series int) bilangan baris K yang lalu (panjang)
  • percentage(simple int/float) Peratusan, nombor dalam julat 0 hingga 100

Nota
Sila ambil perhatian bahawa peratusan yang dikira menggunakan kaedah ini tidak termasuk dalam set data input.

Lihat juga
ta.percentile_nearest_rank

ta.percentile_nearest_rank

Peratusan berdasarkan ranking terkini.

ta.percentile_nearest_rank(source, length, percentage)

Nilai yang dikembalikan
lengthK baris kembalisourcePeratusan pertama dalam siri P.

parameter

  • source(series int/float) Nilai siri yang akan dilaksanakan ((sumber) ▽)
  • length(series int) bilangan baris K yang lalu (panjang)
  • percentage(simple int/float) Peratusan, nombor dalam julat 0 hingga 100

Nota
Menggunakan urutan terkini yang kurang daripada 100k baris terakhir boleh menyebabkan nombor yang sama digunakan untuk beberapa peratusan.
Peratusan yang dikira oleh ranking terkini adalah sebahagian daripada dataset input.
Titik peratusan ke-100 ditakrifkan sebagai nilai maksimum dalam set data input.

Lihat juga
ta.percentile_linear_interpolation

ta.percentrank

Peratusan ialah peratusan nilai terdahulu kurang daripada atau sama dengan nilai semasa dalam siri yang diberikan.

ta.percentrank(source, length)

Nilai yang dikembalikan
lengthK baris kembalisourcePeratusan peringkat:

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

ta.variance

Perbezaan adalah satu siri nilai yang diharapkan (ta.sma) dari penyimpangan kuasa dua dari nilai rata-rata, yang secara tidak rasmi mengukur jarak satu set angka dari nilai rata-rata.

ta.variance(source, length, biased)

Nilai yang dikembalikan
lengthK baris kembalisourcePerbezaan

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).
  • biased(series bool) Menentukan anggaran yang harus digunakan.

Nota
JikabiasedJika benar, fungsi akan digunakan untuk menganggarkan bias keseluruhan keseluruhan, jika salah - untuk menganggarkan sampel tanpa bias.

Lihat juga
ta.dev ta.stdev

ta.tr

ta.tr(handle_na)

Nilai yang dikembalikan
Jangkauan sebenar. Ia adalah math.max (high - low, math.abs (high - close)[1]), math.abs(low - close[1]))。

parameter

  • handle_naBagaimana (simple bool) menangani nilai NaN. Jika true, dan harga penutupan hari sebelumnya adalah NaN, tr akan dikira sebagai titik tinggi-rendah hari itu. Jika tidak, tr akan mengembalikan NaN.

Nota
ta.tr(false)danta.trSama betul.

Lihat juga
ta.atr

ta.mfi

Penunjuk aliran wang. Penunjuk aliran wang adalah penunjuk teknikal yang menggunakan harga dan jumlah urus niaga untuk menentukan keadaan 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))

Nilai yang dikembalikan
Indeks aliran wang

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Lihat juga
ta.rsi math.sum

ta.kc

Saluran Kentner. Saluran Kentner adalah petunjuk teknikal yang mengandungi purata bergerak di tengah dan saluran ke atas dan ke bawah.

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)

Nilai yang dikembalikan
Laluan Kentner

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(simple int) K bilangan baris (panjang).
  • mult(simple int/float) faktor perbezaan piawai.
  • useTrueRange(simple bool) pilihan. Tentukan sama ada menggunakan julat sebenar; secara lalai true. Jika nilai false, anda akan menggunakan ungkapan ((high-low) untuk mengira julat.

Lihat juga
ta.ema ta.atr ta.bb

ta.kcw

Lebar saluran Kentner. Lebar saluran Kentner adalah perbezaan antara saluran atas dan bawah dibahagikan dengan nilai 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))

Nilai yang dikembalikan
Lebar laluan Kentner.

parameter

  • series(series int/float) Nilai siri yang akan dijalankan
  • length(simple int) K bilangan baris (panjang).
  • mult(simple int/float) faktor perbezaan piawai.
  • useTrueRange(simple bool) pilihan. Tentukan sama ada menggunakan julat sebenar; secara lalai true. Jika nilai false, anda akan menggunakan ungkapan ((high-low) untuk mengira julat.

Lihat juga
ta.kc ta.ema ta.atr ta.bb

ta.correlation

Pekali berkaitan. Menerangkan sejauh mana dua siri cenderung menyimpang dari nilai ta.sma.

ta.correlation(source1, source2, length)

Nilai yang dikembalikan
Pekali berkaitan.

parameter

  • source1(series int/float) siri sumber。
  • source2(series int/float) Siri sasaran。
  • length(series int) Panjang (jumlah baris K)

Lihat juga
request.security

ta.cross

ta.cross(source1, source2)

Nilai yang dikembalikan
Jika kedua-dua siri saling melintang, maka ia adalah benar, jika tidak, ia adalah palsu.

parameter

  • source1(series int/float) Kumpulan data pertama。
  • source2(series int/float) Kumpulan data kedua。

Lihat juga
ta.change

ta.crossover

source1-series ditakrifkan sebagai melangkauisource2-series, jika anda berada di K sekarang,source1lebih besar daripadasource2Dan pada baris K yang pertama,source2nilai sumber1小于source2`Nilai

ta.crossover(source1, source2)

Nilai yang dikembalikan
Jikasource1Melaluisource2Jika tidak, maka ia adalah palsu.

parameter

  • source1(series int/float) Kumpulan data pertama。
  • source2(series int/float) Kumpulan data kedua。

ta.crossunder

source1-series ditakrifkan sebagai dalamsource2-series bawah persilangan, jika pada garis K semasa,source1kurang daripadasource2Dan pada baris K yang pertama,source1lebih besar daripadasource2Nilai

ta.crossunder(source1, source2)

Nilai yang dikembalikan
Jikasource1wujudsource2Jika tidak, ia akan menjadi palsu.

parameter

  • source1(series int/float) Kumpulan data pertama。
  • source2(series int/float) Kumpulan data kedua。

ta.atr

Fungsi ATR ((Median amplitudo riil sebenar) mengembalikan RMA dalam julat riil. amplitudo riil sebenar ialah max ((high - low, abs ((high - close)[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))

Nilai yang dikembalikan
Nilai purata pergerakan sebenar (ATR)

parameter
length (simple int)

Lihat juga
ta.tr ta.rma

ta.sar

Garis paralon bertukar (bahasa Inggeris: parabolic line turning) adalah kaedah yang direka oleh J. Welles Wilder, Jr. untuk mencari potensi pembalikan arah harga di pasaran 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)

Nilai yang dikembalikan
Garis paralisis ke arah penunjuk.

parameter

  • start(simple int/float) bermula。
  • inc(simple int/float) menambah
  • max(simple int/float) Maksimum.

ta.barssince

Hitung bilangan baris K dari keadaan terakhir yang benar.

ta.barssince(condition)

Contoh

pine
// get number of bars since last color.green bar plot(ta.barssince(close >= open))

Nilai yang dikembalikan
Bilangan baris k jika keadaan adalah true.

Nota
Fungsi ini akan mengembalikan na ≠ jika syarat ini tidak pernah dipenuhi sebelum baris K semasa.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
ta.lowestbars ta.highestbars ta.valuewhen ta.highest ta.lowest

ta.cum

sourceIa adalah jumlah (jumlah) dari semua (keseluruhan).sourceJumlah semua unsur.

ta.cum(source)

Nilai yang dikembalikan
Keseluruhan siri.

parameter

  • source (series int/float)

Lihat juga
math.sum

ta.dmi

Fungsi dmi mengembalikan indeks dinamik 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")

Nilai yang dikembalikan
Tiga subset siri DMI: pergerakan arah positif ((+DI), pergerakan arah negatif ((-DI) dan indeks pergerakan arah purata ((ADX)) [2].

parameter

  • diLength (simple int) DI Period。
  • adxSmoothing(simple int) ADX kitaran halus

Lihat juga
ta.rsi ta.tsi ta.mfi

ta.falling

UjiansourceSiri untuklengthAdakah K-long sedang jatuh?

ta.falling(source, length)

Nilai yang dikembalikan
Jika semasasourceNilai kurang daripadalengthK baris kembali ke mana-mana sebelumnyasourceNilai, jika betul, jika tidak, salah.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Lihat juga
ta.rising

ta.rising

UjiansourceSiri untuklengthAdakah K-Line Long sedang meningkat?

ta.rising(source, length)

Nilai yang dikembalikan
Jika semasasourceLebih berharga daripadalengthK baris kembali ke mana-mana sebelumnyasourceNilai, jika betul, jika tidak, salah.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Lihat juga
ta.falling

ta.pivothigh

Fungsi ini akan mengembalikan harga pada titik puncak. Jika tiada titik puncak, ia akan mengembalikan 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)

Nilai yang dikembalikan
Harga pada titik ini atau 'NaN'.

parameter

  • source(series int/float) Parameter boleh dipilih. Nilai pengiraan siri data. Nilai lalai 'High'
  • leftbars(series int/float) Kuasa kiri。
  • rightbars(series int/float) Panjang kanan。

Nota
Jika parameter 'leftbars' atau 'rightbars' adalah siri, anda harus menggunakan fungsi max_bars_back sebagai pembolehubah 'source' ≠

ta.pivotlow

Fungsi ini akan mengembalikan harga pada titik terendah pada sumbu pusat. Jika tidak ada titik terendah pada sumbu pusat, ia akan mengembalikan 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)

Nilai yang dikembalikan
Harga pada titik ini atau 'NaN'.

parameter

  • source(series int/float) Parameter boleh dipilih ◦ Nilai pengiraan siri data ◦ Default ◦ Low ◦
  • leftbars(series int/float) Kuasa kiri。
  • rightbars(series int/float) Panjang kanan。

Nota
Jika parameter 'leftbars' atau 'rightbars' adalah siri, anda harus menggunakan fungsi max_bars_back sebagai pembolehubah 'source' ≠

ta.highest

Nilai tertinggi bagi nombor yang diberikan untuk garis k.

ta.highest(source, length)
ta.highest(length)

Nilai yang dikembalikan
Nilai tertinggi dalam siri.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Nota
Dua versi args:sourceIa adalah satu siri.lengthialah bilangan baris K yang dikembalikan.
Satu versi arg:lengthadalah bilangan baris K yang dikembalikan. Algoritma menggunakan high sebagaisourceSiri.

Lihat juga
ta.lowest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.highestbars

Kelebihan maksimum bagi bilangan yang diberikan k garis di atas.

ta.highestbars(source, length)
ta.highestbars(length)

Nilai yang dikembalikan
Berpindah ke garisan k tertinggi.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Nota
Dua versi args:sourceIa adalah satu siri.lengthialah bilangan baris K yang dikembalikan.
Satu versi arg:lengthadalah bilangan baris K yang dikembalikan. Algoritma menggunakan high sebagaisourceSiri.

Lihat juga
ta.lowest ta.highest ta.lowestbars ta.barssince ta.valuewhen

ta.stoch

Indikator rawak. Persamaan pengiraan: 100 * (close - lowest(low, length)) / (highest(high, length) - lowest(low, length))

ta.stoch(source, high, low, length)

Nilai yang dikembalikan
Secara rawak

parameter

  • source(series int/float) siri sumber。
  • high(series int/float) Siri tinggi
  • low(series int/float) Siri rendah
  • length(series int) Panjang (jumlah baris K)

Lihat juga
ta.cog

ta.supertrend

Indikator Super Trend. Indikator Super Trend adalah indikator yang mengikuti trend.

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)

Nilai yang dikembalikan
Dua subset siri supertrend: garis supertrend dan arah trend. Nilai yang mungkin ialah 1 (ke arah bawah) dan -1 (ke arah atas).

parameter

  • factor(series int/float) ATR akan dikalikan dengan perkalian.
  • atrPeriod(simple int) purata panjang gelombang sebenar

Lihat juga
ta.macd

ta.lowest

Nilai minimum bagi bilangan yang diberikan k baris yang lalu.

ta.lowest(source, length)
ta.lowest(length)

Nilai yang dikembalikan
Nilai terendah dalam siri.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Nota
Dua versi args:sourceIa adalah satu siri.lengthialah bilangan baris K yang dikembalikan.
Satu versi arg:lengthadalah bilangan K yang dikembalikan. Algoritma menggunakan low sebagaisourceSiri.

Lihat juga
ta.highest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.lowestbars

Pemisahan nilai minimum bagi bilangan yang diberikan untuk k baris.

ta.lowestbars(source, length)
ta.lowestbars(length)

Nilai yang dikembalikan
Pergeseran ke garis k terendah.

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) mengembalikan nombor baris K。

Nota
Dua versi args:sourceIa adalah satu siri.lengthialah bilangan baris K yang dikembalikan.
Satu versi arg:lengthadalah bilangan K yang dikembalikan. Algoritma menggunakan low sebagaisourceSiri.

Lihat juga
ta.lowest ta.highest ta.highestbars ta.barssince ta.valuewhen

ta.valuewhen

Mengembalikan nilai siri sumber sumber bagi baris K di mana keadaan sumber 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 untuk dicari。
  • source(series int/float/bool/color) Nilai yang akan dikembalikan dari baris K yang memenuhi syarat.
  • occurrenceKeadaan (simple int) muncul. Nombor bermula dari 0 dan berulang mengikut masa, jadi 0 adalah keadaan yang paling baru muncul, 1 adalah keadaan kedua yang paling baru muncul, dan seterusnya.

Nota
Fungsi ini perlu dilaksanakan pada setiap baris K. Ia tidak disyorkan untuk digunakan dalam struktur pusingan for atau while kerana kelakuannya mungkin tidak dijangka. Sila ambil perhatian bahawa penggunaan fungsi ini mungkin menyebabkan penunjuk digambarkan semula.

Lihat juga
ta.lowestbars ta.highestbars ta.barssince ta.highest ta.lowest

ta.vwap

Harga purata bertimbangan kuantiti

ta.vwap(source)

Nilai yang dikembalikan
Purata purata purata

parameter

  • source(series int/float) siri sumber。

Lihat juga
ta.vwap

ta.vwma

vwma fungsi kembalilengthGaris KsourceRata-rata bergerak bertimbangan jumlah transaksi ≠ sama dengan: sma (sumber * jumlah, panjang) / sma (jumlah, 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))

Nilai yang dikembalikan
lengthK baris kembalisourcePeratusan Bergerak Berpadan dengan Jumlah Transaksi.

parameter

  • source(series int/float) Nilai siri 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

Penunjuk Williams Williams %R。。 penunjuk bergolak yang menunjukkan hubungan antara harga penutupan semasa dengan harga tinggi/rendah yang berlaku pada masa lalu.

ta.wpr(length)

Contoh

pine
plot(ta.wpr(14), title="%R", color=color.new(#ff6d00, 0))

Nilai yang dikembalikan
Williams %R。

parameter

  • length(series int) Jumlah baris K。

Lihat juga
ta.mfi ta.cmo

plot

plot

Menggambar satu siri data di atas carta.

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

Nilai yang dikembalikan
Objek lukisan yang boleh digunakan untuk mengisi.

parameter

  • series(series int/float) Rangkaian data yang akan digambar. Parameter yang diperlukan.
  • title(const string) Judul gambar。
  • color(series color) Warna yang digambarkan. Anda boleh menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter pilihan.
  • linewidth(input int) Lebar garisan digambar. Default ialah 1 . Tidak berlaku untuk setiap gaya .
  • style(plot_style) jenis plot。 nilai yang mungkin ialah: 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 lalai ialah plot.style_line。
  • trackprice(input bool) Jika true, barisan harga horisontal akan dipaparkan pada tahap nilai penunjuk terakhir.
  • histbase(input int/float) Apabila plot.style_histogram, plot.style_columns atau plot.style_area digambarkan, nilai paras rujukan digunakan. ❚ Nilai lalai adalah 0.0。
  • offset(series int) bergerak ke kiri atau ke kanan pada bilangan tertentu k baris.
  • join(input bool) Jika benar, titik digambar akan disambungkan ke baris, hanya berlaku untuk gaya plot.style_cross dan plot.style_circles.
  • editable(const bool) Jika true, gaya lukisan boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan jumlah k baris yang digambar pada carta ((berbalik ke masa lalu dari baris k terakhir) <unk>
  • display(plot_display) kawalan memaparkan lokasi gambar. Nilai yang mungkin ialah: display.none, display.all. Default adalah display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

Lihat juga
plotshape plotchar bgcolor

plotshape

Menggambar bentuk visual pada carta.

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. 。 Serangkaian dianggap sebagai serangkaian nilai bool untuk semua nilai kedudukan kecuali location.absolute. Parameter yang diperlukan.
  • title(const string) Judul gambar。
  • style(input string) Jenis lukisan。 Nilai yang mungkin ialah: 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 lalai ialah shape.xcross。
  • location(input string) Bentuk kedudukan pada carta. Nilai yang mungkin ialah: location.abovebar, location.belowbar, location.top, location.bottom, location.absolute. Default adalah location.abovebar.
  • color(series color) bentuk warna. Anda boleh menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter pilihan.
  • offset(series int) Bentuk bergerak ke kiri atau ke kanan pada bilangan tertentu k baris. Default adalah 0
  • text(const string) teks dipaparkan dalam bentuk. Anda boleh menggunakan teks berbilang baris, dengan menggunakan '\n' urutan perpindahan di antara baris. contohnya: 'line one\nline two'
  • textcolorWarna teks (series color). Anda boleh menggunakan konstanta seperti 'textcolor=red' atau 'textcolor=#ff001a', dan ungkapan kompleks seperti 'textcolor = close >= open ? green: red'. Parameter pilihan.
  • editable(const bool) Jika true, gaya plotshape boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan nombor bentuk yang digambarkan pada carta ((kembali ke masa lalu dari k baris terakhir) <unk>
  • size(const string) Saiz aksara pada carta ◦ Nilai yang mungkin ialah: size.auto, size.tiny, size.small, size.normal, size.large, size.huge ◦ Nilai lalai ialah size.auto ◦
  • display(plot_display) kawalan memaparkan lokasi gambar. Nilai yang mungkin ialah: display.none, display.all. Default adalah display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

Lihat juga
plot plotchar bgcolor

plotchar

Gambarkan bentuk visual menggunakan sebarang aksara Unicode yang diberikan pada carta.

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. 。 Serangkaian dianggap sebagai serangkaian nilai bool untuk semua nilai kedudukan kecuali location.absolute. Parameter yang diperlukan.
  • title(const string) Judul gambar。
  • char(input string) Karakter yang digunakan sebagai bentuk visual
  • location(input string) Bentuk kedudukan pada carta. Nilai yang mungkin ialah: location.abovebar, location.belowbar, location.top, location.bottom, location.absolute. Default adalah location.abovebar.
  • color(series color) bentuk warna. Anda boleh menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter pilihan.
  • offset(series int) Bentuk bergerak ke kiri atau ke kanan pada bilangan tertentu k baris. Default adalah 0
  • text(const string) teks dipaparkan dalam bentuk. Anda boleh menggunakan teks berbilang baris, dengan menggunakan '\n' urutan perpindahan di antara baris. contohnya: 'line one\nline two'
  • textcolorWarna teks (series color). Anda boleh menggunakan konstanta seperti 'textcolor=red' atau 'textcolor=#ff001a', dan ungkapan kompleks seperti 'textcolor = close >= open ? green: red'. Parameter pilihan.
  • editable(const bool) Jika true, gaya plotchar boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan bilangan grafik yang digambar pada grafik ((kembali ke masa lalu dari baris k terakhir) <unk>
  • size(const string) Saiz aksara pada carta ◦ Nilai mungkin: size.auto,size.tiny,size.small,size.normal,size.large,size.huge ◦ Nilai lalai ialah size.auto ◦
  • display(plot_display) kawalan memaparkan lokasi gambar. Nilai yang mungkin ialah: display.none, display.all. Default adalah display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

Lihat juga
plot plotshape bgcolor

plotcandle

Gambarkan <unk> pada carta.

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) Rangkaian data terbuka digunakan sebagai nilai bukaan tali.
  • high(series int/float) Bilangan siri tinggi digunakan sebagai nilai tinggi.
  • low(series int/float) Data siri rendah digunakan sebagai nilai rendah untuk tabung. Parameter yang diperlukan.
  • close(series int/float) Menutup data siri sebagai nilai untuk menutup baris k. Parameter diperlukan.
  • title(const string) tajuk plotcandle。 parameter pilihan。
  • color(series color) Warna siri. Anda boleh menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter pilihan.
  • wickcolor(series color) Warna teras lampu. Satu parameter pilihan.
  • editable(const bool) Jika true, gaya plotcandle boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan bilangan kerucut yang digambar pada carta ((kembali ke masa lalu dari baris k terakhir) <unk>
  • bordercolor(series color) Warna pinggir palam. Satu parameter pilihan.
  • display(plot_display) kawalan memaparkan lokasi gambar. Nilai yang mungkin ialah: display.none, display.all. Default adalah display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

Nota
Jika semua NaN adalah NaN, maka garis K tidak perlu ditunjukkan.
Nilai maksimum untuk buka, tinggi, rendah, dan tutup akan ditetapkan sebagai tinggi atau rendah, dan nilai minimum akan ditetapkan sebagai rendah atau rendah.

Lihat juga
plotbar

plotarrow

Arrow ke atas dan ke bawah digambarkan pada carta: Arrow ke atas digambarkan pada setiap penunjuk nilai positif, dan arrow ke bawah digambarkan pada setiap nilai negatif. Arrow tidak digambarkan jika penunjuk kembali na. Arrow mempunyai ketinggian yang berbeza, semakin besar nilai mutlak penunjuk, semakin panjang arrow digambarkan.

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 siri data ke dalam anak panah. Parameter yang diperlukan
  • title(const string) Judul gambar。
  • colorup(series color) warna anak panah ke atas.
  • colordown(series color) warna anak panah ke bawah.
  • offset(series int) Gerakkan anak panah ke kiri atau ke kanan pada bilangan tertentu K. Nilai lalai adalah 0
  • minheight(input int) Ketinggian anak panah yang paling kecil dalam bentuk piksel. Default ialah 5
  • maxheight(input int) Tinggi anak panah maksimum yang mungkin dalam satuan piksel. Default 100
  • editable(const bool) Jika true, gaya plotarrow boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan bilangan anak panah yang digambar pada carta ((kembali ke masa lalu dari baris k terakhir) <unk>
  • display(plot_display) kawalan memaparkan lokasi gambar. Nilai yang mungkin ialah: display.none, display.all. Default adalah display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

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)

Nilai yang dikembalikan
Nilai elemen yang dihapuskan.

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

Nilai yang dikembalikan
Nilai elemen yang dihapuskan.

parameter

  • id(any array type) Objek array

Lihat juga
array.unshift array.set array.push array.remove array.includes

array.unshift

Fungsi ini akan memasukkan nilai ke dalam kedudukan 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 menambah nilai ke kedudukan awal array.

Lihat juga
array.shift array.set array.insert array.remove array.indexof

array.size

Fungsi ini mengembalikan bilangan 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))

Nilai yang dikembalikan
Bilangan unsur dalam array.

parameter

  • id(any array type) Objek array

Lihat juga
array.new_float array.sum array.slice array.sort

array.slice

Fungsi ini mencipta pecahan dari array sedia ada. Jika objek dalam pecahan berubah, perubahan itu akan digunakan pada array baru dan asal.

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)

Nilai yang dikembalikan
Salinan ringkas dari pengguguran array.

parameter

  • id(any array type) Objek array
  • index_from(series int) Indeks yang bermula dari sifar untuk mula diekstrak.
  • index_to(series int) Indeks yang bermula dari sifar sebelum pengekstrakan selesai. Fungsi ini mengekstrak elemen sebelum indeks ini.

Lihat juga
array.new_float array.get array.sort

array.abs

Mengembalikan sebuah array yang mengandungi nilai mutlak bagi setiap elemen dalam array asal.

array.abs(id)

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search

Fungsi ini akan mengembalikan indeks nilai, dan jika nilai itu tidak ditemui, ia akan mengembalikan -1 ≠. Array yang akan dicari mestilah disusun mengikut urutan menaik.

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[Objek Array.
  • val(series int/float) nilai yang dicari dalam array.

Nota
Pencarian binari digunakan untuk susunan yang disusun mengikut urutan menaik. Ia mula membandingkan elemen di tengah-tengah susunan dengan nilai sasaran. Jika unsur itu sepadan dengan nilai sasaran, ia akan mengembalikan kedudukannya dalam susunan. Jika nilai unsur lebih besar daripada nilai sasaran, teruskan carian di bahagian bawah susunan.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_leftmost

Jika nilai ditemui, fungsi ini akan mengembalikan indeks nilai tersebut. Apabila nilai tidak ditemui, fungsi ini akan mengembalikan indeks elemen terkecil berikutnya, jika ia berada dalam array, di sebelah kiri tempat nilai berada.

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[Objek Array.
  • val(series int/float) nilai yang dicari dalam array.

Nota
Pencarian binari digunakan untuk susunan yang disusun mengikut urutan menaik. Ia mula membandingkan elemen di tengah-tengah susunan dengan nilai sasaran. Jika unsur itu sepadan dengan nilai sasaran, ia akan mengembalikan kedudukannya dalam susunan. Jika nilai unsur lebih besar daripada nilai sasaran, teruskan carian di bahagian bawah susunan.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_rightmost

Jika nilai itu dijumpai, fungsi ini akan mengembalikan indeks nilai tersebut. Apabila nilai itu tidak dijumpai, fungsi ini akan mengembalikan indeks elemen di sebelah kanan tempat nilai itu berada dalam susunan.

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[Objek Array.
  • val(series int/float) nilai yang dicari dalam array.

Nota
Pencarian binari bertindak ke atas array yang telah disusun secara menaik. Ia mula membandingkan elemen di tengah-tengah array dengan nilai sasaran. Jika elemen itu sepadan dengan nilai sasaran, ia akan mengembalikan kedudukannya di dalam array. Jika nilai elemen lebih besar daripada nilai sasaran, carian terus dilakukan di bahagian bawah array.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort

Fungsi ini mengurutkan unsur-unsur dalam susunan 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[Objek Array.
  • order(sort_order) Urutan susunan: 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 apabila digunakan untuk mengindeks array asal, akan mengakses unsur-unsurnya mengikut urutan mereka. Ia tidak mengubah suai array asal.

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[Objek Array.
  • order(sort_order) Urutan susunan: 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.

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. Ia mendorong semua elemen dari array kedua ke array pertama, dan kemudian 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))

Nilai yang dikembalikan
Array pertama mempunyai unsur 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 mencipta salinan array sedia 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)

Nilai yang dikembalikan
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 perbezaan piawai bagi unsur-unsur 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))

Nilai yang dikembalikan
Elemen-elemen array standard berbeza.

parameter

  • id (int[]/float[Objek Array.
  • biased(series bool) Menentukan anggaran yang harus digunakan.

Nota
JikabiasedJika benar, fungsi akan digunakan untuk menganggarkan bias keseluruhan keseluruhan, jika salah - untuk menganggarkan sampel tanpa bias.

Lihat juga
array.new_float array.max array.min array.avg

array.standardize

Fungsi ini mengembalikan array elemen standard.

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

Nilai yang dikembalikan
Array elemen standardisasi.

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.max array.min array.mode array.avg array.variance array.stdev

array.variance

Fungsi ini mengembalikan perbezaan antara unsur-unsur dalam susunan tersebut.

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

Nilai yang dikembalikan
Perbezaan kuadrat unsur-unsur array

parameter

  • id (int[]/float[Objek Array.
  • biased(series bool) Menentukan anggaran yang harus digunakan.

Nota
JikabiasedJika benar, fungsi akan digunakan untuk menganggarkan bias keseluruhan keseluruhan, jika salah - untuk menganggarkan sampel tanpa bias.

Lihat juga
array.new_float array.stdev array.min array.avg array.covariance

array.covariance

Fungsi ini mengembalikan perbezaan koordinat antara dua array.

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

Nilai yang dikembalikan
Perbezaan koordinat antara kedua-dua baris.

parameter

  • id1 (int[]/float[Objek Array.
  • id2 (int[]/float[Objek Array.
  • biased(series bool) Menentukan anggaran yang harus digunakan.

Nota
JikabiasedJika benar, fungsi akan digunakan untuk menganggarkan bias keseluruhan keseluruhan, jika salah - untuk menganggarkan sampel tanpa bias.

Lihat juga
array.new_float array.max array.stdev array.avg array.variance

array.fill

Fungsi ini menetapkan unsur-unsur dalam array sebagai nilai tunggal. Jika indeks tidak ditentukan, maka semua elemen ditetapkan. Jika hanya indeks permulaan disediakan (default 0), maka elemen yang bermula dari indeks tersebut ditetapkan. Jika kedua-dua parameter indeks digunakan pada masa yang sama, maka elemen yang diindeks dari awal tetapi tidak termasuk indeks akhir (default adalah 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 permulaan, 0 ≠ 0
  • index_to(series int) End index, default na。 mesti lebih besar daripada index elemen terakhir yang akan ditetapkan。

Lihat juga
array.new_float array.set array.slice

array.includes

Fungsi ini akan mengembalikan true jika nilai ini ditemui dalam array, dan false jika tidak.

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)

Nilai yang dikembalikan
Jika nilai ini dijumpai dalam array, maka ia adalah true, jika tidak, false.

parameter

  • id(any array type) Objek array
  • value (series <type of the array's elements>) Nilai yang dicari dalam array.

Lihat juga
array.new_float array.indexof array.shift array.remove array.insert

array.insert

Fungsi ini mengubah kandungan array dengan menambah elemen baru di tempat yang sesuai.

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 nilai penyisipan.
  • value (series <type of the array's elements>) Untuk menambah nilai ke dalam array.

Lihat juga
array.new_float array.set array.push array.remove array.pop array.unshift

array.join

Fungsi ini membina dan mengembalikan senar baru dengan menghubungkan semua elemen dalam array, yang dipisahkan oleh senar pemisah yang ditetapkan.

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[Objek Array.
  • separator(series string) Senar 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 yang terakhir kali nilai muncul. Jika nilai itu tidak ditemui, ia akan mengembalikan -1

array.lastindexof(id, value)

Contoh

pine
// array.lastindexof example a = array.new_float(5,high) index = array.lastindexof(a, high) plot(index)

Nilai yang dikembalikan
Indeks unsur

parameter

  • id(any array type) Objek array
  • value (series <type of the array's elements>) Nilai yang dicari dalam array.

Lihat juga
array.new_float array.set array.push array.remove array.insert

array.max

Fungsi ini mengembalikan nilai maksimum, atau nth maksimum dalam 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)

Nilai yang dikembalikan
Maksimum atau nth maksimum dalam array.

parameter

  • id (int[]/float[Objek Array.
  • nth(series int) mengembalikan nth nilai maksimum, di mana 0 adalah nilai maksimum. Opsional. Default adalah nol.

Lihat juga
array.new_float array.min array.sum

array.min

Fungsi ini mengembalikan nilai minimum, atau nth minimum 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)

Nilai yang dikembalikan
Minimum atau nth minimum dalam array.

parameter

  • id (int[]/float[Objek Array.
  • nth(series int) Nilai minimum n yang akan dikembalikan, di mana 0 adalah nilai minimum.

Lihat juga
array.new_float array.max array.sum

array.median

Fungsi ini akan mengembalikan nilai median bagi 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))

Nilai yang dikembalikan
Nombor median bagi unsur-unsur dalam susunan tersebut.

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.avg array.variance array.min

array.mode

Fungsi ini mengembalikan pola unsur-unsur array. Jika terdapat lebih daripada satu nilai yang mempunyai frekuensi yang sama, ia akan mengembalikan 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))

Nilai yang dikembalikan
Model elemen array.

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.new_float array.avg array.variance array.min

array.percentile_linear_interpolation

Mengembalikan peratusan yang ditetapkan nilai array (peratusan digit) kurang daripada atau sama dengan nilainya, menggunakan nilai litar linear.

array.percentile_linear_interpolation(id, percentage)

parameter

  • id (int[]/float[Objek Array.
  • percentage(series int/float) mestilah sama atau kurang daripada peratusan nilai yang dikembalikan.

Nota
Dalam statistik, peratusan adalah peratusan ranking item yang muncul pada atau di bawah markah tertentu. Pengukuran ini menunjukkan peratusan peratusan dalam pengedaran frekuensi piawai yang lebih rendah daripada markah peratusan yang anda ukur.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentile_nearest_rank

Menggunakan kaedah kedudukan terkini, nilai array yang diberikan untuk peratusan (peratusan digit) adalah lebih kecil atau sama dengan nilainya.

array.percentile_nearest_rank(id, percentage)

parameter

  • id (int[]/float[Objek Array.
  • percentage(series int/float) mestilah sama atau kurang daripada peratusan nilai yang dikembalikan.

Nota
Dalam statistik, peratusan adalah peratusan ranking item yang muncul pada atau di bawah satu peratusan. Pengukuran ini menunjukkan peratusan dalam pengedaran frekuensi piawai peringkat peratusan yang anda ukur.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentrank

Kembali ke Peratusan Array.

array.percentrank(id, index)

parameter

  • id (int[]/float[Objek Array.
  • index(series int) Mengira peratusan pangkatnya.

Nota
Peratusan adalah peratusan bilangan elemen dalam susunan yang kurang daripada atau sama dengan nilai rujukan.

Lihat juga
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.range

Fungsi ini mengembalikan perbezaan antara nilai minimum dan maksimum dalam susunan 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))

Nilai yang dikembalikan
Perbezaan antara nilai minimum dan maksimum dalam sebuah array.

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.new_float array.min array.max array.sum

array.remove

Fungsi ini mengubah kandungan array dengan menghapuskan elemen yang mempunyai indeks yang ditetapkan.

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)

Nilai yang dikembalikan
Nilai elemen yang dihapuskan.

parameter

  • id(any array type) Objek array
  • index(series int) Indeks unsur yang akan dihapuskan.

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 terakhir, dan elemen array terakhir menjadi 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 yang boleh berubah-ubah dari salah satu jenis berikut: int, float, bool, string, line, color, linefill, dan mengembalikan array dengan 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)

Nilai yang dikembalikan
Nilai unsur-unsur array.

parameter

  • arg0, arg1, ...(series int/float/bool/color/string/line/linefill) Array parameter。

array.new

Fungsi ini mencipta satu yang baru<type>Objek 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)

Nilai yang dikembalikan
ID objek array yang boleh digunakan bersama dengan array lain.*Fungsi ().

parameter

  • size(series int) Saiz permulaan siri.
  • initial_value(series <type>) Nilai permulaan semua elemen susunan.

Nota
Indeks Array bermula dari 0.
Jika anda ingin menginisialisasi sebuah array dan menentukan semua unsurnya pada masa 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 mencipta objek array baru yang terdiri daripada elemen jenis 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)

Nilai yang dikembalikan
ID objek array yang boleh digunakan bersama dengan array lain.*Fungsi ().

parameter

  • size(series int) Saiz permulaan siri.
  • initial_value(series bool) Nilai awal semua elemen siri. ▽ pilihan. ▽ default adalah <unk>na<unk>。

Nota
Indeks Array bermula dari 0.

Lihat juga
array.new_float array.get array.slice array.sort

array.new_float

Fungsi ini mencipta sebuah objek array elemen floating point yang 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)

Nilai yang dikembalikan
ID objek array yang boleh digunakan bersama dengan array lain.*Fungsi ().

parameter

  • size(series int) Saiz permulaan siri.
  • initial_value(series int/float) Nilai permulaan semua elemen siri。 pilihan。 nilai lalai ialah <unk>na<unk>。

Nota
Indeks Array bermula dari 0.

Lihat juga
array.new_bool array.get array.slice array.sort

array.new_int

Fungsi ini mencipta objek array baru yang terdiri daripada unsur-unsur jenis 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)

Nilai yang dikembalikan
ID objek array yang boleh digunakan bersama dengan array lain.*Fungsi ().

parameter

  • size(series int) Saiz permulaan siri.
  • initial_value(series int) Nilai awal semua elemen siri. ▽ pilihan ▽ default adalah <unk>na<unk> ▽

Nota
Indeks Array bermula dari 0.

Lihat juga
array.new_float array.get array.slice array.sort

array.new_string

Fungsi ini mencipta objek array baru untuk elemen jenis senar.

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

Nilai yang dikembalikan
ID objek array yang boleh digunakan bersama dengan array lain.*Fungsi ().

parameter

  • size(series int) Saiz permulaan siri.
  • initial_value(series string) Nilai permulaan semua elemen siri. ▽ pilihan. ▽ default adalah <unk>na<unk>。

Nota
Indeks Array bermula dari 0.

Lihat juga
array.new_float array.get array.slice

array.get

Fungsi ini akan mengembalikan nilai bagi 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))

Nilai yang dikembalikan
Nilai unsur-unsur array.

parameter

  • id(any array type) Objek array
  • index(series int) Untuk mengembalikan indeks elemen yang nilainya ialah ≠

Lihat juga
array.new_float array.set array.slice array.sort

array.push

Fungsi ini menambah nilai ke dalam array.

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>) Tambahkan nilai elemen di hujung 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 ditetapkan.

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 akan ditetapkan.

Lihat juga
array.new_float array.get array.slice

array.sum

Fungsi ini mengembalikan jumlah unsur-unsur 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))

Nilai yang dikembalikan
Jumlah unsur-unsur array.

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.new_float array.max array.min

array.avg

Fungsi ini mengembalikan nilai purata bagi unsur-unsur dalam susunan tersebut.

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

Nilai yang dikembalikan
Nilai purata unsur-unsur array.

parameter

  • id (int[]/float[Objek Array.

Lihat juga
array.new_float array.max array.min array.stdev

array.indexof

Fungsi ini akan mengembalikan indeks pertama kali nilai muncul. Jika nilai tidak dijumpai, ia akan mengembalikan -1

array.indexof(id, value)

Contoh

pine
// array.indexof example a = array.new_float(5,high) index = array.indexof(a, high) plot(index)

Nilai yang dikembalikan
Indeks unsur

parameter

  • id(any array type) Objek array
  • value (series <type of the array's elements>) Nilai yang dicari dalam array.

Lihat juga
array.lastindexof array.get array.lastindexof array.remove array.insert

strategy

wujudstrategyDalam fungsi terbina dalam yang berkaitan, titik hentian dan titik berhenti ditakrifkan sebagai kali ganda kenaikan harga. Contohnya:strategy.exitFungsiprofitlossParameter menunjukkan stop loss, parameterprofitTetapkan 10 iaitu harga melompat kalikan 10 sebagai perbezaan harga berhenti, harga melompat adalah pembolehubah terbina dalamsyminfo.mintick

strategy

Fungsi ini menetapkan beberapa sifat dasar:
Perhatian, rujukan hanya menyokongtitleshorttitleoverlaypyramidingdefault_qty_typedefault_qty_valueParameter, parameter lain boleh ditetapkan melalui parameter antara muka dalam dasar 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 dilihat dalam penanda/plugin strategi tajuk penanda 。 Parameter diperlukan 。
  • shorttitle(const string) tajuk pendek penunjuk yang akan anda lihat dalam contoh carta. Parameter boleh dipilih.
  • overlay(const bool) Jika true, maka penunjuk akan ditambahkan sebagai lapisan overlay siri utama. Jika false - ia akan ditambahkan ke dalam tetingkap carta berasingan. Secara lalai false.
  • format(const string) Jenis yang mungkin untuk nilai penunjuk yang diformat pada paksi harga ialah: format.inherit, format.price, format.volume。 default format.inherit。
  • precision(const int) Digit selepas bilangan titik terapung nilai penunjuk pada sumbu harga. Ia mestilah bukan bilangan bulat negatif dan tidak lebih besar daripada 16. Jika diabaikan, format siri bapa digunakan. Jika format adalah format.inherit dan parameter ini ditetapkan, format akan berubah menjadi format.price.
  • scale(scale_type) Penunjuk harus mengikuti koordinat harga. Nilai yang mungkin ialah:scale.right,scale.left,scale.none. Nilai scale.none hanya boleh hanya boleh digunakan bersama dengan tetapan 'overlay=true'
  • pyramiding(const int) Bilangan maksimum yang dibenarkan dalam satu arah. Jika nilai ini adalah 0, hanya satu pesanan masuk yang boleh dibuka dalam arah yang sama, dan sebarang pesanan masuk yang lain akan ditolak.
  • calc_on_order_fills(const bool) Pengiraan pesanan intrabar tambahan. Jika parameter ditetapkan kepada true<unk>, maka strategi akan dikira semula apabila K baris diisi selepas pesanan (bukan hanya apabila k baris ditutup). Nilai lalai adalah false<unk>.
  • calc_on_every_tick(const bool) Kaedah intrabar tambahan dikira. Jika parameter adalah true, maka ia akan dikira setiap minit secara langsung tanpa menutup k line. Kaedah dikira tanpa mempengaruhi data sejarah.
  • max_bars_back(const int) Bilangan maksimum frame yang boleh digunakan untuk strategi rujukan sejarah. Jika data sejarah pembolehubah telah dirujuk dalam kod skrip, maka '<' digunakan.[['operator'], maka parameter ini akan digunakan untuk setiap pembolehubah terbina dalam skrip atau pembolehubah pengguna. Saiz kawasan penyangga yang berubah-ubah dalam skrip Pine biasanya dikesan secara automatik. Walau bagaimanapun, dalam beberapa kes, ini tidak mungkin, dan itulah sebabnya parameter membolehkan pengguna menetapkan had bawah nilai ini secara manual.
  • backtest_fill_limits_assumption(const int) Borang harga terhad melaksanakan hipotesis 。 Hanya apabila harga pasaran melebihi jumlah tik yang ditetapkan untuk tahap satuan harga terhad, satuan harga terhad akan berdagang di intrabar 。
  • default_qty_type(const string) ditetapkan untukqtyNilai parameter yang dinyatakan dalam fungsi strategi.entry atau strategi.order ialah: strategi.fixed menunjukkan kontrak/saham/jam, strategi.cash menunjukkan jumlah wang, atau strategi.percent_of_equity menunjukkan peratusan hak milik yang tersedia.
  • default_qty_value(const int/float) bilangan transaksi lalai fungsi strategy.entry atau strategy.order, apabila parameter 'qty' mereka tidak ditakrifkan, unitnya ditentukan oleh parameter yang digunakan bersama dengan parameter 'default_qty_type'
  • currency(const string) Mata wang akaun untuk strategi ini。 boleh dipilih。 nilai lalai adalah mata wang barangan dalam carta。 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) Titik geser dengan tick sebagai unit tawaran, akan ditambah / dikurangkan dari harga transaksi untuk membeli / menjual atau menghentikan. Jika mintick = 0.01 dan titik geser = 5, maka titik geser keseluruhan akan menjadi 5 * 0.01 = 0.05。
  • commission_type(const string) Jenis komisen untuk setiap pesanan. Nilai yang dibenarkan ialah: strategy.commission.percent (peratusan jumlah tunai pesanan), strategy.commission.cash_per_contract (jumlah dalam mata wang akaun untuk setiap kontrak), strategy.commission.cash_per_order (jumlah dalam mata wang akaun untuk setiap pesanan).
  • commission_value(const int/float) Nilai komisen pesanan. Bergantung kepada jenis yang dipilih (jenis komisen) termasuk peratusan atau jumlah.
  • process_orders_on_close(const bool) Apabila ditetapkan sebagai pen pen pen pen true, akan menghasilkan percubaan lain untuk melaksanakan pesanan setelah pen pen pen pen pen pen pen dan menyelesaikan pengiraan strategi. Jika pesanan adalah pesanan harga pasaran, simulator broker akan melaksanakan mereka sebelum pen bukaan carta seterusnya. Jika pesanan adalah harga terhad, pesanan akan dilaksanakan hanya apabila syarat harga dipenuhi.
  • close_entries_rule(const string) Menentukan urutan penutupan pesanan. Nilai yang dibenarkan ialah: 'FIFO' atau 'ANY'. FIFO ((First-In, First-Out) bermaksud bahawa apabila lebih banyak perdagangan dibuka, perdagangan pertama harus ditutup.
  • max_lines_count(const int) Menunjukkan bilangan garisan garis terkini. Default adalah 50, maksimum dibenarkan 500.
  • max_labels_count(const int) Menampilkan jumlah gambar tag terkini. Default ialah 50, maksimum yang dibenarkan ialah 500.
  • max_boxes_count(const int) Nombor gambar kotak terakhir yang dipaparkan. Default ialah 50, maksimum yang dibenarkan ialah 500.
  • margin_long(const int/float) Jaminan berganda adalah peratusan harga pembelian sekuriti di mana kedudukan berganda mesti dilindungi dengan wang tunai atau gadai janji. Ia mestilah bukan negatif. Ia boleh dipilih.
  • margin_short(const int/float) Jaminan kosong adalah peratusan harga pembelian sekuriti di mana kedudukan kosong mesti dilindungi dengan wang tunai atau gadai janji. Ia mesti bukan negatif. Ia boleh dipilih.
  • explicit_plot_zorder(const bool) Menentukan urutan penggambaran, pengisian, dan garis mendatar pada penunjuk. Jika benar, grafik akan digambarkan mengikut urutan mereka muncul dalam kod penunjuk, setiap grafik yang lebih baru digambarkan di atas grafik sebelumnya. Ini hanya berlaku untuk plot*() fungsi, fill dan hline.
  • initial_capital(const int/float) Jumlah dana yang pada mulanya boleh digunakan untuk perdagangan strategi, yang dinyatakan dalam mata wang yang ditakrifkan dalam kotak mata wang. ◦ Pilihan ◦ Nilai lalai adalah 1000000 ◦
  • risk_free_rate(const int/float) Kadar pulangan tanpa risiko adalah perubahan peratusan tahunan nilai pelaburan yang mempunyai risiko minimum atau sifar untuk mengira nisbah Sharpe dan Sortino. Nilai lalai adalah 2

Nota
Setiap skrip strategi mesti mempunyai panggilan strategi.
Kod PineScript yang menggunakan parameter calc_on_every_tick = true boleh membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Apabila anda menggunakan carta jenis bukan standard sebagai asas strategi, anda perlu tahu bahawa hasilnya akan berbeza. Pesanan akan dilaksanakan pada harga carta tersebut (misalnya, untuk Heikin Ashi, harga carta Heikin Ashi akan digunakan (rata-rata) bukan harga pasaran sebenar). Oleh itu, kami sangat mengesyorkan anda menggunakan carta jenis standard dalam strategi anda.

Lihat juga
indicator

strategy.entry

Ini adalah perintah untuk memasuki pasaran. Jika pesanan dengan ID yang sama telah dilampirkan, pesanan boleh diubah. Jika tidak ada pesanan dengan ID yang ditetapkan, pesanan baru akan dikeluarkan. Untuk menghentikan arahan masuk, perintah strategi.cancel atau strategi.cancel_all harus digunakan. Berbanding dengan fungsi strategi.order, fungsi strategi.entry dipengaruhi oleh piramid dan dapat membalikkan kedudukan pasaran dengan betul.

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。 pengenal pesanan。 Pesanan boleh dibatalkan atau diubah dengan merujuk kepada pengenalannya。
  • direction(strategy_direction) Satu parameter yang diperlukan. Arah pegangan pasaran: 'strategy.long' untuk multihead, 'strategy.short' untuk kosong.
  • qty(series int/float) Parameter yang boleh dipilih. Kontrak / bilangan saham / jam / jumlah unit yang diperdagangkan.
  • limit(series int/float) Parameter boleh dipilih. Harga terhad pesanan. Jika ditentukan, jenis pesanan adalah "limit" atau "stop-limit". Jenis pesanan lain adalah "NaN".
  • stop(series int/float) Parameter boleh dipilih. Stop-loss order. Jika telah ditentukan, jenis pesanan adalah "stop" atau "stop-limit". Jenis pesanan lain adalah "NaN".
  • oca_name(series string) Parameter pilihan. Pesanan ini tergolong dalam nama kumpulan OCA. Jika pesanan itu tidak tergolong dalam kumpulan OCA, mesti ada watak kosong.Nota: FMZ tidak menyokong parameter ini.
  • oca_type(input string) Parameter pilihan。 Jenis kumpulan pesanan OCA。 Nilai yang dibenarkan ialah: strategy.oca.none - pesanan tidak boleh tergolong dalam mana-mana kumpulan OCA tertentu; strategy.oca.cancel - pesanan harus tergolong dalam kumpulan OCA, sekali pesanan diserahkan, semua pesanan lain dalam kumpulan yang sama akan dibatalkan; strategy.oca.reduce - pesanan harus tergolong dalam kumpulan OCA, jika jumlah X kontrak pesanan telah diletakkan, maka jumlah kontrak pesanan lain dalam kumpulan OCA yang sama dikurangkan X。Nota: FMZ tidak menyokong parameter ini.
  • comment(series string) Parameter yang boleh dipilih.
  • when(series bool) boleh dipilih. keadaan pesanan. jika "benar", pesanan ditempatkan. jika "salah", tidak ada yang berlaku. (pesanan dengan ID yang sama yang ditempatkan sebelumnya tidak dibatalkan).
  • alert_message(series string) Satu parameter pilihan apabila anda menggunakan {{strategy.order.alert_message}} sebagai tanda tempat di dalam bidang mesej jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jemp

strategy.close

Ini adalah perintah untuk keluar dari pesanan dengan ID yang ditetapkan. Jika terdapat beberapa pesanan masuk dengan ID yang sama, mereka akan keluar pada masa yang sama. Jika tidak ada pesanan terbuka dengan ID yang ditetapkan semasa pemicu perintah, perintah itu tidak akan berlaku. Perintah ini menggunakan pesanan pasaran.

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 。 Pengiktirafan pesanan 。 Anda boleh menutup pesanan dengan merujuk kepada pengenalannya 。
  • when(series bool) pilihan parameter ≠ syarat perintah ≠
  • qty(series int/float) Parameter yang boleh dipilih. Jumlah kontrak / saham / jam / unit untuk keluar dari urus niaga. Nilai lalai adalah 'NaN'.
  • qty_percent(series int/float) mentakrifkan peratusan kedudukan kosong ((0-100) ◦ keutamaan yang lebih rendah daripada keutamaan parameter 'qty' ◦ pilihan ◦ default 100 ◦
  • comment(series string) Parameter yang boleh dipilih.
  • alert_message(series string) Satu parameter pilihan apabila anda menggunakan {{strategy.order.alert_message}} sebagai tanda tempat di dalam bidang mesej jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jemp

strategy.close_all

Keluar dari kedudukan pasaran semasa, untuk menjadikannya rata.

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) pilihan parameter ≠ syarat perintah ≠
  • comment(series string) Parameter yang boleh dipilih.
  • alert_message(series string) Satu parameter pilihan apabila anda menggunakan {{strategy.order.alert_message}} sebagai tanda tempat di dalam bidang mesej jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jemp

strategy.exit

Ini adalah perintah untuk keluar dari kedudukan masuk atau keseluruhan pasaran. Jika anda menggunakan stop loss dan trace stop loss, jenis pesanan adalah stopstop, dan hanya satu yang akan diletakkan yang akan diserahkan terlebih dahulu. Jika semua parameter berikut 'profit', 'limit', 'loss', 'trail_points', 'trail_offset' adalah perintah untuk keluar dari pasaran, maka anda akan menggunakan perintah kegagalan, atau anda harus menggunakan perintah close_strategy.

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。 pengenal pesanan。 Pesanan boleh dibatalkan atau diubah dengan merujuk kepada pengenalannya。
  • from_entry(series string) Parameter boleh dipilih. Keluar dengan menetapkan pengenal arahan masuk. Untuk keluar dari semua kedudukan, senar kosong harus digunakan.
  • qty(series int/float) Parameter yang boleh dipilih. Jumlah kontrak / saham / jam / unit untuk keluar dari urus niaga. Nilai lalai adalah 'NaN'.
  • qty_percent(series int/float) mentakrifkan peratusan kedudukan kosong ((0-100) ◦ keutamaan yang lebih rendah daripada keutamaan parameter 'qty' ◦ pilihan ◦ default 100 ◦
  • profit(series int/float) boleh dipilih. Target keuntungan (dilambangkan dengan titik) Jika ditetapkan, keluar dari kedudukan pasaran dengan pesanan had apabila jumlah keuntungan yang ditetapkan (dilambangkan dengan titik) telah dicapai.
  • limit(series int/float) pilihan parameter. Target keuntungan (untuk menentukan harga) Jika telah ditetapkan, keluar dari kedudukan pasaran dengan harga yang ditetapkan (atau lebih baik). Prioriti parameter 'limit' lebih tinggi daripada parameter 'profit' (jika nilai bukan 'NaN', maka 'limit' menggantikan 'profit').
  • loss(series int/float) boleh dipilih. Stop loss (dilambangkan dengan titik) Jika ditentukan, keluar dari pasaran dengan stop loss apabila jumlah kerugian yang ditentukan (titik) telah dicapai.
  • stop(series int/float) boleh dipilih. Stop loss ((harus menentukan harga). Jika ditentukan, keluar dari kedudukan pasaran dengan harga yang ditentukan (atau lebih buruk). Parameter 'stop loss' mempunyai keutamaan yang lebih tinggi daripada parameter 'loss' (jika nilai bukan 'NaN', maka 'stop loss' menggantikan 'loss').
  • trail_price(series int/float) Parameter pilihan. Tracking stop loss activation level ((Pilih harga)). Jika ditentukan, Tracking stop loss will be placed when the specified price level is reached. Di dalam parameter trail_offset yang ditentukan untuk menentukan penyesuaian harga awal Tracking stop loss ((diukur dengan titik): X titik di bawah tahap pengaktifan untuk keluar dari multihead; X titik di atas tahap pengaktifan untuk keluar dari kosong.
  • trail_points(series int/float) parameter pilihan ◦ Mengesan tahap pengaktifan stop loss ◦ Pendapatan dinyatakan dalam titik ◦ Jika ditetapkan, setelan stop loss akan diletakkan apabila tahap harga yang telah dikira ◦ Jumlah keuntungan ditentukan ◦ Perpindahan yang ditentukan dalam parameter setelan offset setelan untuk menentukan harga permulaan setelan stop loss ◦ Dihitung dalam titik: X titik di bawah tahap pengaktifan untuk keluar dari multihead; X titik di atas tahap pengaktifan untuk keluar dari kepala kosong ◦ Nilai lalai adalah NaN<unk>
  • trail_offset(series int/float) parameter pilihan. Tracking stop loss activation level ((dilambangkan dengan titik). Dilambangkan dengan titik, bias digunakan untuk menentukan harga awal tracking stop loss: X titik lebih rendah daripada 'trail_price' atau 'trail_points' untuk keluar dari banyak kepala; X titik lebih tinggi daripada 'trail_price' atau 'trail_points' untuk keluar dari kepala kosong.
  • oca_name(series string) Parameter pilihan. Nama kumpulan OCA (oca_type = strategy.oca.reduce) Objektif keuntungan, hentikan / mengesan hentikan. Jika nama tidak ditentukan, nama itu akan dihasilkan secara automatik.Nota: FMZ tidak menyokong parameter ini.
  • comment(series string) Parameter yang boleh dipilih.
  • when(series bool) boleh dipilih. keadaan pesanan. jika "benar", pesanan ditempatkan. jika "salah", tidak ada yang berlaku. (pesanan dengan ID yang sama yang ditempatkan sebelumnya tidak dibatalkan).
  • alert_message(series string) Satu parameter pilihan apabila anda menggunakan {{strategy.order.alert_message}} sebagai tanda tempat di dalam bidang mesej jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jemp

strategy.cancel

Ini adalah arahan untuk membatalkan / mematikan semua senarai pendahuluan dengan menggunakan nama rujukan, yang dihasilkan oleh fungsi berikut: strategy.order, strategy.entry dan strategy.exit.

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 mesti dipilih。 pengenalan pesanan。 penempatan pengenalan tersebut untuk membatalkan pesanan。
  • when(series bool) pilihan. Mengilangkan pesanan berdasarkan ID. Jika "true", pesanan akan dibatalkan. Secara lalai "true".

strategy.cancel_all

Ini adalah untuk membatalkan/menghentikan semua arahan senarai 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) Parameter yang boleh dipilih <unk> membatalkan syarat semua pesanan <unk> Jika syaratnya benar, semua pesanan aktif akan dibatalkan <unk> Nilai lalai adalah <unk>true<unk> <unk>

strategy.order

Ini adalah perintah perintah berikut. Jika pesanan dengan ID yang sama telah dilampirkan, pesanan boleh diubah. Jika tidak ada pesanan dengan ID yang ditetapkan, pesanan baru akan dikeluarkan. Untuk menghentikan pesanan, perintah strategi.cancel atau strategi.cancel_all harus digunakan.

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。 pengenal pesanan。 Pesanan boleh dibatalkan atau diubah dengan merujuk kepada pengenalannya。
  • direction(strategy_direction) Satu parameter yang diperlukan. Arah pesanan: 'strategy.long' untuk membeli, 'strategy.short' untuk menjual
  • qty(series int/float) Parameter yang boleh dipilih. Kontrak / bilangan saham / jam / jumlah unit yang diperdagangkan.
  • limit(series int/float) Parameter boleh dipilih. Harga terhad pesanan. Jika ditentukan, jenis pesanan adalah "limit" atau "stop-limit". Jenis pesanan lain adalah "NaN".
  • stop(series int/float) Parameter boleh dipilih. Stop-loss order. Jika telah ditentukan, jenis pesanan adalah "stop" atau "stop-limit". Jenis pesanan lain adalah "NaN".
  • oca_name(series string) Parameter pilihan. Pesanan ini tergolong dalam nama kumpulan OCA. Jika pesanan itu tidak tergolong dalam kumpulan OCA, mesti ada watak kosong.Nota: FMZ tidak menyokong parameter ini.
  • oca_type(input string) Parameter pilihan。 Jenis kumpulan pesanan OCA。 Nilai yang dibenarkan ialah: strategy.oca.none - pesanan tidak boleh tergolong dalam mana-mana kumpulan OCA tertentu; strategy.oca.cancel - pesanan harus tergolong dalam kumpulan OCA, sekali pesanan diserahkan, semua pesanan lain dalam kumpulan yang sama akan dibatalkan; strategy.oca.reduce - pesanan harus tergolong dalam kumpulan OCA, jika jumlah X kontrak pesanan telah diletakkan, maka jumlah kontrak pesanan lain dalam kumpulan OCA yang sama dikurangkan X。Nota: FMZ tidak menyokong parameter ini.
  • comment(series string) Parameter yang boleh dipilih.
  • when(series bool) boleh dipilih. keadaan pesanan. jika "benar", pesanan ditempatkan. jika "salah", tidak ada yang berlaku. (pesanan dengan ID yang sama yang ditempatkan sebelumnya tidak dibatalkan).
  • alert_message(series string) Satu parameter pilihan apabila anda menggunakan {{strategy.order.alert_message}} sebagai tanda tempat di dalam bidang mesej jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jempol jemp

strategy.opentrades.entry_bar_index

Kembali ke bar_index <unk>

strategy.opentrades.entry_bar_index(trade_num)

Tunggu 10 garis K dan tutup.

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) Nombor urus niaga yang tidak diimbangi. Nombor urus niaga pertama adalah sifar.

Lihat juga
strategy.closedtrades.entry_bar_index strategy.closedtrades.exit_bar_index

strategy.opentrades.entry_id

ID yang dikembalikan untuk masuk ke dalam perdagangan yang belum dihapuskan.

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

Nilai yang dikembalikan
ID yang dikembalikan untuk masuk ke dalam perdagangan yang belum dihapuskan.

parameter

  • trade_num(series int) Nombor urus niaga yang tidak diimbangi. Nombor urus niaga pertama adalah sifar.

Nota
Jika trade_num tidak berada dalam julat, 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 kemasukan untuk perdagangan yang belum selesai.

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

Pengiraan purata harga kedudukan belum rata

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) Nombor urus niaga yang tidak diimbangi. Nombor urus niaga pertama adalah sifar.

Lihat juga
strategy.closedtrades.exit_price

strategy.opentrades.entry_time

Kembali ke masa UNIX untuk masuk ke dalam perdagangan yang belum diimbangi.

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) Nombor urus niaga yang tidak diimbangi. Nombor urus niaga pertama adalah sifar.

Lihat juga
strategy.closedtrades.entry_time strategy.closedtrades.exit_time

strategy.opentrades.profit

Kerugian yang dikembalikan dari perdagangan yang belum dihapuskan. Kerugian dinyatakan sebagai nilai 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")

Mengira keuntungan dari semua urus niaga yang belum dihapuskan

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) Nombor urus niaga yang tidak diimbangi. Nombor urus niaga pertama adalah sifar.

Lihat juga
strategy.closedtrades.profit strategy.openprofit strategy.netprofit strategy.grossprofit

strategy.opentrades.size

Mengembalikan arah dagangan dan jumlah kontrak dalam perdagangan yang belum diatasi. Jika nilai> 0, kedudukan pasaran adalah berbilang. Jika nilai < 0, kedudukan pasaran 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")

Peratusan keuntungan purata bagi transaksi yang belum ditamatkan

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) Nombor urus niaga yang tidak diimbangi. Nombor urus niaga pertama adalah sifar.

Lihat juga
strategy.closedtrades.size strategy.position_size strategy.opentrades strategy.closedtrades

strategy.closedtrades.entry_bar_index

Kembali ke bar_index untuk kemasukan perdagangan yang telah ditamatkan.

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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.closedtrades.exit_bar_index strategy.opentrades.entry_bar_index

strategy.closedtrades.exit_price

Kembali kepada harga permulaan perdagangan yang telah ditamatkan.

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

Hitung peratusan keuntungan purata bagi semua urus niaga yang ditamatkan

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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.closedtrades.entry_price

strategy.closedtrades.exit_bar_index

Kembali ke bar_index yang telah ditamatkan.

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 jumlah purata K untuk setiap 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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
bar_index

strategy.closedtrades.entry_id

Id yang dikembalikan untuk masuk ke dalam perdagangan yang telah ditamatkan.

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

Nilai yang dikembalikan
Id yang dikembalikan untuk masuk ke dalam perdagangan yang telah ditamatkan.

parameter

  • trade_num(series int) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Nota
Jika trade_num tidak berada dalam julat, fungsi ini akan mengembalikan na:0 kepada strategy.closedtrades-1。

Lihat juga
strategy.closedtrades.entry_bar_index strategy.closedtrades.entry_time

strategy.closedtrades.entry_price

Kembali ke harga kemasukan untuk transaksi yang telah dihapuskan.

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

Hitung peratusan keuntungan purata bagi semua urus niaga yang ditamatkan

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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.closedtrades.exit_price strategy.closedtrades.size strategy.closedtrades

strategy.closedtrades.entry_time

Kembali ke masa UNIX yang telah ditamatkan.

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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.opentrades.entry_time strategy.closedtrades.exit_time time

strategy.closedtrades.profit

Kembali ke kerugian yang ditanggung oleh perdagangan yang telah dipadamkan. 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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.opentrades.profit strategy.closedtrades.commission

strategy.closedtrades.size

Mengembalikan arah dagangan dan jumlah kontrak dalam perdagangan yang telah dipadamkan. Jika nilai> 0, kedudukan pasaran adalah lebih banyak. Jika nilai < 0, kedudukan pasaran 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")

Mengira purata peratusan keuntungan dalam perdagangan setaraf

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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.opentrades.size strategy.position_size strategy.closedtrades strategy.opentrades

strategy.closedtrades.exit_time

Kembali ke masa UNIX untuk keluar dari perdagangan yang telah diimbangi.

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

X saat untuk membuka semula perdagangan 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) Nombor transaksi yang telah ditukarkan. Nombor transaksi pertama adalah sifar.

Lihat juga
strategy.closedtrades.entry_time

strategy.risk.allow_entry_in

Fungsi ini boleh digunakan untuk menentukan arah di mana fungsi strategi.entry dibenarkan untuk membuka kedudukan di pasaran.

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

Peraturan ini bertujuan untuk menentukan nilai maksimum kedudukan pasaran. Peraturan ini mempengaruhi fungsi berikut:strategy.entry。 Bilangan entri yang boleh dikurangkan (jika perlu) kepada jumlah kontrak/saham/tangan/unit, jadi jumlah kedudukan tidak melebihi nilai yang dinyatakan dalam 'strategy.risk.max_position_size'。 Jika jumlah minimum masih melanggar peraturan, pesanan tidak akan diletakkan。

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 di kedudukan.

math

math.abs

Jikanumber >= 0,numberNilai mutlak ialah numberJika tidak -number

math.abs(number)

Nilai yang dikembalikan
numberNilai mutlak.

math.acos

Fungsi acos mengembalikan bilangan yang bertentangan dengan arans ((dilambangkan dengan lengkung), seperti cos ((acos ((y)) = y dalam julat y[-1, 1]。

math.acos(angle)

Nilai yang dikembalikan
Nilai resonansi. Jika y keluar dari julat[-1,1], sudut pulangan di[0, Pi] atau dalam na.

math.random

Mengembalikan nilai rawak palsu. Fungsi ini akan menghasilkan urutan nilai yang berbeza untuk setiap skrip yang dijalankan. Menggunakan nilai yang sama untuk parameter biji pilihan akan menghasilkan urutan yang boleh diulang.

math.random(min, max, seed)

Nilai yang dikembalikan
Satu nilai rawak.

parameter

  • min(series int/float) Had bawah bagi julat nilai rawak ≠ nilai yang tidak termasuk dalam julat ≠ nilai lalai 0 ≠
  • max(series int/float) Had teratas bagi julat nilai rawak. Nilai ini tidak termasuk dalam julat. Nilai lalai ialah 1
  • seed(input int) Pilihan. Apabila menggunakan benih yang sama, fungsi ini boleh dipanggil secara berturut-turut untuk menghasilkan satu set nilai yang boleh diulang.

math.asin

Fungsi asin mengembalikan sinonim nombor ((dilambangkan dengan lengkung), sinonim ((asin ((y)) = y dalam julat y[-1, 1]。

math.asin(angle)

Nilai yang dikembalikan
Nilai resonansi. Jika y keluar dari julat[-1,1], sudut pulangan di[-Pi / 2,Pi / 2] atau dalam na.

math.atan

Fungsi atan kembalikan bilangan yang dipotong secara logarithmik ((dilambangkan dalam bentuk lengkung), tan ((atan ((y)) = y dalam mana-mana y.

math.atan(angle)

Nilai yang dikembalikan
Nilai pemotongan terbalik; sudut pulangan di[-Pi / 2, Pi / 2] dalam jangkauan.

math.ceil

Mengambil fungsi integer ke atas mengembalikan bilangan bulat terkecil yang lebih besar daripada atau sama dengan argumen (yang paling hampir kepada negatif tak terhingga).

math.ceil(number)

Nilai yang dikembalikan
Lebih kecil daripada atau sama dengan bilangan bulat terkecil yang diberikan

Lihat juga
math.floor math.round

math.cos

Fungsi cos kembalikan sudut pada sinus segitiga.

math.cos(angle)

Nilai yang dikembalikan
Rangkaian segitiga di sudut.

parameter

  • angle(series int/float) sudut, dengan lengkungan

math.exp

numberJadi, fungsi exp ialah e.numberAliran, di mana e adalah bilangan Euler.

math.exp(number)

Nilai yang dikembalikan
Satu nilai untuk e, ia ialah <unk>numberYang Mulia.

Lihat juga
math.pow

math.floor

math.floor(number)

Nilai yang dikembalikan
Lebih kecil daripada atau sama dengan bilangan bulat terbesar dari nombor yang diberikan.

Lihat juga
math.ceil math.round

math.log

Mana-mana.numberArginim semula jadi > 0 adalah satu-satunya y yang menjadikan e^y = number

math.log(number)

Nilai yang dikembalikan
numberArgonim semula jadi.

Lihat juga
math.log10

math.log10

numberArgumen yang biasa digunakan (atau berdasarkan 10) ialah nilai yang perlu dinaikkan 10 untuk mendapatkannumber。10^y = number

math.log10(number)

Nilai yang dikembalikan
numberArginal dengan asas 10.

Lihat juga
math.log

math.pow

Fungsi matriks matematik

math.pow(base, exponent)

Contoh

pine
// math.pow plot(math.pow(close, 2))

Nilai yang dikembalikan
basemeningkat kepadaexponentJikabaseIa adalah satu siri yang dikira mengikut unsur-unsur.

parameter

  • base(series int/float) Tentukan asas yang akan digunakan.
  • exponent(series int/float) Tentukan indeks.

Lihat juga
math.sqrt math.exp

math.sign

Simbol (signum) bagi nombor atom adalah 0 jika nombor atom adalah 0, 1.0 jika nombor atom lebih besar daripada 0 dan -1,0 jika nombor atom lebih kecil daripada 0.

math.sign(number)

Nilai yang dikembalikan
Logo parameter

math.sin

Fungsi sinonim mengembalikan sinonim segitiga pada satu sudut.

math.sin(angle)

Nilai yang dikembalikan
Sinar segitiga sudut.

parameter

  • angle(series int/float) sudut, dengan lengkungan

math.sqrt

Mana-mananumberAkar kuasa dua >=0 adalah satu-satunya y >=0 yang menjadikan y^2 = number

math.sqrt(number)

Nilai yang dikembalikan
numberAkar kuasa dua.

Lihat juga
math.pow

math.tan

Tan fungsi kembali sudut segitiga lurus.

math.tan(angle)

Nilai yang dikembalikan
Sudut segi tiga tepat.

parameter

  • angle(series int/float) sudut, dengan lengkungan

math.round

Kembali.numberJika anda menggunakan bilangan bulat, anda perlu mengelilingi bilangan bulat yang paling dekat dengan nombor bulat, dan kemudian anda perlu mengelilingi bilangan bulat ke atas.precisionParameter, akan mengembalikan nilai titik-titik terapung yang diletakkan ke dalam digit kecil.

math.round(number)
math.round(number, precision)

Nilai yang dikembalikan
numberNombor ini akan dikira ke bilangan bulat terdekat, atau mengikut ketepatan.

parameter

  • number(series int/float) Untuk mengelilingi nilai yang diletakkan di dalam.
  • precision(series int) Pilihan.numberDigit kecil yang akan dikutip. Apabila tidak diberikan parameter, dikutip ke bilangan bulat terdekat.

Nota
Perhatikan bahawa untuk nilai 'na', fungsi akan mengembalikan 'na' <unk>.

Lihat juga
math.ceil math.floor

math.max

Mengembalikan yang terbesar daripada beberapa nilai.

math.max(number0, number1, ...)

Contoh

pine
// math.max plot(math.max(close, open)) plot(math.max(close, math.max(open, 42)))

Nilai yang dikembalikan
Yang terbesar daripada beberapa nilai yang diberikan.

Lihat juga
math.min

math.min

Mengembalikan nilai yang paling kecil daripada beberapa nilai.

math.min(number0, number1, ...)

Contoh

pine
// math.min plot(math.min(close, open)) plot(math.min(close, math.min(open, 42)))

Nilai yang dikembalikan
Minimum dalam pelbagai nilai yang diberikan.

Lihat juga
math.max

math.avg

Hitung nilai purata semua siri ((elemen yang sepadan) <unk>

math.avg(number0, number1, ...)

Nilai yang dikembalikan
Purata

Lihat juga
math.sum ta.cum ta.sma

math.round_to_mintick

Mengembalikan nilai mintick yang diselubungi ke dalam barangan, iaitu dapat dibahagikan dengan nilai yang paling dekat dengan syminfo.mintick, tanpa sisa, dan diselubungi ke atas.

math.round_to_mintick(number)

Nilai yang dikembalikan
number"Saya tidak tahu apa-apa tentangnya, saya tidak tahu apa-apa tentangnya.

parameter

  • number(series int/float) Untuk mengelilingi nilai yang diletakkan di dalam.

Lihat juga
math.ceil math.floor

math.sum

Fungsi sum mengembalikan gabungan geser nilai y terakhir untuk x.

math.sum(source, length)

Nilai yang dikembalikan
lengthK baris kembalisourceJumlah keseluruhan

parameter

  • source(series int/float) Nilai siri yang akan dijalankan
  • length(series int) Jumlah baris K (panjang).

Lihat juga
ta.cum for

math.todegrees

Dari sudut dalam satuan lengkung, kembali ke sudut yang hampir bersamaan dalam satuan darjah.

math.todegrees(radians)

Nilai yang dikembalikan
Nilai sudut yang diukur dalam unit.

parameter

  • radians(series int/float) sudut dalam satuan lengkung.

math.toradians

Dari sudut dalam satuan darjah, kembali ke sudut yang hampir sama dalam satuan lengkung.

math.toradians(degrees)

Nilai yang dikembalikan
Nilai sudut dalam satuan lengkung.

parameter

  • degrees(series int/float) sudut yang diukur dalam satuan.

others

fixnan

Untuk siri yang diberikan, nilai NaN digantikan dengan nilai bukan NaN sebelumnya.

fixnan(source)

Nilai yang dikembalikan
Siri tanpa pengurangan na.

parameter

  • source (series int/float/bool/color)

Lihat juga
na nz

nz

Ganti nilai NaN dengan sifar (atau nombor yang ditetapkan) dalam siri tersebut.

nz(source, replacement)
nz(source)

Contoh

pine
// nz plot(nz(ta.sma(close, 100)))

Nilai yang dikembalikan
sourceNilai, jika ia tidaknaJikasourcenilai adalahnaJika ia menggunakan 1, ia akan kembali kepada 0.replacementParameter

parameter

  • source(series int/float/bool/color) Nilai siri yang akan dilaksanakan。
  • replacement(series int/float/bool/color) akan menggantikan nilai semua nilai tiub tina dalam siri tiub sumber.

Lihat juga
na fixnan

na

Jika NaN, nilai ujian ialah <unk>.

na(x)

Nilai yang dikembalikan
Jika x bukan nombor sah, maka adalah benar (x adalah NaN), jika tidak, maka adalah salah (false).

Lihat juga
fixnan nz

int

Ubah na atau potong nilai float menjadi int。

int(x)

Nilai yang dikembalikan
Ubah nilai parameter selepas int.

Lihat juga
float bool color string

float

Tetapkan na sebagai floating.

float(x)

Nilai yang dikembalikan
Ubah nilai parameter ke float

Lihat juga
int bool color string

alert

Triggering alert events when called during real-time K line, and previously created alert based on alert function events as indicator or policy through the Create Alert Box dialog 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) Mesej yang dihantar apabila isyarat berlaku.
  • freq(input string) Frekuensi pemicu. Nilai yang mungkin ialah: alert.freq_all (semua fungsi dipanggil untuk mencetuskan amaran), alert.freq_once_per_bar (fungsi pertama yang dipanggil dalam baris K untuk mencetuskan amaran), alert.freq_once_per_bar_close (fungsi dipanggil hanya semasa iterasi skrip terakhir dalam baris K dalam masa nyata, untuk mencetuskan amaran apabila ditutup). Nilai lalai ialah alert.freq_once_per_bar

Nota
Pusat Bantuan menerangkan cara membuat amaran seperti ini.
Berbeza dengan alertcondition, panggilan alert tidak dianggap sebagai lukisan tambahan.
Panggilan fungsi boleh berada dalam lingkungan global dan tempatan.
Panggilan fungsi tidak menunjukkan apa-apa pada carta.
Parameter <unk>freq<unk> hanya mempengaruhi frekuensi pemicu di mana fungsi ini dipanggil.

Lihat juga
alertcondition

alertcondition

Buat keadaan amaran boleh digunakan dalam kotak dialog Buat amaran. Sila ambil perhatian bahawa alertcondition tidak membuat amaran, ia hanya memberi anda lebih banyak pilihan dalam kotak dialog Buat amaran. Selain itu, kesan alertcondition tidak dapat dilihat dalam carta.

alertcondition(condition, title, message)

Contoh

pine
// alertcondition alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')

parameter

  • condition(series bool) Nilai bool siri yang digunakan untuk amaran. Nilai True mewakili pemicu amaran, false - tiada amaran. Parameter yang diperlukan
  • title(const string) tajuk keadaan amaran. Parameter pilihan.
  • message(const string) Menunjukkan mesej apabila isyarat berlaku.

Nota
Sila ambil perhatian bahawa dalam Pine v4, panggilan syarat amaran akan menghasilkan satu carta tambahan. Semua panggilan ini akan dipertimbangkan apabila kita mengira jumlah siri output untuk setiap skrip.

Lihat juga
alert

indicator

Untuk keserasianTrading ViewKod strategi, tidak perlu dipanggil.

Lihat juga
strategy

time

fungsi time mengembalikan masa UNIX pada baris K semasa dalam julat masa dan masa transaksi yang ditetapkan, dan NaN jika titik masa tidak berada dalam masa transaksi. Nota: FMZ tidak disokongsessionParameter

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

Apabila anda menetapkan sesi, anda boleh menentukan bukan sahaja jam dan minit, tetapi juga tarikh dalam minggu tertentu.
Jika tidak ada tarikh yang ditetapkan, pertimbangkan bahawa masa perdagangan ditetapkan dari hari Ahad (1) hingga Sabtu (7), iaitu RM1100-2000 sama dengan RM1100-1200:1234567.
Anda boleh mengubahnya dengan menetapkan tarikh. Sebagai contoh, untuk dagangan 7 hari seminggu dan 24 jam perdagangan, skrip berikut tidak akan berwarna untuk hari Sabtu dan Ahad:

Contoh

pine
// Time t1 = time(timeframe.period, "0000-0000:23456") bgcolor(t1 ? color.new(color.blue, 90) : na)

Satu.sessionParameter boleh mengandungi beberapa tempoh dagangan yang berbeza, dipisahkan dengan tanda koma. Sebagai contoh, skrip berikut akan menonjolkan carta K yang menunjukkan dari 10:00 hingga 11:00 dan dari 14:00 hingga 15:00 (hari bekerja sahaja):

Contoh

pine
// Time t1 = time(timeframe.period, "1000-1100,1400-1500:23456") bgcolor(t1 ? color.new(color.blue, 90) : na)

Nilai yang dikembalikan
Masa Unix.

parameter

  • timeframe(simple string) Tempoh tempoh ≠ senar kosong ditafsirkan sebagai tempoh masa semasa grafik ≠
  • session(simple string) Spesifikasi masa transaksi。 Parameter pilihan, secara lalai menggunakan masa transaksi komoditi。 Senar kosong ditafsirkan sebagai masa transaksi komoditi。 FMZ tidak disokong。
  • timezone (simple string) sessionParameter zon waktu。 hanya boleh digunakan apabila anda menetapkan zon sesi <unk>。 pilihan。 default adalah syminfo.timezone。 anda boleh menggunakan ungkapan GMT ((contoh <unk>GMT-5<unk>) atau nama pangkalan data zon waktu IANA ((contoh <unk>America/New_York<unk>) <unk>) <unk>。

Nota
Waktu UNIX adalah bilangan milidetik yang telah berlalu sejak 1 Januari 1970 UTC 00:00:00.

year

year(time)
year(time, timezone)

Nilai yang dikembalikan
Tahun yang menyediakan masa UNIX ((zon masa pertukaran))

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahawa fungsi ini mengembalikan tahun berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam ((contohnya, EURUSD pada hari Isnin bermula pada hari Ahad 17:00 UTC-4), nilai ini boleh lebih rendah daripada tahun pada hari perdagangan.

Lihat juga
year time month dayofmonth dayofweek hour minute second

month

month(time)
month(time, timezone)

Nilai yang dikembalikan
Bulan yang menyediakan masa UNIX ((zon masa pertukaran))

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahawa fungsi ini mengembalikan bulan berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam ((contohnya, tempoh perdagangan EURUSD pada hari Isnin bermula pada hari Ahad 17:00 UTC-4), nilai ini boleh menjadi 1 lebih rendah daripada bulan pada hari perdagangan.

Lihat juga
month time year dayofmonth dayofweek hour minute second

hour

hour(time)
hour(time, timezone)

Nilai yang dikembalikan
Jam yang disediakan untuk masa UNIX ((zon masa pertukaran))

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.

Lihat juga
hour time year month dayofmonth dayofweek minute second

minute

minute(time)
minute(time, timezone)

Nilai yang dikembalikan
Minit yang disediakan untuk masa UNIX ((zon masa pertukaran) }}.

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.

Lihat juga
minute time year month dayofmonth dayofweek hour second

second

second(time)
second(time, timezone)

Nilai yang dikembalikan
Berikan masa UNIX dalam detik ((zon masa pertukaran) }}.

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.

Lihat juga
second time year month dayofmonth dayofweek hour minute

weekofyear

weekofyear(time)
weekofyear(time, timezone)

Nilai yang dikembalikan
Memberi tempoh masa UNIX ((zon masa pertukaran) }}.

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahawa fungsi ini akan mengembalikan minggu berdasarkan waktu pembukaan garis K. Untuk tempoh perdagangan malam ((contohnya EURUSD, yang tempoh perdagangan pada hari Isnin bermula pada hari Ahad pukul 17:00), nilai ini boleh lebih rendah daripada minggu pada hari perdagangan.

Lihat juga
weekofyear time year month dayofmonth dayofweek hour minute second

dayofweek

dayofweek(time)
dayofweek(time, timezone)

Nilai yang dikembalikan
Menyediakan tarikh mingguan bagi masa UNIX ((zon waktu pertukaran) <unk>).

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Perhatikan bahawa fungsi ini mengembalikan tarikh berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam (seperti EURUSD pada hari Isnin bermula pada hari Ahad pukul 17:00), nilai ini boleh lebih rendah daripada tarikh pada hari perdagangan.
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.

Lihat juga
time dayofmonth

dayofmonth

dayofmonth(time)
dayofmonth(time, timezone)

Nilai yang dikembalikan
Tanggal bulanan yang menyediakan masa UNIX ((zon masa pertukaran) <unk>).

parameter

  • time(series int) Masa Unix dalam satuan milidetik.
  • timezone(series string) Parameter pilihan ◦ zon waktu ◦

Nota
Waktu UNIX adalah bilangan milidetik sejak 1 Januari 1970 UTC 00:00:00. Secara lalai, zon masa adalah syminfo.timezone. Anda boleh menggunakan timestamp untuk memeriksa nilai yang mungkin.
Perhatikan bahawa fungsi ini mengembalikan tarikh berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam ((contohnya EURUSD pada hari Isnin bermula pada hari Ahad 17:00 UTC-4), nilai ini boleh menjadi lebih rendah daripada tarikh pada hari perdagangan 1 <unk>.

Lihat juga
time dayofweek

timestamp

Fungsi penanda masa mengembalikan tarikh dan masa yang ditetapkan untuk masa 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"))

Nilai yang dikembalikan
Masa Unix.

parameter

  • timezone(series string) Zon masa。 boleh dipilih。 nilai lalai adalah syminfo.timezone。 boleh digunakan dalam ungkapan GMT ((contohnya<unk>GMT-5<unk>) atau nama pangkalan data zon masa IANA ((contohnya<unk>America/New_York<unk>) ditentukan。
  • year(series int) Tahun.
  • month(series int) bulan.
  • day(series int) Tarikh
  • hour(series int) (parameter pilihan) jam. Default ialah 0
  • minute(series int) (pilihan parameter) minit ≠ 0 ≠ 0
  • second(series int) (pilihan parameter) Second。 default ialah 0。
  • dateString(const string) Sebuah senar yang mengandungi tarikh dan pilihan masa dan zon waktu. Formatnya mestilah sesuai dengan standard IETF RFC 2822 atau ISO 8601 ((<unk>DD MMM YYYY hh:mm:ss±hhmm<unk> atau<unk>YYYY-MM-DDThh:mm:ss±hh:mm<unk>, jadi<unk>20 Feb 2020<unk> atau<unk>2020-02-20<unk>) ‬. Jika masa tidak disediakan, gunakan<unk>00:00<unk>‬. Jika tidak ada zon waktu yang disediakan, gunakan GMT+0‬.

Nota
Waktu UNIX adalah bilangan 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 lukisan 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) Objekhline pertama. Parameter yang diperlukan.
  • hline2(hline) Objekhline kedua. Parameter diperlukan.
  • plot1(plot) Objek pertama digambar. Parameter yang diperlukan.
  • plot2(plot) Objek lukisan kedua. Parameter yang diperlukan.
  • color(series color) Warna yang digambarkan. Anda boleh menggunakan konstanta seperti 'color = red' atau 'color = #ff001a' dan ungkapan kompleks seperti 'color = close >= open ? green: red'. Parameter pilihan.
  • title(const string) telah mencipta tajuk untuk mengisi objek.
  • editable(const bool) Jika true, gaya pengisian boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan jumlah baris k yang mengisi carta ((berbalik ke belakang dari baris k terakhir) <unk>
  • fillgaps(const bool) mengawal pengisian kekosongan secara berturut-turut, iaitu, apabila salah satu panggilan plot (()) mengembalikan nilai na. Apabila ditetapkan sebagai true, pengisian terakhir akan terus mengisi kekosongan.
  • display(plot_display) Mengendalikan kedudukan paparan yang diisi. Nilai yang mungkin ialah: display.none, display.all. Default display.all.

Lihat juga
plot barcolor bgcolor hline

hline

Garis mendatar pada tahap 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))

Nilai yang dikembalikan
Objekhline yang boleh digunakan untuk mengisi.

parameter

  • price(input int/float) nilai yang akan ditunjukkan oleh objek.
  • title(const string) tajuk objek
  • color(input color) Warna garisan pengendalian. Ia mestilah kestabilan (tidak ekspresi) dan boleh dipilih.
  • linestyle(hline_style) Gaya garisan pengendalian. Nilai yang mungkin ialah: solid, dotted, dotted. Parameter pilihan.
  • linewidth(input int) Lebar garisan pengendalian ≠ 1
  • editable(const bool) Jika true, gayahline boleh diedit dalam kotak dialog format.
  • display(plot_display) Kedudukan paparan pada baris kawalan. Nilai yang mungkin ialah: display.none, display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

bgcolor

Tulis latar belakang K dengan warna yang anda pilih.

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 boleh menggunakan konstanta seperti <unk>red<unk> atau <unk>#ff001a<unk> dan ungkapan rumit seperti 'close >= open ? green: red'. Parameter yang diperlukan.
  • offset(series int) Pergerakan siri warna ke kiri atau ke kanan pada bilangan tertentu k baris.
  • editable(const bool) Jika true, gaya bgcolor boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan jumlah baris k yang mengisi carta ((berbalik ke belakang dari baris k terakhir) <unk>
  • title(const string) bgcolor tajuk.
  • display(plot_display) mengawal lokasi paparan bgcolor. Nilai yang mungkin ialah: display.none, display.all. Secara lalai, display.all.
  • overlay(const bool) Parameter yang diperluaskan oleh platform FMZ, digunakan untuk menetapkan fungsi semasa yang dipaparkan pada gambar utama (set true) atau gambar kecil (set false) dengan nilai lalai false. Jika parameter ini tidak ditentukan, maka ia akan dipaparkan mengikutstrategyatauindicatorDalamoverlayPengaturan parameterstrategyatauindicatorTiada tetapanoverlayParameter, ia akan diuruskan mengikut parameter lalai.

Lihat juga
plot

barcolor

Tetapkan warna garisan 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 boleh menggunakan konstanta seperti <unk>red<unk> atau <unk>#ff001a<unk>, dan ungkapan kompleks seperti 'close >= open ? green: red‛。 parameter yang diperlukan。
  • offset(series int) Pergerakan siri warna ke kiri atau ke kanan pada bilangan tertentu k baris.
  • editable(const bool) Jika true, gaya barcolor boleh diedit dalam kotak dialog format.
  • show_last(input int) Jika ditetapkan, tentukan jumlah baris k yang mengisi carta ((berbalik ke belakang dari baris k terakhir) <unk>
  • title(const string) Judul Barcolor。 Parameter pilihan。
  • display(plot_display) Mengendalikan lokasi paparan warna K. Nilai yang mungkin ialah: display.none, display.all. Secara lalai, display.all.

Lihat juga
bgcolor plot fill

error

Versi yang serasi dengan PINE v4error, fungsi danruntime.errorPersetujuan.

Pembolehubah terbina dalam

order

order.ascending

Tentukan susunan susunan array dari terkecil ke terbesar.

taip
sort_order

Lihat juga
array.new_float array.sort

order.descending

Tentukan susunan susunan array dari terbesar ke terkecil.

taip
sort_order

Lihat juga
array.new_float array.sort

timeframe

timeframe.isdaily

Kembali true jika resolusi semasa adalah resolusi harian, atau false.

taip
simple bool

Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isweekly timeframe.ismonthly

timeframe.isdwm

Kembali true jika resolusi semasa adalah resolusi harian atau mingguan atau bulanan, atau false.

taip
simple bool

Lihat juga
timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isintraday

Jika kitaran semasa adalah dalam hari (minit atau saat) kitaran, kembali true, jika tidak, kembali false.

taip
simple bool

Lihat juga
timeframe.isminutes timeframe.isseconds timeframe.isdwm timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isminutes

Jika kitaran semasa adalah kitaran minit, kembali true, jika tidak, kembali false.

taip
simple bool

Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.ismonthly

Kembali true jika resolusi semasa adalah resolusi bulanan, atau false.

taip
simple bool

Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly

timeframe.isseconds

Jika kitaran semasa adalah saat, kembali true, jika tidak, kembali false.

taip
simple bool

Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isweekly

Kembali true jika resolusi semasa adalah resolusi mingguan, atau false.

taip
simple bool

Lihat juga
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.ismonthly

timeframe.multiplier

Perkalian kitaran masa, seperti '60' - 60, 'D' - 1, '5D' - 5, '12M' - 12。

taip
simple int

Lihat juga
syminfo.ticker syminfo.tickerid timeframe.period

timeframe.period

Tempoh masa. Contohnya, '60' - 60 minit, 'D' - hari, 'W' - minggu, 'M' - bulan, '5D' - 5 hari, '12M' - 1 tahun, '3M' - 1 suku tahun.

taip
simple string

Lihat juga
syminfo.ticker syminfo.tickerid timeframe.multiplier

display

display.none

Konstanta penamaan yang menentukan lokasi paparan gambar. Tidak dipaparkan di mana-mana. Boleh didapati dalam mesej templat amaran.

taip
plot_display

Lihat juga
plot plotshape plotchar

display.all

Satu konstanta penamaan yang menentukan kedudukan yang dipaparkan pada peta.

taip
plot_display

Lihat juga
plot plotshape plotchar plotarrow plotbar plotcandle

shape

shape.xcross

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.cross

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.triangleup

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.triangledown

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.flag

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.circle

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.arrowup

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.arrowdown

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.labelup

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.labeldown

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.square

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

shape.diamond

Gaya bentuk fungsi plotshape.

taip
const string

Lihat juga
plotshape

color

color.aqua

ialah #00BCD4 nama konstan warna.

taip
const color

color.black

adalah kestabilan penamaan warna #363A45 <unk>

taip
const color

color.blue

adalah kestabilan penamaan warna # 2962ff <unk> .

taip
const color

color.fuchsia

adalah #E040FB nama konstan warna.

taip
const color

color.gray

ialah kestabilan penamaan warna #787B86.

taip
const color

color.green

adalah kestabilan penamaan warna # 4CAF50

taip
const color

color.lime

adalah kestabilan penamaan warna #00E676

taip
const color

color.maroon

Konstanta penamaan warna #880E4F.

taip
const color

color.navy

ialah kestabilan penamaan warna # 311B92 <unk>

taip
const color

color.olive

ialah #808000 nama senantiasa warna.

taip
const color

color.orange

adalah #FF9800 nama konstan warna.

taip
const color

color.purple

adalah kestabilan penamaan warna # 9C27B0 <unk> .

taip
const color

color.red

adalah #FF5252 nama konstan warna.

taip
const color

color.silver

Konstanta penamaan warna #B2B5BE.

taip
const color

color.teal

color.teal

ialah kestabilan nama warna #00897B.

taip
const color

color.white

adalah #FFFFFF warna yang dinamakan.

taip
const color

color.yellow

adalah #FFEB3B nama konstan warna.

taip
const color

plot

plot.style_line

Kestabilan penamaan gaya 'Line', digunakan sebagai fungsi plotstyleParameter kepada parameter.

taip
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

Tetap nama dalam gaya 'Line With Breaks', digunakan sebagai fungsi plotstyleParameter untuk argumen. Sama seperti plot.style_line, kecuali ruang kosong dalam data tidak diisi.

taip
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

Tetap nama bergaya 'Histogram', digunakan sebagai fungsi plotstyleParameter kepada parameter.

taip
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

Nombor tetap gaya 'Columns' yang digunakan dalam fungsi plotstyleParameter kepada parameter.

taip
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

Nombor tetap gaya 'Circles' yang digunakan dalam fungsi plotstyleParameter kepada parameter.

taip
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

Tetapan nama gaya 'Area', digunakan sebagai fungsi plotstyleParameter kepada parameter.

taip
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

Tetap nama yang bergaya 'Area With Breaks' digunakan sebagai fungsi plotstyleParameter untuk parameter. Sama seperti plot.style_area, kecuali ruang kosong dalam data tidak diisi.

taip
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

Kekal penamaan gaya 'Cross', digunakan sebagai fungsi plotstyleParameter kepada parameter.

taip
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

Tetapan nama gaya 'Step Line', digunakan sebagai fungsi plotstyleParameter kepada parameter.

taip
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

Nombor tetap gaya 'Step Line With Diamonds' yang digunakan dalam fungsi plotstyleParameter untuk parameter. Sama seperti plot.style_stepline, selain perubahan data, ia juga ditandakan dengan tanda putar.

taip
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 kedudukan fungsi plotchar. Bentuk digambar di atas baris siri utama k.

taip
const string

Lihat juga
plotshape plotchar location.belowbar location.top location.bottom location.absolute

location.belowbar

plotshape, nilai kedudukan fungsi plotchar。 Bentuk digambar di bawah siri utama k。

taip
const string

Lihat juga
plotshape plotchar location.abovebar location.top location.bottom location.absolute

location.top

plotshape, nilai kedudukan fungsi plotchar. Bentuk digambarkan di dekat sempadan grafik atas.

taip
const string

Lihat juga
plotshape plotchar location.abovebar location.belowbar location.bottom location.absolute

location.bottom

plotshape, nilai kedudukan fungsi plotchar. Bentuk digambarkan di dekat sempadan grafik bawah.

taip
const string

Lihat juga
plotshape plotchar location.abovebar location.belowbar location.top location.absolute

location.absolute

plotshape, nilai kedudukan fungsi plotchar. Bentuk digambarkan pada carta, menggunakan nilai penunjuk sebagai koordinat harga.

taip
const string

Lihat juga
plotshape plotchar location.abovebar location.belowbar location.top location.bottom

size

size.auto

size.auto

saiz plotShape, saiz fungsi plotChar. saiz bentuk secara automatik menyesuaikan dengan saiz garis k.

taip
const string

Lihat juga
plotshape plotchar size.tiny size.small size.normal size.large size.huge

size.tiny

plotshape, saiz fungsi plotchar.

taip
const string

Lihat juga
plotshape plotchar size.auto size.small size.normal size.large size.huge

size.small

plotshape, saiz fungsi plotchar.

taip
const string

Lihat juga
plotshape plotchar size.auto size.tiny size.normal size.large size.huge

size.normal

plotshape, nilai saiz fungsi plotchar.

taip
const string

Lihat juga
plotshape plotchar size.auto size.tiny size.small size.large size.huge

size.large

plotshape, saiz fungsi plotchar.

taip
const string

Lihat juga
plotshape plotchar size.auto size.tiny size.small size.normal size.huge

size.huge

plotshape, saiz fungsi plotchar.

taip
const string

Lihat juga
plotshape plotchar size.auto size.tiny size.small size.normal size.large

alert

alert.freq_once_per_bar

Kekal nama yang digunakan bersama-sama dengan parameter 'freq' untuk fungsi alert().
Panggilan fungsi pertama dalam baris K akan mencetuskan amaran.

taip
const string

Lihat juga
alert

alert.freq_all

Kekal nama yang digunakan bersama-sama dengan parameter 'freq' untuk fungsi alert().
Semua panggilan fungsi akan mencetuskan amaran.

taip
const string

Lihat juga
alert

alert.freq_once_per_bar_close

Kekal nama yang digunakan bersama-sama dengan parameter 'freq' untuk fungsi alert().
Panggilan fungsi ini hanya berlaku semasa iterasi skrip terakhir pada baris K dalam masa nyata, dan mencetuskan amaran apabila ditutup.

taip
const string

Lihat juga
alert

format

format.inherit

ialah suatu konstanta penamaan.

taip
const string

Lihat juga
format.price format.volume

format.price

ialah suatu konstanta penamaan.

taip
const string

Nota
Jika format adalah format.price, anda akan menetapkan nilai ketepatan lalai. Anda boleh menggunakan parameter ketepatan fungsi penunjuk untuk mengubah nilai ketepatan.

Lihat juga
format.inherit format.volume

format.volume

ialah suatu konstanta penamaan.

taip
const string

Lihat juga
format.inherit format.price

syminfo

syminfo.ticker

Kod komoditi tanpa awalan bursa, seperti 'MSFT'。

taip
simple string

Lihat juga
syminfo.tickerid timeframe.period timeframe.multiplier

syminfo.tickerid

Kod komoditi dengan awalan bursa, contohnya BATS: MSFT<unk>, NASDAQ: MSFT<unk>

taip
simple string

Lihat juga
syminfo.ticker timeframe.period timeframe.multiplier

syminfo.basecurrency

Mata wang asas untuk barangan. Untuk kod barangan, ketik BTCUSD, dan kembalikan BTC.

taip
simple string

Lihat juga
syminfo.currency syminfo.ticker

syminfo.currency

Kod mata wang pengembalian: <unk> USD<unk>, <unk> EUR<unk> dan lain-lain.

taip
simple string

Lihat juga
syminfo.basecurrency syminfo.ticker

syminfo.type

Jenis kod komoditi semasa. Nilai yang mungkin ialah stock, futures, index, forex, crypto, fund, dr.

taip
simple string

Lihat juga
syminfo.ticker

syminfo.mintick

Nilai pengukuran minimum untuk varieti semasa. Parameter templat dalam "Pine Language Transaction Class Repository" pada FMZ, pada antara muka cakera/retestPenetapan harga ketepatan mata wangNilai ini boleh dikawal.Penetapan harga ketepatan mata wangTetapkan 2 iaitu harga semasa perdagangan tepat kepada nombor kecil kedua, ketika ini unit perubahan harga terkecil adalah 0.01 ◦ siminfo.mintick nilai adalah 0.01 ◦

taip
simple float

Lihat juga
syminfo.pointvalue

syminfo.pointvalue

Nilai titik barang semasa

taip
simple float

Lihat juga
syminfo.mintick

syminfo.timezone

Julat masa pertukaran siri utama carta. Untuk nilai yang mungkin lihat timestamp.

taip
simple string

Lihat juga
timestamp

barstate

barstate.islastconfirmedhistory

Jika skrip dijalankan pada baris K terakhir dalam set data semasa pasaran ditutup, atau skrip sedang dijalankan pada baris K sebelum baris K dalam keadaan nyata, kembali true jika pasaran terbuka. Jika tidak, kembali false.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew

barstate.isnew

Jika skrip kini dikira pada baris k baru, kembali true, jika tidak, kembali false.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isconfirmed barstate.islastconfirmedhistory

barstate.isfirst

Jika k adalah baris pertama dalam kumpulan k, k akan dikembalikan true, jika tidak, k akan dikembalikan false.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.islast

Kembali true jika k adalah baris terakhir dalam kumpulan k, atau false.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.ishistory

Kembali true jika k semasa adalah k sejarah, atau false.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.islast barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.isconfirmed

Jika skrip sedang mengira kemas kini terakhir (keluar) pada baris k semasa, k akan dikira pada baris k baru.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Tidak disyorkan untuk menggunakan barstate.isconfirmed dalam ungkapan request.security. Ia tidak dapat diramalkan dari permintaan request.security.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.islastconfirmedhistory

barstate.isrealtime

Kembali true jika k line semasa adalah k line masa nyata, atau false.

taip
series bool

Nota
Kod PineScript menggunakan pembolehubah ini boleh digunakan untuk membuat pengiraan yang berbeza untuk rekod sejarah dan data masa nyata.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.islast barstate.ishistory barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.time

Tiada

ta

ta.accdist

Indeks Akumulasi / Sebaran

taip
series float

ta.iii

Indeks kekuatan dalam cakera.

taip
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

Penunjuk berat negatif.

taip
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

Indeks kuantiti.

taip
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

Penunjuk arus tenaga.

taip
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

Indeks trend harga.

taip
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 D. Gill berkata:

taip
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

William Variasi Penyebaran.

taip
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 kestabilan nama bagi bilangan Euler. Ia sama dengan 2.7182818284590452.

taip
const float

Lihat juga
math.phi math.pi math.rphi

math.phi

adalah senantiasa nama bagi pembahagian emas。 sama dengan 1.6180339887498948。

taip
const float

Lihat juga
math.e math.pi math.rphi

math.pi

ialah nama senantiasa Archimedes. Ia sama dengan 3.1415926535897932.

taip
const float

Lihat juga
math.e math.phi math.rphi

math.rphi

adalah kestabilan nama bagi kadar perpecahan emas. Ia sama dengan 0.6180339887498948.

taip
const float

Lihat juga
math.e math.pi math.phi

strategy

strategy.equity

Hak dan kepentingan semasa ((strategy.initial_capital + strategy.netprofit + strategy.openprofit))

taip
series float

Lihat juga
strategy.netprofit strategy.openprofit strategy.position_size

strategy.position_size

Arah dan saiz kedudukan pasaran semasa. Jika nilai> 0, kedudukan pasaran lebih panjang. Jika nilai < 0, kedudukan pasaran lebih pendek.

taip
series float

Lihat juga
strategy.position_avg_price

strategy.position_avg_price

Jika kedudukan pasaran merata, NaN-<unk> akan kembali.

menggambarkan
Harga purata dalam FMZ PINE Script adalah harga yang merangkumi yuran prosedur. Sebagai contoh: harga pesanan adalah 8000, menjual arah, jumlah 1 tangan ((satu, lembaran), harga purata selepas transaksi bukan 8000, kurang dari 8000 ((termasuk yuran prosedur dalam kos).

taip
series float

Lihat juga
strategy.position_size

strategy.long

Berbagai arah.

taip
strategy_direction

Lihat juga
strategy.entry strategy.exit

strategy.short

Arah kepala kosong.

taip
strategy_direction

Lihat juga
strategy.entry strategy.exit

strategy.closedtrades

Jumlah transaksi yang ditutup sepanjang selang transaksi.

taip
series int

Lihat juga
strategy.position_size strategy.opentrades

strategy.opentrades

Bilangan transaksi yang belum ditutup atau terus dipegang. Jika tidak, 0 akan ditunjukkan.

taip
series int

Lihat juga
strategy.position_size

strategy.netprofit

Jumlah nilai mata wang semua transaksi yang telah selesai.

taip
series float

Lihat juga
strategy.openprofit strategy.position_size strategy.grossprofit

strategy.grossprofit

Jumlah nilai dalam mata wang semua transaksi yang berjaya diselesaikan

taip
series float

Lihat juga
strategy.netprofit

strategy.openprofit

Kerugian yang belum direalisasikan dari kedudukan yang belum ditutup pada masa ini

taip
series float

Lihat juga
strategy.netprofit strategy.position_size

strategy.direction.long

Strategi yang boleh dilakukan lebih banyak

taip
const string

Lihat juga
strategy.risk.allow_entry_in

strategy.direction.short

Strategi yang hanya boleh dilakukan

taip
const string

Lihat juga
strategy.risk.allow_entry_in

strategy.direction.all

Strategi yang membolehkan anda melakukan lebih banyak dan lebih sedikit

taip
const string

Lihat juga
strategy.risk.allow_entry_in

dayofweek

dayofweek

Minggu pada masa k line semasa zon waktu pertukaran.

taip
series int

Nota
Sila ambil perhatian bahawa pembolehubah ini akan kembali pada hari berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam (contohnya EURUSD, yang tempoh perdagangan pada hari Isnin bermula pada hari Ahad pukul 17:00), nilai ini boleh menjadi lebih rendah daripada hari perdagangan.
Anda boleh menggunakan dayofweek.sunday, dayofweek.monday, dayofweek.tuesday, dayofweek.wednesday, dayofweek.thursday, dayofweek.friday dan dayofweek.saturday untuk perbandingan.

Lihat juga
time dayofmonth

dayofweek.sunday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.monday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.sunday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.tuesday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.wednesday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.thursday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.friday dayofweek.saturday

dayofweek.friday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.saturday

dayofweek.saturday

adalah nilai yang dikembalikan oleh fungsi dayofweek dan nilai yang dinamakan oleh pembolehubah dayofweek.

taip
const int

Lihat juga
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday

hline

hline.style_dashed

ialah kestabilan penamaan gaya garisan titik fungsi Hline.

taip
hline_style

Lihat juga
hline.style_solid hline.style_dotted

hline.style_dotted

hline.style_dotted

ialah kestabilan penamaan gaya garis titik-ke-titik fungsi Hline.

taip
hline_style

Lihat juga
hline.style_solid hline.style_dashed

hline.style_solid

ialah kestabilan penamaan jenis garis pusat sebenar fungsi Hline.

taip
hline_style

Lihat juga
hline.style_dotted hline.style_dashed

barmerge

barmerge.gaps_on

Berikan strategi penggabungan data yang diminta. Menggabungkan data dengan perbezaan yang mungkin (nilai na).

taip
barmerge_gaps

Lihat juga
request.security barmerge.gaps_off

barmerge.gaps_off

Strategi data yang diminta untuk digabungkan. Data digabungkan secara berterusan, semua jurang diisi dengan nilai sedia ada yang paling baru sebelum ini.

taip
barmerge_gaps

Lihat juga
request.security barmerge.gaps_on

barmerge.lookahead_on

Strategi untuk merger meminta lokasi data. Barangan yang diminta akan digabungkan dengan barangan semasa mengikut masa bukaan k baris. Strategi penggabungan ini boleh menyebabkan kesan buruk pada sejarah pengiraan data yang diambil dari barangan masa depan. Ini tidak diterima dalam strategi pengujian mundur, tetapi boleh digunakan dalam penunjuk.

taip
barmerge_lookahead

Lihat juga
request.security barmerge.lookahead_off

barmerge.lookahead_off

Kaedah untuk meminta lokasi data yang digabungkan. Kaedah yang diminta untuk menggabungkan bar grafik dengan bar grafik semasa mengikut masa penutupan k line. Kaedah penggabungan ini menghalang kesan sejarah pengiraan data yang diperoleh dari bar masa depan.

taip
barmerge_lookahead

Lihat juga
request.security barmerge.lookahead_on

others

hl2

ialah (harga tertinggi + harga terendah) / 2

taip
series float

Lihat juga
open high low close volume time hlc3 hlcc4 ohlc4

hlc3

ialah (harga tertinggi + harga terendah + harga penutupan) / 3

taip
series float

Lihat juga
open high low close volume time hl2 hlcc4 ohlc4

hlcc4

ialah (High+Low+Cut+Cut) /4

taip
series float

Lihat juga
open high low close volume time hl2 hlc3 ohlc4

ohlc4

ialah (harga permulaan + harga tertinggi + harga terendah + harga penutupan) /4

taip
series float

Lihat juga
open high low close volume time hl2 hlc3 hlcc4

na

Double.NaN nilai (bukan nombor) <unk>

taip
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

Nota
Jika anda ingin memeriksa sama ada nilai tertentu adalah NaN, gunakan fungsi terbina dalam na.

Lihat juga
na

bar_index

Indeks bar harga semasa. Nombor bermula dari sifar, dengan indeks bar pertama 0 .

taip
series int

Contoh

pine
// bar_index plot(bar_index) plot(bar_index > 5000 ? close : 0)

Nota
Sila ambil perhatian bahawa bar_index telah menggantikan n pembolehubah dalam versi 4.
Sila ambil perhatian bahawa indeks K adalah 0 <unk> bermula dari garis K sejarah pertama.
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
barstate.isfirst barstate.islast barstate.isrealtime

last_bar_index

Indeks pada baris K terakhir carta. Indeks K bermula dengan baris K pertama sebagai sifar.

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

Nilai yang dikembalikan
Indeks K sejarah akhir penutupan atau indeks K masa nyata pembukaan.

Nota
Sila ambil perhatian bahawa penggunaan pembolehubah ini boleh menyebabkan penukaran semula.

Lihat juga
bar_index last_bar_time barstate.ishistory barstate.isrealtime

time

Masa k line semasa dalam format UNIX. Ini adalah bilangan milidetik sejak 1 Januari 1970 jam 00:00:00 UTC.

timenow

Waktu semasa dalam format UNIX. Ini adalah bilangan milidetik sejak 1 Januari 1970 jam 00:00:00 UTC.

taip
series int

Nota
Sila ambil perhatian bahawa penggunaan pembolehubah / fungsi ini mungkin menyebabkan penunjuk dipetik semula.

Lihat juga
timestamp time dayofmonth dayofweek

taip
series int

Nota
Sila ambil perhatian bahawa pembolehubah ini akan mengembalikan mata wang waktu berdasarkan masa pembukaan K. Oleh itu, untuk masa perdagangan malam hari (contohnya EURUSD, yang tempohnya pada hari Isnin bermula dari 17:00 pada hari Ahad), pembolehubah ini boleh mengembalikan masa sebelum tarikh yang ditetapkan pada hari perdagangan. Sebagai contoh, pada EURUSD, mata wang dayofmonth (waktu) boleh menjadi lebih rendah daripada tarikh perdagangan pada hari perdagangan 1 kerana K pada tarikh semasa sebenarnya dibuka pada hari sebelumnya.

Lihat juga
time dayofmonth dayofweek

year

Garis k tahun semasa zon masa pertukaran.

taip
series int

Nota
Perhatikan bahawa pembolehubah ini mengembalikan tahun berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam (seperti EURUSD, yang sesi perdagangan pada hari Isnin bermula pada hari Ahad pada pukul 17:00), nilai ini boleh menjadi lebih rendah daripada tahun pada hari perdagangan.

Lihat juga
year time month weekofyear dayofmonth dayofweek hour minute second

month

Bulan semasa k pada zon masa bursa.

taip
series int

Nota
Sila ambil perhatian bahawa pembolehubah ini mengembalikan bulan berdasarkan waktu pembukaan K line. Untuk tempoh perdagangan malam ((contohnya EURUSD, yang tempoh perdagangan pada hari Isnin bermula pada hari Ahad pada pukul 17:00), nilai ini boleh menjadi 1 lebih rendah daripada bulan pada hari perdagangan.

Lihat juga
month time year weekofyear dayofmonth dayofweek hour minute second

hour

Jadual masa k semasa di zon masa bursa.

taip
series int

Lihat juga
hour time year month weekofyear dayofmonth dayofweek minute second

minute

Minit semasa di zon masa bursa k baris.

taip
series int

Lihat juga
minute time year month weekofyear dayofmonth dayofweek hour second

second

Garis saat k pada zon masa bursa.

taip
series int

Lihat juga
second time year month weekofyear dayofmonth dayofweek hour minute

open

Harga pembukaan semasa.

taip
series float

Nota
Operator tanda kurung kuasa boleh digunakan[] untuk mengakses nilai sebelum ini, contohnya: <unk> open[1],open[2]。

Lihat juga
high low close volume time hl2 hlc3 hlcc4 ohlc4

high

Harga tertinggi semasa.

taip
series float

Nota
Operator tanda kurung kuasa boleh digunakan[] untuk mengakses nilai sebelumnya, contohnya: ◦ high[1],high[2]。

Lihat juga
open low close volume time hl2 hlc3 hlcc4 ohlc4

low

Harga terendah semasa.

taip
series float

Nota
Operator tanda kurung kuasa boleh digunakan[] untuk mengakses nilai sebelumnya, contohnya <unk> low[1],low[2]。

Lihat juga
open high close volume time hl2 hlc3 hlcc4 ohlc4

close

Harga penutupan semasa K Line, atau harga transaksi terakhir untuk K Line yang belum selesai.

taip
series float

Nota
Operator tanda kurung kuasa boleh digunakan[] untuk mengakses nilai sebelum ini, contohnya: <unk> close[1],close[2]。

Lihat juga
open high low volume time hl2 hlc3 hlcc4 ohlc4

volume

Jumlah pengangkutan K Line semasa.

taip
series float

Nota
Operator tanda kurung kuasa boleh digunakan[] untuk mengakses nilai sebelumnya, contohnya: ◦ volume[1],volume[2]。

Lihat juga
open high low close time hl2 hlc3 hlcc4 ohlc4

weekofyear

Bilangan minggu dalam tempoh masa k line semasa zon waktu pertukaran.

taip
series int

Nota
Sila ambil perhatian bahawa pembolehubah ini kembali pada minggu berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam (contohnya EURUSD, yang tempoh perdagangan pada hari Isnin bermula pada hari Ahad pada pukul 17:00), nilai ini boleh menjadi lebih rendah daripada tempoh minggu pada hari perdagangan.

Lihat juga
weekofyear time year month dayofmonth dayofweek hour minute second

dayofmonth

Tarikh pada masa k line semasa zon waktu pertukaran.

taip
series int

Nota
Sila ambil perhatian bahawa pembolehubah ini akan kembali pada hari berdasarkan waktu pembukaan K. Untuk tempoh perdagangan malam (contohnya EURUSD, yang tempoh perdagangan pada hari Isnin bermula pada hari Ahad pukul 17:00), nilai ini boleh menjadi lebih rendah daripada 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)