Giá trị chỉ số càng dài mũi tên được rút ra.
plotarrow(series, title, colorup, colordown, offset, minheight, maxheight, editable, show_last, display)
Ví dụ
codiff = close - open
plotarrow(codiff, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40), overlay=true)
Các lập luận
series
(series int/float) Dòng dữ liệu được vẽ dưới dạng mũi tên.title
(const string) Tiêu đề của mảnh đất.colorup
(màu chuỗi) Màu của mũi tên lên.colordown
(màu chuỗi) Màu của mũi tên xuống.offset
(series int) Di chuyển mũi tên sang trái hoặc sang phải trên số lượng thanh nhất định. mặc định là 0.minheight
(input int) Độ cao mũi tên tối thiểu trong pixel. mặc định là 5.maxheight
(input int) chiều cao mũi tên tối đa trong pixel. mặc định là 100.editable
(const bool) Nếu đúng thì kiểu phác thảo sẽ được chỉnh sửa trong hộp thoại định dạng.show_last
(input int) Nếu được đặt, xác định số mũi tên (từ thanh cuối cùng trở lại quá khứ) để vẽ trên biểu đồ.display
(plot_display) Điều khiển nơi biểu đồ được hiển thị. Các giá trị có thể là: display.none, display.all. mặc định là display.all.overlay
(const bool) là đối số mở rộng của nền tảng FMZ, nó được sử dụng để thiết lập hàm hiện tại được hiển thị trên hình ảnh chính (đặt thành true) hoặc phụ hình ảnh (đặt thành false), giá trị mặc định là false. Nếu đối số này không được chỉ định, nó sẽ được thiết lập theooverlay
lập luận trongstrategy
hoặcindicator
, nếustrategy
hoặcindicator
không thiết lậpoverlay
đối số, nó sẽ được xử lý theo các đối số mặc định.Xem thêm
plot
plotshape
plotchar
barcolor
bgcolor
Chức năng loại bỏ phần tử cuối cùng từ mảng và trả về giá trị của nó.
array.pop(id)
Ví dụ
// array.pop example
a = array.new_float(5,high)
removedEl = array.pop(a)
plot(array.size(a))
plot(removedEl)
Quay lạiGiá trị của phần tử bị loại bỏ.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.Xem thêm
array.new_float
array.set
array.push
array.remove
array.insert
array.shift
Chức năng loại bỏ phần tử đầu tiên của mảng và trả về giá trị của nó.
array.shift(id)
Ví dụ
// array.shift example
a = array.new_float(5,high)
removedEl = array.shift(a)
plot(array.size(a))
plot(removedEl)
Quay lạiGiá trị của phần tử bị loại bỏ.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.Xem thêm
array.unshift
array.set
array.push
array.remove
array.includes
Chức năng chèn giá trị vào đầu mảng.
array.unshift(id, value)
Ví dụ
// array.unshift example
a = array.new_float(5, 0)
array.unshift(a, open)
plot(array.get(a, 0))
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.value
(series <type of the array's elements>
) Giá trị để thêm vào đầu của mảng.Xem thêm
array.shift
array.set
array.insert
array.remove
array.indexof
Chức năng trả về số lượng các phần tử trong một mảng.
array.size(id)
Ví dụ
// 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))
Quay lạiSố phần tử trong mảng.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.Xem thêm
array.new_float
array.sum
array.slice
array.sort
Chức năng này tạo một slice từ một mảng hiện có. Nếu một đối tượng từ slice thay đổi, những thay đổi được áp dụng cho cả mảng mới và gốc.
array.slice(id, index_from, index_to)
Ví dụ
// 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)
Quay lạiMột bản sao nông của một phần của mảng.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.index_from
(series int) Chỉ số dựa trên số không để bắt đầu chiết xuất.index_to
(series int) Chỉ số dựa trên số không trước khi kết thúc trích xuất.Xem thêm
array.new_float
array.get
array.sort
Trả về một mảng chứa giá trị tuyệt đối của mỗi phần tử trong mảng ban đầu.
array.abs(id)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng trả về chỉ số của giá trị, hoặc -1 nếu giá trị không được tìm thấy.
array.binary_search(id, val)
Ví dụ
// 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)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.val
(series int/float) Giá trị để tìm kiếm trong mảng.Nhận xétMột tìm kiếm nhị phân hoạt động trên các mảng được sắp xếp trước theo thứ tự tăng lên. Nó bắt đầu bằng cách so sánh một phần tử ở giữa mảng với giá trị mục tiêu. Nếu phần tử phù hợp với giá trị mục tiêu, vị trí của nó trong mảng sẽ được trả về. Nếu giá trị của phần tử lớn hơn giá trị mục tiêu, tìm kiếm sẽ tiếp tục ở nửa dưới của mảng. Nếu giá trị của phần tử nhỏ hơn giá trị mục tiêu, tìm kiếm sẽ tiếp tục ở nửa trên của mảng. Bằng cách làm điều này tái diễn, thuật toán dần dần loại bỏ các phần nhỏ hơn và nhỏ hơn của mảng mà trong đó giá trị mục tiêu không thể nằm.
Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng trả về chỉ mục của giá trị nếu nó được tìm thấy. Khi giá trị không được tìm thấy, hàm trả về chỉ mục của phần tử nhỏ nhất tiếp theo ở bên trái của nơi giá trị nằm nếu nó nằm trong mảng. Mảng để tìm kiếm phải được sắp xếp theo thứ tự tăng lên.
array.binary_search_leftmost(id, val)
Ví dụ
// 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)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.val
(series int/float) Giá trị để tìm kiếm trong mảng.Nhận xétMột tìm kiếm nhị phân hoạt động trên các mảng được sắp xếp trước theo thứ tự tăng lên. Nó bắt đầu bằng cách so sánh một phần tử ở giữa mảng với giá trị mục tiêu. Nếu phần tử phù hợp với giá trị mục tiêu, vị trí của nó trong mảng sẽ được trả về. Nếu giá trị của phần tử lớn hơn giá trị mục tiêu, tìm kiếm sẽ tiếp tục ở nửa dưới của mảng. Nếu giá trị của phần tử nhỏ hơn giá trị mục tiêu, tìm kiếm sẽ tiếp tục ở nửa trên của mảng. Bằng cách làm điều này tái diễn, thuật toán dần dần loại bỏ các phần nhỏ hơn và nhỏ hơn của mảng mà trong đó giá trị mục tiêu không thể nằm.
Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng trả về chỉ mục của giá trị nếu nó được tìm thấy. Khi giá trị không được tìm thấy, hàm trả về chỉ mục của phần tử ở bên phải của nơi giá trị nằm nếu nó nằm trong mảng. Mảng phải được sắp xếp theo thứ tự tăng lên.
array.binary_search_rightmost(id, val)
Ví dụ
// 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)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.val
(series int/float) Giá trị để tìm kiếm trong mảng.Nhận xétMột tìm kiếm nhị phân hoạt động trên các mảng được sắp xếp theo thứ tự tăng lên. Nó bắt đầu bằng cách so sánh một phần tử ở giữa mảng với giá trị mục tiêu. Nếu phần tử phù hợp với giá trị mục tiêu, vị trí của nó trong mảng sẽ được trả về. Nếu giá trị của phần tử lớn hơn giá trị mục tiêu, tìm kiếm sẽ tiếp tục ở nửa dưới của mảng. Nếu giá trị của phần tử nhỏ hơn giá trị mục tiêu, tìm kiếm sẽ tiếp tục ở nửa trên của mảng. Bằng cách làm điều này tái diễn, thuật toán dần dần loại bỏ các phần nhỏ hơn và nhỏ hơn của mảng mà trong đó giá trị mục tiêu không thể nằm.
Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng sắp xếp các phần tử của một mảng.
array.sort(id, order)
Ví dụ
// 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))
Các lập luận
id
(int[]/float[]/string[]) Một đối tượng mảng.order
(sort_order) Trật tự sắp xếp: order.ascending ( mặc định) hoặc order.descending.Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Trả về một mảng các chỉ mục mà, khi được sử dụng để lập chỉ mục mảng gốc, sẽ truy cập các phần tử của nó theo thứ tự sắp xếp của chúng. Nó không sửa đổi mảng gốc.
array.sort_indices(id, order)
Ví dụ
// 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)
Các lập luận
id
(int[]/float[]/string[]) Một đối tượng mảng.order
(sort_order) Trật tự sắp xếp: order.ascending hoặc order.descending. Tùy chọn. mặc định là order.ascending.Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng loại bỏ tất cả các phần tử từ một mảng.
array.clear(id)
Ví dụ
// 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))
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.Xem thêm
array.new_float
array.insert
array.push
array.remove
array.pop
Chức năng này được sử dụng để hợp nhất hai mảng. Nó đẩy tất cả các phần tử từ mảng thứ hai đến mảng đầu tiên và trả về mảng đầu tiên.
array.concat(id1, id2)
Ví dụ
// 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))
Quay lạiMảng đầu tiên với các phần tử hợp nhất từ mảng thứ hai.
Các lập luận
id1
(bất kỳ loại mảng) Đối tượng mảng đầu tiên.id2
(bất kỳ loại mảng) đối tượng mảng thứ hai.Xem thêm
array.new_float
array.insert
array.slice
Chức năng tạo ra một bản sao của một mảng hiện có.
array.copy(id)
Ví dụ
// 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)
Quay lạiMột bản sao của một mảng.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.Xem thêm
array.new_float
array.get
array.slice
array.sort
Chức năng trả về độ lệch chuẩn của các phần tử của mảng.
array.stdev(id, biased)
Ví dụ
// array.stdev example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.stdev(a))
Quay lạiĐộ lệch chuẩn của các phần tử mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.biased
(series bool) xác định ước tính nào nên được sử dụng. tùy chọn. mặc định là true.Nhận xétNếubiased
là đúng, hàm sẽ tính bằng cách sử dụng ước tính thiên vị của toàn bộ dân số, nếu sai - ước tính không thiên vị của mẫu.
Xem thêm
array.new_float
array.max
array.min
array.avg
Chức năng trả về mảng các phần tử tiêu chuẩn.
array.standardize(id)
Ví dụ
// 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))
Quay lạiMảng các yếu tố tiêu chuẩn.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.max
array.min
array.mode
array.avg
array.variance
array.stdev
Chức năng trả về sự khác biệt của các phần tử của một mảng.
array.variance(id, biased)
Ví dụ
// array.variance example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.variance(a))
Quay lạiSự khác biệt của các phần tử của mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.biased
(series bool) xác định ước tính nào nên được sử dụng. tùy chọn. mặc định là true.Nhận xétNếubiased
là đúng, hàm sẽ tính bằng cách sử dụng ước tính thiên vị của toàn bộ dân số, nếu sai - ước tính không thiên vị của mẫu.
Xem thêm
array.new_float
array.stdev
array.min
array.avg
array.covariance
Chức năng trả về sự tương đồng của hai mảng.
array.covariance(id1, id2, biased)
Ví dụ
// 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))
Quay lạiSự khác nhau của hai mảng.
Các lập luận
id1
(int[]/float[]) Một đối tượng mảng.id2
(int[]/float[]) Một đối tượng mảng.biased
(series bool) xác định ước tính nào nên được sử dụng. tùy chọn. mặc định là true.Nhận xétNếubiased
là đúng, hàm sẽ tính bằng cách sử dụng ước tính thiên vị của toàn bộ dân số, nếu sai - ước tính không thiên vị của mẫu.
Xem thêm
array.new_float
array.max
array.stdev
array.avg
array.variance
Chức năng đặt các phần tử của một mảng vào một giá trị duy nhất. Nếu không chỉ định chỉ mục, tất cả các phần tử được đặt. Nếu chỉ cung cấp chỉ mục bắt đầu ( mặc định 0), các phần tử bắt đầu từ chỉ mục đó được đặt. Nếu cả hai đối số chỉ mục được sử dụng, các phần tử từ chỉ mục bắt đầu đến nhưng không bao gồm chỉ mục cuối ( mặc định na) được đặt.
array.fill(id, value, index_from, index_to)
Ví dụ
// array.fill example
a = array.new_float(10)
array.fill(a, close)
plot(array.sum(a))
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.value
(series <type of the array's elements>
) Giá trị để lấp đầy mảng.index_from
(series int) Start index, mặc định là 0.index_to
(series int) Chỉ số cuối, mặc định là na. Phải lớn hơn một chỉ số của phần tử cuối cùng được đặt.Xem thêm
array.new_float
array.set
array.slice
Chức năng trả về true nếu giá trị được tìm thấy trong một mảng, false nếu không.
array.includes(id, value)
Ví dụ
// array.includes example
a = array.new_float(5,high)
p = close
if array.includes(a, high)
p := open
plot(p)
Quay lạiĐúng nếu giá trị được tìm thấy trong mảng, sai nếu không.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.value
(series <type of the array's elements>
) Giá trị để tìm kiếm trong mảng.Xem thêm
array.new_float
array.indexof
array.shift
array.remove
array.insert
Chức năng thay đổi nội dung của một mảng bằng cách thêm các phần tử mới vào vị trí.
array.insert(id, index, value)
Ví dụ
// array.insert example
a = array.new_float(5, close)
array.insert(a, 0, open)
plot(array.get(a, 5))
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.index
(series int) Chỉ số để chèn giá trị.value
(series <type of the array's elements>
) Giá trị để thêm vào mảng.Xem thêm
array.new_float
array.set
array.push
array.remove
array.pop
array.unshift
Chức năng tạo và trả về một chuỗi mới bằng cách liên kết tất cả các phần tử của một mảng, được tách bởi chuỗi tách được chỉ định.
array.join(id, separator)
Ví dụ
// array.join example
a = array.new_float(5, 5)
runtime.log(array.join(a, ","))
Các lập luận
id
(int[]/float[]/string[]) Một đối tượng mảng.separator
(dòng chuỗi) Dòng chuỗi được sử dụng để tách từng phần tử mảng.Xem thêm
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Chức năng trả về chỉ số lần xuất hiện cuối cùng của giá trị, hoặc -1 nếu giá trị không được tìm thấy.
array.lastindexof(id, value)
Ví dụ
// array.lastindexof example
a = array.new_float(5,high)
index = array.lastindexof(a, high)
plot(index)
Quay lạiChỉ số của một nguyên tố.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.value
(series <type of the array's elements>
) Giá trị để tìm kiếm trong mảng.Xem thêm
array.new_float
array.set
array.push
array.remove
array.insert
Chức năng trả về giá trị lớn nhất, hoặc giá trị lớn thứ n trong một mảng nhất định.
array.max(id, nth)
Ví dụ
// array.max
a = array.from(5, -2, 0, 9, 1)
secondHighest = array.max(a, 2) // 1
plot(secondHighest)
Quay lạiGiá trị lớn nhất hoặc lớn nhất số n trong mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.nth
(series int) giá trị lớn thứ n để trả về, trong đó 0 là lớn nhất. tùy chọn. mặc định là 0.Xem thêm
array.new_float
array.min
array.sum
Chức năng trả về giá trị nhỏ nhất, hoặc giá trị nhỏ nhất số n trong một mảng nhất định.
array.min(id, nth)
Ví dụ
// array.min
a = array.from(5, -2, 0, 9, 1)
secondLowest = array.min(a, 1) // 0
plot(secondLowest)
Quay lạiGiá trị nhỏ nhất hoặc số nhỏ nhất trong mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.nth
(series int) Giá trị nhỏ nhất để trả về, trong đó 0 là nhỏ nhất. tùy chọn. mặc định là 0.Xem thêm
array.new_float
array.max
array.sum
Chức năng trả về trung bình của các phần tử của mảng.
array.median(id)
Ví dụ
// array.median example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.median(a))
Quay lạiĐường trung bình của các phần tử mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.avg
array.variance
array.min
Chức năng này trả về chế độ của các phần tử của mảng. Nếu có nhiều giá trị có cùng tần số, nó trả về giá trị nhỏ nhất.
array.mode(id)
Ví dụ
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
Quay lạiChế độ của các phần tử mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.new_float
array.avg
array.variance
array.min
Trả về giá trị mà tỷ lệ phần trăm của các giá trị mảng (tháng phần) được chỉ định nhỏ hơn hoặc bằng nó, sử dụng can thiệp tuyến tính.
array.percentile_linear_interpolation(id, percentage)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.percentage
(series int/float) Tỷ lệ phần trăm các giá trị phải bằng hoặc nhỏ hơn giá trị được trả về.Nhận xétTrong thống kê, phần trăm là tỷ lệ phần trăm của các mục xếp hạng xuất hiện ở hoặc dưới một điểm số nhất định.
Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Trả về giá trị mà phần trăm được chỉ định của các giá trị mảng (phần trăm) nhỏ hơn hoặc bằng nó, sử dụng phương pháp xếp hạng gần nhất.
array.percentile_nearest_rank(id, percentage)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.percentage
(series int/float) Tỷ lệ phần trăm các giá trị phải bằng hoặc nhỏ hơn giá trị được trả về.Nhận xétTrong thống kê, tỷ lệ phần trăm là tỷ lệ phần trăm các mục xếp hạng xuất hiện ở hoặc dưới một điểm số nhất định.
Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Trả về thứ hạng phần trăm của một giá trị trong mảng.
array.percentrank(id, index)
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.index
(series int) Giá trị để tính thứ hạng phần trăm của nó.Nhận xétXếp hạng phần trăm là tỷ lệ phần trăm của số phần tử trong mảng nhỏ hơn hoặc bằng giá trị tham chiếu.
Xem thêm
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng trả về sự khác biệt giữa các giá trị tối thiểu và tối đa từ một mảng nhất định.
array.range(id)
Ví dụ
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
Quay lạiSự khác biệt giữa các giá trị tối thiểu và tối đa trong mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.new_float
array.min
array.max
array.sum
Chức năng này thay đổi nội dung của một mảng bằng cách loại bỏ phần tử có chỉ số được chỉ định.
array.remove(id, index)
Ví dụ
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
Quay lạiGiá trị của phần tử bị loại bỏ.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.index
(series int) Chỉ số của phần tử để loại bỏ.Xem thêm
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
Chức năng đảo ngược một mảng. phần tử mảng đầu tiên trở thành phần tử cuối cùng, và phần tử mảng cuối cùng trở thành phần tử đầu tiên.
array.reverse(id)
Ví dụ
// 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))
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.Xem thêm
array.new_float
array.sort
array.push
array.set
array.avg
Chức năng này lấy một số lượng các đối số biến với một trong các loại: int, float, bool, string, label, line, color, box, table, linefill, và trả về một mảng của loại tương ứng.
array.from(arg0, arg1, ...)
Ví dụ
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
Quay lạiGiá trị của phần tử mảng.
Các lập luận
arg0, arg1, ...
(series int/float/bool/color/string/line/linefill) Các đối số mảng.Chức năng tạo ra một đối tượng mảng mới của<type>
elements.
array.new(size, initial_value)
Ví dụ
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
Ví dụ
// 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))
Ví dụ
// 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")
Ví dụ
// 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)
Quay lạiID của một đối tượng mảng có thể được sử dụng trong các hàm mảng khác.
Các lập luận
size
(series int) kích thước ban đầu của một mảng. tùy chọn. mặc định là 0.initial_value
(series Nhận xétChỉ số mảng bắt đầu từ 0. Nếu bạn muốn khởi tạo một mảng và chỉ định tất cả các phần tử của nó cùng một lúc, sau đó sử dụng hàm array.from.
Xem thêm
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
Chức năng tạo ra một đối tượng mảng mới của các yếu tố kiểu bool.
array.new_bool(size, initial_value)
Ví dụ
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
Quay lạiID của một đối tượng mảng có thể được sử dụng trong các hàm mảng khác.
Các lập luận
size
(series int) kích thước ban đầu của một mảng. tùy chọn. mặc định là 0.initial_value
(series bool) Giá trị ban đầu của tất cả các phần tử mảng. Tùy chọn. mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Xem thêm
array.new_float
array.get
array.slice
array.sort
Chức năng tạo ra một đối tượng mảng mới của các yếu tố kiểu float.
array.new_float(size, initial_value)
Ví dụ
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
Quay lạiID của một đối tượng mảng có thể được sử dụng trong các hàm mảng khác.
Các lập luận
size
(series int) kích thước ban đầu của một mảng. tùy chọn. mặc định là 0.initial_value
(series int/float) Giá trị ban đầu của tất cả các phần tử mảng. Tùy chọn. mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Xem thêm
array.new_bool
array.get
array.slice
array.sort
Chức năng tạo ra một đối tượng mảng mới của các phần tử kiểu int.
array.new_int(size, initial_value)
Ví dụ
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
Quay lạiID của một đối tượng mảng có thể được sử dụng trong các hàm mảng khác.
Các lập luận
size
(series int) kích thước ban đầu của một mảng. tùy chọn. mặc định là 0.initial_value
(series int) Giá trị ban đầu của tất cả các phần tử mảng. Tùy chọn. mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Xem thêm
array.new_float
array.get
array.slice
array.sort
Chức năng tạo ra một đối tượng mảng mới của các yếu tố kiểu chuỗi.
array.new_string(size, initial_value)
Ví dụ
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
Quay lạiID của một đối tượng mảng có thể được sử dụng trong các hàm mảng khác.
Các lập luận
size
(series int) kích thước ban đầu của một mảng. tùy chọn. mặc định là 0.initial_value
Giá trị ban đầu của tất cả các phần tử mảng. Tùy chọn. mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Xem thêm
array.new_float
array.get
array.slice
Chức năng trả về giá trị của phần tử ở chỉ số được chỉ định.
array.get(id, index)
Ví dụ
// 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))
Quay lạiGiá trị của phần tử mảng.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.index
(series int) Chỉ số của phần tử có giá trị được trả về.Xem thêm
array.new_float
array.set
array.slice
array.sort
Chức năng thêm một giá trị vào một mảng.
array.push(id, value)
Ví dụ
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.value
(series <type of the array's elements>
) Giá trị của phần tử được thêm vào cuối mảng.Xem thêm
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Chức năng đặt giá trị của phần tử ở chỉ số được chỉ định.
array.set(id, index, value)
Ví dụ
// array.set example
a = array.new_float(10)
for i = 0 to 9
array.set(a, i, close[i])
plot(array.sum(a) / 10)
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.index
(series int) Chỉ số của phần tử được sửa đổi.value
(series <type of the array's elements>
) Giá trị mới được thiết lập.Xem thêm
array.new_float
array.get
array.slice
Chức năng trả về tổng các phần tử của một mảng.
array.sum(id)
Ví dụ
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
Quay lạiTổng số các phần tử của mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.new_float
array.max
array.min
Chức năng trả về số trung bình của các phần tử của mảng.
array.avg(id)
Ví dụ
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
Quay lạiTrung bình các phần tử của mảng.
Các lập luận
id
(int[]/float[]) Một đối tượng mảng.Xem thêm
array.new_float
array.max
array.min
array.stdev
Chức năng trả về chỉ số lần xuất hiện đầu tiên của giá trị, hoặc -1 nếu giá trị không được tìm thấy.
array.indexof(id, value)
Ví dụ
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
Quay lạiChỉ số của một nguyên tố.
Các lập luận
id
(bất kỳ loại mảng) Một đối tượng mảng.value
(series <type of the array's elements>
) Giá trị để tìm kiếm trong mảng.Xem thêm
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
Trong các chức năng tích hợp liên quan đếnstrategy
, các điểm dừng lỗ và điểm lấy lợi nhuận được định nghĩa là số nhân của một giá tăng.profit
vàloss
lập luận củastrategy.exit
chức năng đại diện cho dừng lỗ và lấy lợi nhuận trong điểm và lập luậnprofit
được thiết lập thành 10, đó là giá nhảy được nhân 10 như lợi nhuận lấy chênh lệch, và giá nhảy là biến tích hợpsyminfo.mintick
.
Chức năng đặt một số thuộc tính chiến lược.
Lưu ý rằng chỉtitle
, shorttitle
, overlay
, pyramiding
, default_qty_type
, default_qty_value
Các đối số khác có thể được đặt thông qua các đối số giao diện của chiến lược ngôn ngữ 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)
Ví dụ
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)
Các lập luận
title
(const string) tiêu đề chỉ số sẽ được nhìn thấy trong các chỉ số / chiến lược widget.shorttitle
(const string) chỉ số tiêu đề ngắn mà sẽ được nhìn thấy trong biểu đồ huyền thoại.overlay
(const bool) nếu đúng thì chỉ số sẽ được thêm vào như một lớp phủ cho chuỗi chính. Nếu sai - nó sẽ được thêm vào một ngăn biểu đồ riêng biệt. mặc định là sai.format
precision
scale
pyramiding
(const int) Số lượng tối đa các mục được cho phép theo cùng một hướng. Nếu giá trị là 0, chỉ có một lệnh nhập vào cùng một hướng có thể được mở và các lệnh nhập thêm sẽ bị từ chối. Giá trị mặc định là 0.calc_on_order_fills
(const bool) Tính toán đơn đặt hàng trong thanh thêm một lần. Nếu đối số được đặt thành calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) Xác định giá trị được sử dụng choqty
các giá trị có thể là: strategy.fixed cho các hợp đồng / cổ phần / lô,strategy.cashĐối với số tiền bằng tiền tệ, hoặc strategy.percent_of_equity cho một tỷ lệ phần trăm của vốn chủ sở hữu sẵn có.default_qty_value
(const int/float) Số lượng mặc định để giao dịch trong các hàm strategy.entry hoặc strategy.order khi đối số currency
slippage
commission_type
commission_value
process_orders_on_close
true
, tạo ra một nỗ lực bổ sung để thực hiện lệnh sau khi một thanh đóng và tính toán chiến lược được hoàn thành. Nếu các lệnh là lệnh thị trường, trình mô phỏng môi giới sẽ thực hiện chúng trước khi thanh tiếp theo mở. Nếu các lệnh tùy thuộc vào giá, chúng sẽ chỉ được thực hiện nếu các điều kiện giá được đáp ứng. Tùy chọn này hữu ích nếu bạn muốn đóng các vị trí trên thanh hiện tại. Giá mặc định là close_entries_rule
max_lines_count
max_labels_count
max_boxes_count
margin_long
margin_short
~~ (const int/float) Margin short là tỷ lệ phần trăm của giá mua của một chứng khoán phải được trang trải bằng tiền mặt hoặc thế chấp cho các vị trí ngắn.explicit_plot_zorder
false
.initial_capital
currency
Tùy chọn, mặc định là 1000000.risk_free_rate
Nhận xétMỗi kịch bản chiến lược phải có một cuộc gọi chiến lược. Mã Pine Script sử dụng đối số calc_on_every_tick = true có thể tính toán khác nhau trên dữ liệu lịch sử và thời gian thực. Khi sử dụng các loại biểu đồ phi chuẩn làm cơ sở cho chiến lược, bạn cần nhận ra rằng kết quả sẽ khác nhau. Các lệnh sẽ được thực hiện ở mức giá của biểu đồ này (ví dụ: đối với Heikin Ashi nó sẽ lấy giá Heikin Ashi (mức trung bình) chứ không phải giá thị trường thực tế). Do đó, chúng tôi khuyên bạn nên sử dụng loại biểu đồ tiêu chuẩn cho các chiến lược.
Xem thêm
indicator
Nó là một lệnh để nhập vị trí thị trường. Nếu một lệnh với cùng ID đã đang chờ, có thể sửa đổi lệnh. Nếu không có lệnh với ID được chỉ định, một lệnh mới được đặt. Để vô hiệu hóa lệnh nhập, lệnh strategy.cancel hoặc strategy.cancel_all nên được sử dụng. So với hàm strategy.order, hàm strategy.entry bị ảnh hưởng bởi kim tự tháp và có thể đảo ngược vị trí thị trường một cách chính xác. Nếu cả hai lập luận
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Ví dụ
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
Các lập luận
id
(serial string) Một đối số bắt buộc. Trình nhận dạng đơn đặt hàng. Có thể hủy hoặc sửa đổi một đơn đặt hàng bằng cách tham chiếu đến mã nhận dạng của nó.direction
(strategy_direction) Một lập luận bắt buộc. hướng vị trí thị trường: qty
(series int/float) Một đối số tùy chọn. Số lượng hợp đồng/cổ phiếu/lô/đơn vị được giao dịch. Giá trị mặc định là limit
(series int/float) Một đối số tùy chọn. Giá giới hạn của lệnh. Nếu được chỉ định, loại lệnh là stop
(series int/float) Một đối số tùy chọn. Giá dừng của lệnh. Nếu được chỉ định, loại lệnh là oca_name
oca_type
comment
Một lập luận tùy chọn.when
(series bool) Một đối số tùy chọn. Điều kiện của lệnh. Trật tự được đặt nếu điều kiện là alert_message
(dòng chuỗi) Một đối số tùy chọn thay thế vị trí {{strategy.order.alert_message}} khi nó được sử dụng trong hộp thoại Nó là một lệnh để thoát khỏi mục nhập với ID được chỉ định. Nếu có nhiều lệnh nhập với cùng một ID, tất cả chúng đều được thoát cùng một lúc. Nếu không có mục nhập mở với ID được chỉ định vào thời điểm lệnh được kích hoạt, lệnh sẽ không có hiệu lực. lệnh sử dụng lệnh thị trường. Mỗi mục nhập được đóng bằng một lệnh thị trường riêng biệt.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
Ví dụ
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)
Các lập luận
id
(serial string) Một đối số bắt buộc. Trình nhận dạng lệnh. Có thể đóng lệnh bằng cách tham chiếu đến mã nhận dạng của nó.when
Một đối số tùy chọn. Điều kiện của lệnh.qty
(series int/float) Một đối số tùy chọn. Số lượng hợp đồng/cổ phiếu/lots/unit để thoát khỏi giao dịch. Giá trị mặc định là qty_percent
(series int/float) Định nghĩa tỷ lệ phần trăm (0-100) của vị trí để đóng. Ưu tiên của nó thấp hơn so với đối số comment
Một lập luận tùy chọn.alert_message
(dòng chuỗi) Một đối số tùy chọn thay thế vị trí {{strategy.order.alert_message}} khi nó được sử dụng trong hộp thoại Ra khỏi vị trí thị trường hiện tại, làm cho nó bằng phẳng.
strategy.close_all(when, comment, alert_message)
Ví dụ
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)
Các lập luận
when
Một đối số tùy chọn. Điều kiện của lệnh.comment
Một lập luận tùy chọn.alert_message
(dòng chuỗi) Một đối số tùy chọn thay thế vị trí {{strategy.order.alert_message}} khi nó được sử dụng trong hộp thoại Nó là một lệnh để thoát khỏi một mục nhập cụ thể, hoặc toàn bộ vị trí thị trường. Nếu một lệnh với cùng một ID đã đang chờ, có thể sửa đổi lệnh. Nếu một lệnh nhập chưa được điền, nhưng một lệnh xuất được tạo ra, lệnh xuất sẽ chờ cho đến khi lệnh nhập được điền và sau đó lệnh xuất được đặt. Để vô hiệu hóa lệnh xuất, lệnh strategy.cancel hoặc strategy.cancel_all nên được sử dụng. Nếu chức năngstrategy.exitNếu bạn muốn thoát nhiều lần, lệnhstrategy.exitNếu bạn sử dụng lệnh stop loss và trailing stop, kiểu lệnh của họ là
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)
Ví dụ
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"
Các lập luận
id
(serial string) Một đối số bắt buộc. Trình nhận dạng đơn đặt hàng. Có thể hủy hoặc sửa đổi một đơn đặt hàng bằng cách tham chiếu đến mã nhận dạng của nó.from_entry
(series string) Một đối số tùy chọn. Mã nhận dạng của một lệnh nhập cụ thể để thoát khỏi nó. Để thoát khỏi tất cả các mục nhập nên sử dụng một chuỗi trống. Các giá trị mặc định là chuỗi trống.qty
(series int/float) Một đối số tùy chọn. Số lượng hợp đồng/cổ phiếu/lots/unit để thoát khỏi giao dịch. Giá trị mặc định là qty_percent
(series int/float) Định nghĩa tỷ lệ phần trăm của (0-100) vị trí để đóng. Ưu tiên của nó thấp hơn so với đối số profit
(series int/float) Một đối số tùy chọn. Mục tiêu lợi nhuận (được chỉ định bằng dấu chấm). Nếu được chỉ định, một lệnh giới hạn được đặt để thoát khỏi vị trí thị trường khi đạt được số tiền lợi nhuận (được chỉ định bằng dấu chấm). Giá trị mặc định là limit
(series int/float) Một đối số tùy chọn. Mục tiêu lợi nhuận (yêu cầu một mức giá cụ thể). Nếu được chỉ định, lệnh giới hạn được đặt để thoát khỏi vị trí thị trường ở mức giá đã chỉ định (hoặc tốt hơn). loss
(series int/float) Một đối số tùy chọn. Stop loss (được chỉ định bằng dấu chấm). Nếu được chỉ định, lệnh dừng được đặt để thoát khỏi vị trí thị trường khi đạt đến số tiền mất mát (được chỉ định bằng dấu chấm). Giá trị mặc định là stop
(series int/float) Một đối số tùy chọn. Stop loss (yêu cầu một mức giá cụ thể). Nếu được chỉ định, lệnh dừng được đặt để thoát khỏi vị trí thị trường ở mức giá đã chỉ định (hoặc tệ hơn). Người ăn xinTại sao chiến lược quảng trường sao chép chiến lược của Pine không thể thực hiện
Những nhà phát minh định lượng - những giấc mơ nhỏĐược rồi, chúng ta kiểm tra xem.
Người ăn xinTheo dõi xu hướng được tối ưu hóa của Zhang Giang
Những nhà phát minh định lượng - những giấc mơ nhỏXin chào, tôi muốn hỏi chiến lược cụ thể của bạn là gì?