Chức năng này được sử dụng để vẽ tùy chỉnh tại thời gian chạy chiến lược bằng cách sử dụng một phương pháp vẽ tương tự nhưPine
language.
Đối tượng biểu đồ.KLineChart()
hàm trả về một đối tượng biểu đồ với một số phương pháp, trong đó bạn cần phải chú ý đếnbegin()
vàclose()
. Hoạt động vẽ phải bắt đầu với mộtbegin()
gọi chức năng và kết thúc với mộtclose()
gọi hàm khi đi qua dữ liệu KLine để thực hiện hoạt động vẽ.
đối tượng
KLineChart (các tùy chọn)
Cácoptions
tham số là cấu hình biểu đồ.
các lựa chọn
đúng
đối tượng, mảng đối tượng
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
Nếu một đối tượng điều khiển biểu đồ là cần thiết để vẽ trong khu vực vẽ tùy chỉnh chiến lược, sử dụngKLineChart()
Các tham số để cácKLineChart()
hàm là một cấu trúc cấu hình biểu đồ, được sử dụng trong mã tham chiếu là đơn giản:{overlay: true}
. Cấu trúc cấu hình biểu đồ này chỉ thiết lập nội dung vẽ để xuất trên biểu đồ chính.overlay
được đặt thành một giá trị sai, ví dụ:false
, nội dung trên biểu đồ được đầu ra trên biểu đồ thứ cấp. Nếu bạn cần phải chỉ định một chức năng vẽ để vẽ trên biểu đồ chính, bạn cũng có thể chỉ định các tham sốoverlay
như một giá trị thực trong cuộc gọi hàm cụ thể, ví dụ: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
Các chức năng giao diện vẽ củaPine
ngôn ngữ được hỗ trợ trong hoạt động vẽ là:barcolor
, thiết lập màu K-line.
barcolor ((color, offset, có thể chỉnh sửa, show_last, title, display) Các tham số hiển thị là tùy chọn:
không có, tất cả
c.bgcolor('rgba(0, 255, 0, 0.5)')
c.bgcolor('rgba(0, 255, 0, 0.5)')
// Not supported for now
bgcolor
, lấp đầy nền của đường K với màu sắc được chỉ định.
bgcolor ((color, offset, có thể chỉnh sửa, show_last, title, display, overlay) Các tham số hiển thị là tùy chọn:
không có, tất cả
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
, vẽ một chuỗi dữ liệu trên biểu đồ.
plot ((series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display) Các tham số kiểu là tùy chọn:
stepline_diamond , stepline , cross , areabr , area , circles , columns , histogram , linebr , line Các tham số hiển thị là tùy chọn: không có, tất cả
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
, lấp đầy nền giữa hai mảng hoặchline
với màu sắc được cung cấp.
fill ((hline1, hline2, color, title, editable, fillgaps, display) Các tham số hiển thị là tùy chọn:
không có, tất cả
Kể từ khiJavaScript
ngôn ngữ không thể chỉ định các tham số đến dựa trên tên của các tham số chức năng chính thức, để giải quyết vấn đề này, bạn có thể sử dụng một{key: value}
cấu trúc để xác định các tham số được truyền đến một tên tham số chính thức nhất định.
Ví dụ, mã tham chiếu sử dụng{color: bar.Close > bar.Open ? 'rgba(255, 0, 0, 0, 0.2)' : 'rgba(255, 0, 0, 0, 0.2)'}
xác địnhcolor
tham số củafill
chức năng.
Nếu bạn cần phải chỉ định nhiều tham số với các tên tham số hình thức liên tiếp, bạn có thể sử dụng{key1: value1, key2: value2, key3: value3}
.
Ví dụ, trong ví dụ này, một bổ sungtitle
tham số được chỉ định:{color: bar.Close > bar.Open ? 'rgba(255, 0, 0, 0, 0.2)' : 'rgba(255, 0, 0, 0, 0.2)', title: 'fill'}
.
Đối với giá trị màu sắc, bạn có thể thiết lập nó với'rgba(255, 0, 0, 0, 0.2)'
hoặc với'#FF0000'
.
c.hline(bar.High)
c.hline(bar.High)
// Not supported for now
hline
, đường ngang được trình bày ở mức giá cố định nhất định.
hline ((giá, tiêu đề, màu sắc, kiểu dòng, chiều rộng dòng, có thể chỉnh sửa, hiển thị) Các thông số phong cách đường dây là tùy chọn:
dashed , dotted , solid Các tham số hiển thị là tùy chọn: không có, tất cả
c.plotarrow(bar.Close - bar.Open)
c.plotarrow(bar.Close - bar.Open)
// Not supported for now
plotarrow
, vẽ mũi tên lên và xuống trên biểu đồ.
Plotarrow ((series, title, colorup, colorordown, offset, minheight, maxheight, có thể chỉnh sửa, show_last, display) Các tham số hiển thị là tùy chọn:
không có, tất cả
c.plotshape(bar.Low, {style: 'diamond'})
c.plotshape(bar.Low, style = 'diamond')
// Not supported for now
plotshape
, vẽ hình dạng trực quan trên biểu đồ.
plotshape ((series, title, style, location, color, offset, text, textcolor, editable, size, show_last, display) Các thông số phong cách là tùy chọn:
diamond size.autolà kích thước nhỏ. Các tham số hiển thị là tùy chọn:, square , label_down , label_up , arrow_down , arrow_up , circle , flag , triangle_down , triangle_up , cross , xcross Các tham số vị trí là tùy chọn: abovebar , belowbar , top , bottom , absolute Các tham số kích thước là tùy chọn: 10px , 14px , 20px , 40px , 80px , so sánh size.tiny, size.small, size.normal, size.large, size.huge trong ngôn ngữ Pine. không có, tất cả
c.plotchar(bar.Close, {char: 'X'})
c.plotchar(bar.Close, char = 'X')
// Not supported for now
plotchar
, vẽ hình dạng trực quan trên biểu đồ bằng cách sử dụng bất kỳ ký tự Unicode nào.
plotchar ((series, title, char, location, color, offset, text, textcolor, editable, size, show_last, display) Các tham số vị trí là tùy chọn:
abovebar size.autolà kích thước nhỏ. Các tham số hiển thị là tùy chọn:, belowbar , top , bottom , absolute Các tham số kích thước là tùy chọn: 10px , 14px , 20px , 40px , 80px , so sánh size.tiny, size.small, size.normal, size.large, size.huge trong ngôn ngữ Pine. không có, tất cả
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
, vẽ biểu đồ đường K trên biểu đồ.
plotcandle ((mở, cao, thấp, đóng, tiêu đề, màu sắc, wickcolor, có thể chỉnh sửa, show_last, bordercolor, display) Các tham số hiển thị là tùy chọn:
không có, tất cả
c.signal("long", bar.High, 1.5)
c.signal("long", bar.High, 1.5)
// Not supported for now
signal
, một hàm không có sẵn trên ngôn ngữ Pine, được sử dụng để vẽ tín hiệu mua và bán ở đây.
tín hiệu ((hướng, giá, lượng, id) Các tham số
long được truyền vào để chỉ ra hướng giao dịch, bạn có thể chọn long , closelong , short , closeshort . bar.High
là vị trí trục Y của tín hiệu đánh dấu. Các thông số được thông qua 1.5 chỉ ra số lượng giao dịch của tín hiệu. Các thông số thứ tư có thể được thông qua để thay thế các nội dung văn bản mặc định được vẽ, và các văn bản mặc định của các dấu hiệu tín hiệu được vẽ là hướng của giao dịch, ví dụ nhưcloselong .
c.reset()
c.reset()
// Not supported for now
reset
, một hàm không có sẵn trên ngôn ngữ Pine, được sử dụng để làm trống dữ liệu biểu đồ.
Reset (tạm dịch: đặt lại) Các
reset()
phương pháp có thể có một tham số,remain
, để xác định số lượng dữ liệu để giữ.remain
có nghĩa là xóa tất cả dữ liệu.
Chiến lược vẽ tùy chỉnh chỉ có thể sử dụng một trong những cách củaKLineChart()
chức năng hoặcChart()
cho một số màu sắc và thiết lập phong cách được sử dụng trongKLineChart()
gọi chức năng, xin vui lòng tham khảoSử dụng chức năng KLineChart để làm cho thiết kế vẽ chiến lược dễ dàng hơn.
{@fun/Log/Chart Chart}
Biểu đồ LogReset