Fungsi ini digunakan untuk lukisan tersuai pada strategi runtime menggunakan kaedah lukisan yang serupa denganPine
language.
Objek carta.KLineChart()
fungsi mengembalikan objek carta dengan beberapa kaedah, di antaranya anda perlu memberi perhatian kepadabegin()
danclose()
Operasi lukisan mesti bermula denganbegin()
panggilan fungsi dan berakhir denganclose()
panggilan fungsi apabila melintasi data KLine untuk melakukan operasi lukisan.
objek
KLineChart (pilihan)
Peraturanoptions
parameter adalah konfigurasi carta.
pilihan
betul
objek, barisan objek
function main() {
// Call the KLineChart function to create a chart control object c
let c = KLineChart({
overlay: true
})
// Use the Spot Exchange object test to get K-line data. If you use the futures exchange object test, you need to set up the contract first.
let bars = exchange.GetRecords()
if (!bars) {
return
}
// Execute the drawing operation by traversing over the K-line data. The drawing operation must start with the ```c.begin(bar)``` function call and end with the ```c.close()``` function call.
bars.forEach(function(bar, index) {
c.begin(bar)
c.barcolor(bar.Close > bar.Open ? 'rgba(255, 0, 0, 0.2)' : 'rgba(0, 0, 0, 0.2)')
if (bar.Close > bar.Open) {
c.bgcolor('rgba(0, 255, 0, 0.5)')
}
let h = c.plot(bar.High, 'high')
let l = c.plot(bar.Low, 'low')
c.fill(h, l, {
color: bar.Close > bar.Open ? 'rgba(255, 0, 0, 0.2)' : 'rgba(255, 0, 0, 0.2)'
})
c.hline(bar.High)
c.plotarrow(bar.Close - bar.Open)
c.plotshape(bar.Low, {
style: 'diamond'
})
c.plotchar(bar.Close, {
char: 'X'
})
c.plotcandle(bar.Open*0.9, bar.High*0.9, bar.Low*0.9, bar.Close*0.9)
if (bar.Close > bar.Open) {
// long/short/closelong/closeshort
c.signal("long", bar.High, 1.5)
} else if (bar.Close < bar.Open) {
c.signal("closelong", bar.Low, 1.5)
}
c.close()
})
}
def main():
# Call the KLineChart function to create a chart control object c
c = KLineChart({
"overlay": True
})
# Use the Spot Exchange object test to get K-line data. If you use the futures exchange object test, you need to set up the contract first.
bars = exchange.GetRecords()
if not bars:
return
for bar in bars:
c.begin(bar)
c.barcolor('rgba(255, 0, 0, 0.2)' if bar.Close > bar.Open else 'rgba(0, 0, 0, 0.2)')
if bar.Close > bar.Open:
c.bgcolor('rgba(0, 255, 0, 0.5)')
h = c.plot(bar.High, 'high')
l = c.plot(bar.Low, 'low')
c.fill(h, l, 'rgba(255, 0, 0, 0.2)' if bar.Close > bar.Open else 'rgba(255, 0, 0, 0.2)')
c.hline(bar.High)
c.plotarrow(bar.Close - bar.Open)
c.plotshape(bar.Low, style = 'diamond')
c.plotchar(bar.Close, char = 'X')
c.plotcandle(bar.Open*0.9, bar.High*0.9, bar.Low*0.9, bar.Close*0.9)
if bar.Close > bar.Open:
# long/short/closelong/closeshort
c.signal("long", bar.High, 1.5)
elif bar.Close < bar.Open:
c.signal("closelong", bar.Low, 1.5)
c.close()
// Not supported for now
Jika objek kawalan carta diperlukan untuk menarik di kawasan lukisan adat strategi, gunakanKLineChart()
fungsi untuk mencipta objek. Parameter kepadaKLineChart()
fungsi adalah struktur konfigurasi carta, yang digunakan dalam kod rujukan adalah mudah:{overlay: true}
. Struktur konfigurasi carta ini hanya menetapkan kandungan lukisan untuk output pada carta utama.overlay
ditetapkan kepada nilai palsu, contohnyafalse
Jika anda perlu menentukan fungsi lukisan untuk menarik pada carta utama, anda juga boleh menentukan parameteroverlay
sebagai nilai sebenar dalam panggilan fungsi tertentu, contohnya:true
.
c.barcolor(bar.Close > bar.Open ? 'rgba(255, 0, 0, 0.2)' : 'rgba(0, 0, 0, 0.2)') // Use the example illustrated in the reference code in this example, without further ado
c.barcolor('rgba(255, 0, 0, 0.2)' if bar.Close > bar.Open else 'rgba(0, 0, 0, 0.2)')
// Not supported for now
Fungsi antara muka lukisanPine
Bahasa yang disokong dalam operasi penggambaran adalah:barcolor
, yang menetapkan warna K-garis.
barcolor ((warna, offset, boleh diedit, show_last, tajuk, paparan) Parameter paparan adalah pilihan:
tidak ada , semua
c.bgcolor('rgba(0, 255, 0, 0.5)')
c.bgcolor('rgba(0, 255, 0, 0.5)')
// Not supported for now
bgcolor
, mengisi latar belakang K-garis dengan warna yang ditentukan.
bgcolor ((warna, offset, boleh diedit, show_last, tajuk, paparan, overlay) Parameter paparan adalah pilihan:
tidak ada , semua
c.plot(bar.High, 'high')
c.plot(bar.Open < bar.Close ? NaN : bar.Close, "Close", {style: "linebr"}) // Support for drawing discontinuous data lines
h = c.plot(bar.High, 'high')
h = c.plot(None if bar.Open < bar.Close else bar.Close, "Close", style = "linebr") # Support for drawing discontinuous data lines
// Not supported for now
plot
, merangka siri data pada carta.
plot ((seri, tajuk, warna, lebar baris, gaya, trackprice, histbase, offset, join, boleh diedit, show_last, display) parameter gaya adalah pilihan:
stepline_diamond , stepline , cross , areabr , area , circles , columns , histogram , linebr , line Parameter paparan adalah pilihan: tidak ada , semua
let h = c.plot(bar.High, 'high')
let l = c.plot(bar.Low, 'low')
c.fill(h, l, {color: bar.Close > bar.Open ? 'rgba(255, 0, 0, 0.2)' : 'rgba(255, 0, 0, 0.2)'})
h = c.plot(bar.High, 'high')
l = c.plot(bar.Low, 'low')
c.fill(h, l, color = 'rgba(255, 0, 0, 0.2)' if bar.Close > bar.Open else 'rgba(255, 0, 0, 0.2)'})
// Not supported for now
fill
, mengisi latar belakang di antara dua plot atauhline
dengan warna yang disediakan.
isi ((haline1, hline2, warna, tajuk, boleh diedit, mengisi kekosongan, paparan) Parameter paparan adalah pilihan:
tidak ada , semua
SejakJavaScript
bahasa tidak boleh menentukan parameter masuk berdasarkan nama parameter formal fungsi, untuk menyelesaikan masalah ini, anda boleh menggunakan{key: value}
struktur untuk menentukan parameter yang akan diteruskan kepada nama parameter rasmi tertentu.
Sebagai contoh, kod rujukan menggunakan{color: bar.Close > bar.Open ? 'rgba(255, 0, 0, 0, 0.2)' : 'rgba(255, 0, 0, 0, 0.2)'}
Menentukancolor
parameterfill
fungsi.
Jika anda perlu menentukan beberapa parameter dengan nama parameter bentuk berturut-turut, anda boleh menggunakan{key1: value1, key2: value2, key3: value3}
.
Sebagai contoh, dalam contoh ini, tambahantitle
parameter ditentukan:{color: bar.Close > bar.Open ? 'rgba(255, 0, 0, 0, 0.2)' : 'rgba(255, 0, 0, 0, 0.2)', title: 'fill'}
.
Untuk nilai warna, anda boleh menetapkannya dengan'rgba(255, 0, 0, 0, 0.2)'
atau dengan'#FF0000'
.
c.hline(bar.High)
c.hline(bar.High)
// Not supported for now
hline
, garis mendatar ditunjukkan pada tahap harga tetap yang diberikan.
hline ((harga, tajuk, warna, gaya baris, lebar baris, boleh diedit, paparan) Parameter gaya garis adalah pilihan:
berdaun , bertitik , padat Parameter paparan adalah pilihan: tidak ada , semua
c.plotarrow(bar.Close - bar.Open)
c.plotarrow(bar.Close - bar.Open)
// Not supported for now
plotarrow
, merangkumi anak panah ke atas dan ke bawah pada carta.
Plotarrow ((seri, tajuk, colorup, colorordown, offset, minheight, maxheight, boleh diedit, show_last, display) Parameter paparan adalah pilihan:
tidak ada , semua
c.plotshape(bar.Low, {style: 'diamond'})
c.plotshape(bar.Low, style = 'diamond')
// Not supported for now
plotshape
, lukis bentuk visual pada carta.
plotshape ((seri, tajuk, gaya, lokasi, warna, offset, teks, textcolor, boleh diedit, saiz, show_last, paparan) parameter gaya adalah pilihan:
diamond size.autoadalah saiz kecil. Parameter paparan adalah pilihan:, square , label_down , label_up , arrow_down , arrow_up , circle , flag , triangle_down , triangle_up , cross , xcross Parameter lokasi adalah pilihan: bar atas , bar bawah , top , bottom , absolute parameter saiz adalah pilihan: 10px , 14px , 20px , 40px , 80px , membandingkan saiz.kecil, saiz.kecil, saiz.normal, saiz.besar, saiz.besar dalam bahasa Pine. tidak ada , semua
c.plotchar(bar.Close, {char: 'X'})
c.plotchar(bar.Close, char = 'X')
// Not supported for now
plotchar
, lukis bentuk visual pada carta menggunakan mana-mana watak Unicode yang diberikan.
plotchar ((seri, tajuk, char, lokasi, warna, offset, teks, warna teks, boleh diedit, saiz, show_last, paparan) parameter lokasi adalah pilihan:
abovebar size.autoadalah saiz kecil. Parameter paparan adalah pilihan:, belowbar , top , bottom , absolute parameter saiz adalah pilihan: 10px , 14px , 20px , 40px , 80px , membandingkan saiz.kecil, saiz.kecil, saiz.normal, saiz.besar, saiz.besar dalam bahasa Pine. tidak ada , semua
c.plotcandle(bar.Open*0.9, bar.High*0.9, bar.Low*0.9, bar.Close*0.9)
c.plotcandle(bar.Open*0.9, bar.High*0.9, bar.Low*0.9, bar.Close*0.9)
// Not supported for now
plotcandle
, merangka carta garis K pada carta.
plotcandle ((buka, tinggi, rendah, dekat, tajuk, warna, wickcolor, boleh diedit, show_last, bordercolor, paparan) Parameter paparan adalah pilihan:
tidak ada , semua
c.signal("long", bar.High, 1.5)
c.signal("long", bar.High, 1.5)
// Not supported for now
signal
, fungsi yang tidak tersedia pada bahasa Pine, digunakan untuk menarik isyarat beli dan jual di sini.
isyarat ((arah, harga, qty, id) Parameter
long dihantar untuk menunjukkan arah transaksi, anda boleh memilih long , closelong , short , closeshort . bar.High
adalah kedudukan paksi Y isyarat penanda. Parameter 1.5 yang dilewatkan menunjukkan bilangan transaksi isyarat. Parameter keempat boleh dilewatkan untuk menggantikan kandungan teks lalai yang digambar, dan teks lalai penanda isyarat yang digambar adalah arah transaksi, contohnyacloselong .
c.reset()
c.reset()
// Not supported for now
reset
, fungsi yang tidak tersedia pada bahasa Pine, digunakan untuk mengosongkan data carta.
Tetapkan semula (tetap) Peraturan
reset()
kaedah boleh mengambil satu parameter,remain
, untuk menentukan jumlah data yang perlu disimpan.remain
bermakna membasmi semua data.
Strategy imej tersuai hanya boleh menggunakan salah satu caraKLineChart()
fungsi atauChart()
Untuk beberapa warna dan gaya tetapan yang digunakan dalamKLineChart()
panggilan fungsi, sila rujuk kepadaGunakan fungsi KLineChart untuk membuat reka bentuk lukisan strategi lebih mudah.
{@fun/Log/Chart Chart}
Jadual LogReset