Kembali nilaiJumlah median dari elemen array.
Parameter
id
(int[]/float[]) Array objek.Sampai jumpa lagi
array.avg
array.variance
array.min
Fungsi ini mengembalikan pola elemen array. Jika ada beberapa nilai dengan frekuensi yang sama, maka nilai minimal akan dikembalikan.
array.mode(id)
Contoh
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
Kembali nilaiPola elemen array.
Parameter
id
(int[]/float[]) Array objek.Sampai jumpa lagi
array.new_float
array.avg
array.variance
array.min
Mengembalikan persentase yang ditentukan dari nilai array kurang dari atau sama dengan nilainya, menggunakan input linear.
array.percentile_linear_interpolation(id, percentage)
Parameter
id
(int[]/float[]) Array objek.percentage
(series int/float) harus sama atau lebih kecil dari persentase nilai yang dikembalikan.PenjelasanDalam statistik, persentase adalah persentase dari item peringkat yang muncul pada suatu skor atau di bawah skor tertentu. Pengukuran ini menunjukkan persentase persentase dalam distribusi frekuensi standar yang berada di bawah peringkat persentase yang Anda ukur. Input linear memperkirakan nilai antara dua peringkat.
Sampai jumpa lagi
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Menggunakan metode ranking terbaru untuk mengembalikan nilai aritmatika dari persentase yang ditentukan (persentase) kurang dari atau sama dengan nilai tersebut.
array.percentile_nearest_rank(id, percentage)
Parameter
id
(int[]/float[]) Array objek.percentage
(series int/float) harus sama atau lebih kecil dari persentase nilai yang dikembalikan.PenjelasanDalam statistik, persentase adalah persentase dari item peringkat yang muncul pada suatu skor atau di bawah skor tertentu. Pengukuran ini menunjukkan persentase pecahan dalam distribusi frekuensi standar yang lebih rendah dari peringkat persentase yang Anda ukur.
Sampai jumpa lagi
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Mengembalikan peringkat persentase dari nilai tengah array.
array.percentrank(id, index)
Parameter
id
(int[]/float[]) Array objek.index
(series int) menghitung nilai peringkat persentase mereka.PenjelasanPeringkat persentase adalah persentase dari berapa banyak elemen dalam suatu array yang kurang dari atau sama dengan nilai referensi.
Sampai jumpa lagi
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Fungsi ini mengembalikan selisih antara nilai minimum dan nilai maksimum dari array yang diberikan.
array.range(id)
Contoh
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
Kembali nilaiPerbedaan antara nilai minimum dan nilai maksimum dalam suatu himpunan.
Parameter
id
(int[]/float[]) Array objek.Sampai jumpa lagi
array.new_float
array.min
array.max
array.sum
Fungsi ini mengubah isi array dengan menghapus elemen yang memiliki indeks yang ditentukan.
array.remove(id, index)
Contoh
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
Kembali nilaiNilai elemen yang dihapus.
Parameter
id
(any array type) objek array.index
(series int) indeks elemen yang ingin dihapus.Sampai jumpa lagi
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
Fungsi ini membalik array. Elemen array pertama menjadi yang terakhir, dan elemen array terakhir menjadi yang pertama.
array.reverse(id)
Contoh
// 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.Sampai jumpa lagi
array.new_float
array.sort
array.push
array.set
array.avg
Fungsi ini menggunakan parameter dari salah satu tipe berikut: int, float, boolean, string, line, color, linefill, dan mengembalikan array dengan tipe yang sesuai.
array.from(arg0, arg1, ...)
Contoh
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
Kembali nilaiNilai dari elemen array.
Parameter
arg0, arg1, ...
(series int/float/bool/color/string/line/linefill) Array parameterFungsi ini akan membuat<type>
Objek Array Elemen.
array.new(size, initial_value)
Contoh
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
Contoh
// 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
// 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
// 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)
Kembali nilaiFungsi ID dari objek array yang dapat digunakan bersama dengan array lainnya.
Parameter
size
(series int) ukuran awal dari urutan. Opsional. Default adalah 0.initial_value
(series PenjelasanIndeks array dimulai dari 0. Jika Anda ingin menginisialisasi suatu array dan menetapkan semua elemen pada saat yang sama, gunakan fungsi array.from.
Sampai jumpa lagi
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
Fungsi ini membuat objek array baru yang terdiri dari elemen tipe boolean.
array.new_bool(size, initial_value)
Contoh
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
Kembali nilaiFungsi ID dari objek array yang dapat digunakan bersama dengan array lainnya.
Parameter
size
(series int) ukuran awal dari urutan. Opsional. Default adalah 0.initial_value
(series bool) Nilai awal dari semua elemen deret. Opsional. Default adalah PenjelasanIndeks array dimulai dari 0.
Sampai jumpa lagi
array.new_float
array.get
array.slice
array.sort
Fungsi ini membuat objek array elemen floating point baru.
array.new_float(size, initial_value)
Contoh
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
Kembali nilaiFungsi ID dari objek array yang dapat digunakan bersama dengan array lainnya.
Parameter
size
(series int) ukuran awal dari urutan. Opsional. Default adalah 0.initial_value
(series int/float) Nilai awal dari semua elemen deret. Opsional.PenjelasanIndeks array dimulai dari 0.
Sampai jumpa lagi
array.new_bool
array.get
array.slice
array.sort
Fungsi ini membuat objek array baru yang terdiri dari elemen dengan tipe int.
array.new_int(size, initial_value)
Contoh
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
Kembali nilaiFungsi ID dari objek array yang dapat digunakan bersama dengan array lainnya.
Parameter
size
(series int) ukuran awal dari urutan. Opsional. Default adalah 0.initial_value
(series int) Nilai awal dari semua elemen deret↑ opsional↑ default adalah PenjelasanIndeks array dimulai dari 0.
Sampai jumpa lagi
array.new_float
array.get
array.slice
array.sort
Fungsi ini membuat objek array baru dengan elemen tipe string.
array.new_string(size, initial_value)
Contoh
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
Kembali nilaiFungsi ID dari objek array yang dapat digunakan bersama dengan array lainnya.
Parameter
size
(series int) ukuran awal dari urutan. Opsional. Default adalah 0.initial_value
(series string) Nilai awal dari semua elemen deret↑ opsional↑ default adalah PenjelasanIndeks array dimulai dari 0.
Sampai jumpa lagi
array.new_float
array.get
array.slice
Fungsi ini mengembalikan nilai dari elemen indeks yang ditentukan.
array.get(id, index)
Contoh
// 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))
Kembali nilaiNilai dari elemen array.
Parameter
id
(any array type) objek array.index
(series int) indeks dari elemen yang akan dikembalikan nilainya.Sampai jumpa lagi
array.new_float
array.set
array.slice
array.sort
Fungsi ini menambahkan nilai ke array.
array.push(id, value)
Contoh
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
Parameter
id
(any array type) objek array.value
(series <type of the array's elements>
) ditambahkan ke nilai elemen di akhir array.Sampai jumpa lagi
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Fungsi ini menetapkan nilai elemen sebagai indeks yang ditentukan.
array.set(id, index, value)
Contoh
// 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) untuk mengubah indeks elemen.value
(series <type of the array's elements>
) Nilai baru yang akan disetel.Sampai jumpa lagi
array.new_float
array.get
array.slice
Fungsi ini mengembalikan jumlah elemen array.
array.sum(id)
Contoh
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
Kembali nilaiJumlah elemen array.
Parameter
id
(int[]/float[]) Array objek.Sampai jumpa lagi
array.new_float
array.max
array.min
Fungsi ini mengembalikan nilai rata-rata elemen array.
array.avg(id)
Contoh
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
Kembali nilaiNilai rata-rata elemen array.
Parameter
id
(int[]/float[]) Array objek.Sampai jumpa lagi
array.new_float
array.max
array.min
array.stdev
Fungsi ini mengembalikan indeks di mana nilai pertama kali muncul. Jika tidak dapat menemukan nilai, maka kembali -1.
array.indexof(id, value)
Contoh
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
Kembali nilaiIndeks elemen.
Parameter
id
(any array type) objek array.value
(series <type of the array's elements>
) adalah nilai yang harus dicari dalam suatu array.Sampai jumpa lagi
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
distrategy
Dalam fungsi built-in yang terkait, stop loss point number, stop loss point number, atau stop loss point number didefinisikan sebagai kelipatan harga jump; misalnyastrategy.exit
Fungsiprofit
、loss
Parameter dengan titik menunjukkan stop loss, stop loss, parameterprofit
Setel menjadi 10, yaitu harga lompat kali 10 sebagai harga stop loss, harga lompat adalah variabel built-insyminfo.mintick
。
Fungsi ini mengatur beberapa atribut kebijakan.
Perhatikan, hanya mendukungtitle
,shorttitle
,overlay
,pyramiding
,default_qty_type
,default_qty_value
Parameter, parameter lainnya dapat diatur melalui parameter antarmuka dari kebijakan bahasa PINE.
strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate)
Contoh
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 menampilkan judul indikator yang terlihat di plugin indikator/kebijakan. Parameter diperlukan.shorttitle
(const string) akan menampilkan short header indikator yang terlihat pada contoh grafik. Parameter adalah opsional.overlay
(const bool) Jika true, pointer ini akan ditambahkan ke lapisan overlay dari seri utama. Jika false - itu akan ditambahkan ke jendela grafik yang terpisah.format
precision
scale
pyramiding
(const int) Jumlah maksimum yang diizinkan dalam satu arah. Jika nilai ini adalah 0, maka hanya satu pesanan masuk yang dapat dibuka dalam satu arah, dan setiap pesanan masuk lainnya akan ditolak.calc_on_order_fills
calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) ditentukan untuk digunakanqty
Nilai dari parameter tersebut adalah konten yang dinyatakan dalam fungsi strategi.entry atau strategi.order. Values yang mungkin adalah: strategi.fixed untuk kontrak/saham/jumlah tangan, strategi.cash untuk jumlah mata uang, atau strategi.percent_of_equity untuk persentase hak yang tersedia.default_qty_value
(const int/float) jumlah transaksi default dari fungsi strategy.entry atau strategy.order, yang apabila parameter currency
slippage
commission_type
commission_value
process_orders_on_close
close_entries_rule
max_lines_count
max_labels_count
max_boxes_count
margin_long
margin_short
explicit_plot_zorder
initial_capital
risk_free_rate
PenjelasanSetiap skrip strategi harus memiliki panggilan strategi. Kode PineScript yang menggunakan parameter calc_on_every_tick = true dapat melakukan perhitungan yang berbeda pada catatan sejarah dan data real-time. Ketika menggunakan grafik tipe non-standar sebagai dasar strategi, Anda perlu tahu bahwa hasilnya akan berbeda. Pesanan akan dieksekusi pada harga tabel tersebut (misalnya, untuk Heikin Ashi akan menggunakan harga Heikin Ashi (rata-rata) bukan harga pasar yang sebenarnya). Oleh karena itu, kami sangat menyarankan Anda menggunakan tipe grafik tipe standar dalam strategi Anda.
Sampai jumpa lagi
indicator
Ini adalah perintah masuk pasar. Jika pesanan dengan ID yang sama sudah ditempelkan, Anda dapat memodifikasi pesanan. Jika tidak ada pesanan dengan ID yang ditentukan, pesanan baru akan dikeluarkan. Untuk menghentikan perintah masuk, Anda harus menggunakan perintah strategi.cancel atau strategi.cancel_all. Fungsi strategi.entry, yang dipengaruhi oleh fungsi strategi.order, dapat membalikkan posisi pasar dengan benar.
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Contoh
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. Tanda pesanan. Anda dapat membatalkan atau mengubah pesanan dengan merujuk pada tanda pesanan.direction
(strategy_direction) Sebuah parameter yang diperlukan. Arah kepemilikan pasar: strategi.long untuk multihead, strategi.short untuk blankhead.qty
(series int/float) Optional parameter↑ kontrak/jumlah saham/jumlah tangan/jumlah unit yang ditransfer↑ default adalah limit
(series int/float) Optional parameter. Harga batas order. Jika sudah ditentukan, jenis order adalah "limit" atau "stop-limit". Jenis order lainnya adalah "NaN".stop
(series int/float) Optional parameter. Stop loss price of order. Jika sudah ditentukan, jenis order adalah "stop" atau "stop-limit". Jenis order lainnya adalah "NaN".oca_name
oca_type
comment
(series string) Optional parameter.when
(series bool) Optional parameter. Status order. Jika "true", order ditempatkan. Jika "false", tidak ada yang terjadi.alert_message
(series string) Sebuah parameter opsional ketika Anda menggunakan karakter {{strategy.order.alert_message}} dalam kolom string pesan yang dibuat untuk dialog alarm.Ini adalah perintah untuk keluar dari pesanan dengan ID yang ditentukan. Jika ada beberapa pesanan masuk dengan ID yang sama, mereka semua akan keluar pada saat yang sama. Perintah tidak akan berlaku jika tidak ada pesanan terbuka dengan ID yang ditentukan saat perintah dipicu. Perintah ini menggunakan pesanan pasar. Setiap entri ditutup oleh pesanan pasar terpisah.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
Contoh
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. Tanda pesanan. Tanda pesanan dapat ditutup dengan mengutip tanda pesanan.when
(series bool) Optional parameter. Kondisi perintah.qty
(series int/float) Optional parameter↑ jumlah kontrak/jumlah saham/jumlah tangan/unit yang keluar dari transaksi↑ default adalah qty_percent
(series int/float) mendefinisikan persentase dari neraca ((0-100)). Prioritasnya lebih rendah dari prioritas parameter comment
(series string) Optional parameter.alert_message
(series string) Sebuah parameter opsional ketika Anda menggunakan karakter {{strategy.order.alert_message}} dalam kolom string pesan yang dibuat untuk dialog alarm.Jika Anda ingin keluar dari posisi pasar saat ini, maka Anda harus membuat posisi pasar Anda rata.
strategy.close_all(when, comment, alert_message)
Contoh
strategy("closeAll Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close_all(when = open < close, comment = "close all entries")
plot(strategy.position_size)
Parameter
when
(series bool) Optional parameter. Kondisi perintah.comment
(series string) Optional parameter.alert_message
(series string) Sebuah parameter opsional ketika Anda menggunakan karakter {{strategy.order.alert_message}} dalam kolom string pesan yang dibuat untuk dialog alarm.Ini adalah perintah keluar yang menentukan posisi masuk atau seluruh pasar. Jika pesanan dengan ID yang sama sudah ditempelkan, Anda dapat memodifikasi pesanan. Jika pesanan masuk tidak ditangani, tetapi pesanan keluar muncul, pesanan keluar akan ditunda sampai orang yang ditangani setelah pesanan masuk ditangani. Untuk menghentikan pesanan keluar, Anda harus menggunakan perintah strategi.cancel atau strategi.cancel_all. Jika fungsi strategi.exit dipanggil sekali, Anda akan keluar hanya sekali. Jika Anda ingin keluar beberapa kali, Anda dapat menggunakan strategi.cancel atau strategi.cancel_all.应该多次调用命令strategy.exitJika Anda menggunakan stop-loss dan stop-track, jenis ordernya adalah stop-loss, hanya satu yang akan ditempatkan (akan ditransfer terlebih dahulu). Jika semua parameter berikut: stop-profit, stop-limit, stop-loss, stop-trail, stop-trail_points, stop-trail_offset, dan stop-trail_offset, maka order akan gagal.
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
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. Tanda pesanan. Anda dapat membatalkan atau mengubah pesanan dengan merujuk pada tanda pesanan.from_entry
(series string) Optional parameter↑ untuk menentukan pengenal perintah masuk keluar↑ untuk keluar dari semua posisi, string kosong harus digunakan↑ default adalah string kosong↑qty
(series int/float) Optional parameter↑ jumlah kontrak/jumlah saham/jumlah tangan/unit yang keluar dari transaksi↑ default adalah qty_percent
(series int/float) mendefinisikan persentase dari neraca ((0-100)). Prioritasnya lebih rendah dari prioritas parameter profit
(series int/float) Optional parameter. Tujuan keuntungan (dilambangkan dengan titik). Jika telah ditentukan, keluar dari posisi pasar dengan perintah harga terbatas ketika keuntungan yang ditentukan (dilambangkan dengan titik) tercapai.limit
(series int/float) Optional parameter. Tujuan keuntungan. Jika ditentukan, keluar dari posisi pasar dengan harga yang ditentukan. Jika ditentukan, keluar dari posisi pasar dengan harga yang ditentukan.loss
(series int/float) Optional parameter↑ Stop loss (dilambangkan dengan titik)↑ Jika telah ditentukan, keluar dari posisi pasar dengan stop loss saat mencapai jumlah kerugian yang ditentukan (dilambangkan dengan titik).stop
(series int/float) Optional parameter. Stop loss (menentukan harga). Jika sudah ditentukan, keluar dari posisi pasar pada harga yang ditentukan (atau lebih buruk). Prioritas stop loss adalah lebih tinggi dari parameter stop loss.trail_price
(series int/float) Optional parameter. Track stop loss activation level (membutuhkan spesifikasi harga). Jika ditentukan, stop loss tracking akan ditempatkan pada saat mencapai level harga yang ditentukan. Dalam parameter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filtertrail_points
(series int/float) Optional parameter↑ level aktivasi stop loss (diindikasikan dengan titik profit)↑ Jika ditentukan, stop loss yang akan ditindaklanjuti akan ditempatkan saat mencapai level harga yang telah dihitung (diindikasikan dengan jumlah profit). Di parameter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filter filtertrail_offset
(series int/float) Optional parameter. Tracking stop-loss activation level (dilambangkan dengan titik). Kebalikan dengan titik digunakan untuk menentukan harga awal dari tracking stop-loss order: X titik lebih rendah dari trail_price or 'trail_points' untuk exit multi-head; X titik lebih tinggi dari trail_price or 'trail_points' untuk exit blank.oca_name
comment
(series string) Optional parameter.when
(series bool) Optional parameter. Status order. Jika "true", order ditempatkan. Jika "false", tidak ada yang terjadi.alert_message
(series string) Sebuah parameter opsional ketika Anda menggunakan karakter {{strategy.order.alert_message}} dalam kolom string pesan yang dibuat untuk dialog alarm.Ini adalah referensi nama untuk membatalkan / menghentikan semua perintah daftar prasyarat, yang dihasilkan oleh fungsi berikut: strategi.order, strategi.entry andstrategy.exit。
strategy.cancel(id, when)
Contoh
strategy(title = "simple order cancellation example")
conditionForBuy = open > high[1]
strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true
strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false
Parameter
id
(series string) Parameter yang harus dipilih↑ tanda pesanan↑ lokasi tanda untuk membatalkan pesanan↑when
(series bool) Optional parameter. ⇒ Menghapus sebuah order berdasarkan ID. ⇒ Jika "true", maka order tersebut akan dihapus. ⇒ Default adalah "true".这是取消/停用所有预挂单命令,由以下功能生成:strategy.order,strategy.entry和strategy.exit。
strategy.cancel_all(when)
Contoh
strategy(title = "simple all orders cancellation example")
conditionForBuy1 = open > high[1]
strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true
conditionForBuy2 = conditionForBuy1 and open[1] > high[2]
strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true
conditionForStopTrading = open < ta.lowest(low, 2)
strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true
Parameter
when
(series bool) Optional parameter↑ Undo kondisi untuk semua order↑ Jika kondisi benar, semua order aktif akan dibatalkan↑ Default adalah Ini adalah perintah untuk melakukan order berikutnya. Jika order dengan ID yang sama sudah ditempelkan, Anda dapat mengubah order. Jika tidak ada order dengan ID yang ditentukan, Anda akan mengirim order baru. Untuk menghentikan order, Anda harus menggunakan perintah strategi.cancel atau strategi.cancel_all. Jika kedua parameter pembatasan dan penghentian kerugian adalah NaN, maka jenis pesanan adalah pesanan pasar.
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. Tanda pesanan. Anda dapat membatalkan atau mengubah pesanan dengan merujuk pada tanda pesanan.direction
(strategy_direction) Sebuah parameter yang diperlukan. Arah pesanan: strategi.long untuk membeli, strategi.short untuk menjual.qty
(series int/float) Optional parameter↑ kontrak/jumlah saham/jumlah tangan/jumlah unit yang ditransfer↑ default adalah limit
(series int/float) Optional parameter. Harga batas order. Jika sudah ditentukan, jenis order adalah "limit" atau "stop-limit". Jenis order lainnya adalah "NaN".stop
(series int/float) Optional parameter. Stop loss price of order. Jika sudah ditentukan, jenis order adalah "stop" atau "stop-limit". Jenis order lainnya adalah "NaN".oca_name
oca_type
comment
(series string) Optional parameter.when
(series bool) Optional parameter. Status order. Jika "true", order ditempatkan. Jika "false", tidak ada yang terjadi.alert_message
(series string) Sebuah parameter opsional ketika Anda menggunakan karakter {{strategy.order.alert_message}} dalam kolom string pesan yang dibuat untuk dialog alarm.Mengembalikan bar_index yang tidak masuk dalam transaksi.
strategy.opentrades.entry_bar_index(trade_num)
Tunggu 10 garis K dan perbaiki
Contoh
strategy("`strategy.opentrades.entry_bar_index` Example")
barsSinceLastEntry() =>
strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na
// Enter a long position if there are no open positions.
if strategy.opentrades == 0
strategy.entry("Long", strategy.long)
// Close the long position after 10 bars.
if barsSinceLastEntry() >= 10
strategy.close("Long")
Parameter
trade_num
(series int) Nomor transaksi yang tidak terikat. Nomor transaksi pertama adalah 0.Sampai jumpa lagi
strategy.closedtrades.entry_bar_index
strategy.closedtrades.exit_bar_index
Mengembalikan ID yang masuk untuk transaksi yang tidak terikat.
strategy.opentrades.entry_id(trade_num)
Contoh
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))
Kembali nilaiMengembalikan ID yang masuk untuk transaksi yang tidak terikat.
Parameter
trade_num
(series int) Nomor transaksi yang tidak terikat. Nomor transaksi pertama adalah 0.PenjelasanJika trade_num tidak berada dalam kisaran, fungsi ini mengembalikan na:0 ke strategy.opentrades−1.
Sampai jumpa lagi
strategy.opentrades.entry_bar_index
strategy.opentrades.entry_time
Kembali ke harga masuk untuk transaksi yang tidak terikat.
strategy.opentrades.entry_price(trade_num)
Contoh
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")
Menghitung harga rata-rata yang tidak terikat
Contoh
strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average open position price.
avgOpenPositionPrice() =>
sumOpenPositionPrice = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size
result = nz(sumOpenPositionPrice / strategy.opentrades)
plot(avgOpenPositionPrice())
Parameter
trade_num
(series int) Nomor transaksi yang tidak terikat. Nomor transaksi pertama adalah 0.Sampai jumpa lagi
strategy.closedtrades.exit_price
Kembali ke waktu UNIX untuk masuk ke perdagangan yang tidak terikat.
strategy.opentrades.entry_time(trade_num)
Contoh
strategy("strategy.opentrades.entry_time Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculates duration in milliseconds since the last position was opened.
timeSinceLastEntry()=>
strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na
plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")
Parameter
trade_num
(series int) Nomor transaksi yang tidak terikat. Nomor transaksi pertama adalah 0.Sampai jumpa lagi
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
Mengembalikan laba rugi dari transaksi yang tidak terikat.
strategy.opentrades.profit(trade_num)
Mengembalikan keuntungan dari perdagangan terakhir
Contoh
strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")
Menghitung keuntungan dari semua transaksi yang tidak terikat
Contoh
strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5)
// Strategy calls to enter 5 long positions every 2 bars.
if bar_index % 2 == 0
strategy.entry("Long", strategy.long, qty = 5)
// Calculate open profit or loss for the open positions.
tradeOpenPL() =>
sumProfit = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumProfit += strategy.opentrades.profit(tradeNo)
result = sumProfit
plot(tradeOpenPL(), "Profit of all open trades")
Parameter
trade_num
(series int) Nomor transaksi yang tidak terikat. Nomor transaksi pertama adalah 0.Sampai jumpa lagi
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
Mengembalikan arah perdagangan dan jumlah kontrak dalam perdagangan yang tidak terikat. Jika nilai ini > 0, maka posisi pasar adalah multi-head. Jika nilai ini < 0, maka posisi pasar adalah blank head.
strategy.opentrades.size(trade_num)
Contoh
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")
Menghitung persentase keuntungan rata-rata dari transaksi yang tidak terikat
Contoh
strategy("`strategy.opentrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for all open trades.
profitPct = 0.0
for tradeNo = 0 to strategy.opentrades - 1
entryP = strategy.opentrades.entry_price(tradeNo)
exitP = close
profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100
// Calculate average profit percent for all open trades.
avgProfitPct = nz(profitPct / strategy.opentrades)
Parameter
trade_num
(series int) Nomor transaksi yang tidak terikat. Nomor transaksi pertama adalah 0.Sampai jumpa lagi
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
Mengembalikan bar_index yang telah masuk ke perdagangan.
strategy.closedtrades.entry_bar_index(trade_num)
Contoh
strategy("strategy.closedtrades.entry_bar_index Example")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars in a trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.Sampai jumpa lagi
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
Untuk mengembalikan harga keluar dari transaksi yang sudah diratakan.
strategy.closedtrades.exit_price(trade_num)
Contoh
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")
Menghitung persentase keuntungan rata-rata dari semua transaksi yang telah diratakan
Contoh
strategy("strategy.closedtrades.exit_price Example 2")
// Strategy calls to create single short and long trades.
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.Sampai jumpa lagi
strategy.closedtrades.entry_price
Kembali bar_index yang telah keluar dari perdagangan neraca.
strategy.closedtrades.exit_bar_index(trade_num)
Contoh
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")
Menghitung rata-rata K baris per transaksi.
Contoh
strategy("strategy.closedtrades.exit_bar_index Example 2")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars per trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.Sampai jumpa lagi
bar_index
Kembali ke id yang masuk untuk transaksi yang sudah ditarik.
strategy.closedtrades.entry_id(trade_num)
Contoh
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))
Kembali nilaiKembali ke id yang masuk untuk transaksi yang sudah ditarik.
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.PenjelasanJika trade_num tidak berada dalam kisaran, fungsi ini mengembalikan na:0 ke strategy.closedtrades−1.
Sampai jumpa lagi
strategy.closedtrades.entry_bar_index
strategy.closedtrades.entry_time
Kembali ke harga masuk dari transaksi yang sudah diratakan.
strategy.closedtrades.entry_price(trade_num)
Contoh
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")
Menghitung persentase keuntungan rata-rata dari semua transaksi yang telah diratakan
Contoh
strategy("strategy.closedtrades.entry_price Example 2")
// Strategy calls to create single short and long trades
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.Sampai jumpa lagi
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
Kembali ke waktu UNIX yang telah ditandatangani perdagangan.
strategy.closedtrades.entry_time(trade_num)
Contoh
strategy("strategy.closedtrades.entry_time Example", overlay = true)
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Calculate the average trade duration
avgTradeDuration() =>
sumTradeDuration = 0
for i = 0 to strategy.closedtrades - 1
sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
result = nz(sumTradeDuration / strategy.closedtrades)
// Display average duration converted to seconds and formatted using 2 decimal points
if barstate.islastconfirmedhistory
runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.Sampai jumpa lagi
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
Mengembalikan laba rugi dari transaksi yang sudah diratakan.
strategy.closedtrades.profit(trade_num)
Contoh
strategy("`strategy.closedtrades.profit` Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average gross profit by adding the difference between gross profit and commission.
avgGrossProfit() =>
sumGrossProfit = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo)
result = nz(sumGrossProfit / strategy.closedtrades)
plot(avgGrossProfit(), "Average gross profit")
Parameter
trade_num
(series int) Nomor transaksi yang telah ditransfer. Nomor transaksi pertama adalah nol.Sampai jumpa lagi
strategy.opentrades.profit
strategy.closedtrades.commission
Mengembalikan arah perdagangan dan jumlah kontrak dalam perdagangan yang sudah diikat. Jika nilai ini > 0, maka posisi pasar adalah multi-head. Jika nilai ini < 0, maka posisi pasar adalah blank head.
strategy.closedtrades.size(trade_num)
Contoh
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")
Menghitung persentase keuntungan rata-rata dari transaksi clearing
Contoh
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.closedtrade
WuhuanBagaimana cara menjalankan beberapa transaksi pada saat yang sama untuk kontrak bitcoin?
Awan ringanApakah pine dapat melakukan banyak transaksi seperti JS? Terima kasih.
Lisa20231Terima kasih atas informasinya.
seniWow! Bagaimana bisa script pine ini menggunakan simulasi okex di platform ini?
seniIni berarti bahwa strategi tradingview dapat disalin langsung ke platform penemu dan digunakan!
Penemu Kuantitas - Mimpi KecilBahasa PINE hanya dapat melakukan strategi varietas tunggal, strategi multi-varietas adalah yang terbaik atau menulis desain dengan python, javascript, c++.
Penemu Kuantitas - Mimpi KecilOh, ya, OKX agak istimewa, mereka memiliki alamat yang sama di lingkungan analog dan lingkungan nyata, hanya berbeda di tempat lain. Jadi tidak ada cara untuk beralih ke analog dengan mengubah alamat basis.
Awan ringanTidak bisa menggunakan okx analog...
Penemu Kuantitas - Mimpi KecilMasalah arsitektur yang beragam ini tidak dapat diselesaikan dengan baik, karena setiap pertukaran memiliki antarmuka yang berbeda dan batas frekuensi antarmuka yang tidak sama, yang akan menimbulkan banyak masalah.
Penemu Kuantitas - Mimpi KecilBaiklah, terima kasih atas saranmu, dan laporkan permintaan ini di sini.
Awan ringanPerasaan lebih baik untuk mengintegrasikan dengan JS, JS dapat lebih baik beradaptasi dengan berbagai cara transaksi.
Pemangsa TrendingApakah Anda akan mempertimbangkan lebih banyak varietas di masa depan?
Penemu Kuantitas - Mimpi KecilTidak sopan.
Awan ringanBaiklah, terima kasih banyak.
Penemu Kuantitas - Mimpi KecilHalo, sementara, strategi bahasa PINE hanya bisa menggunakan satu varietas.
Penemu Kuantitas - Mimpi KecilTidak sopan, terima kasih atas dukungannya. Dokumen akan terus disempurnakan.
Penemu Kuantitas - Mimpi KecilSaya tidak tahu.
Penemu Kuantitas - Mimpi KecilPINE template library, dimana parameter dapat diatur untuk mengubah alamat basis pertukaran.