Trả về giá trịSố trung bình của các phần tử mảng.
Các tham số
id
(int[]/float[]) đối tượng mảng.Hẹn gặp lại
array.avg
array.variance
array.min
Chức năng này trả về mô hình của các phần tử trong mảng. Nếu có nhiều giá trị có cùng tần số, nó trả về giá trị tối thiểu.
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))
Trả về giá trịMô hình của các phần tử mảng.
Các tham số
id
(int[]/float[]) đối tượng mảng.Hẹn gặp lại
array.new_float
array.avg
array.variance
array.min
Trả về phần trăm được chỉ định của giá trị số ít hơn hoặc bằng giá trị của nó, sử dụng các giá trị chèn tuyến tính.
array.percentile_linear_interpolation(id, percentage)
Các tham số
id
(int[]/float[]) đối tượng mảng.percentage
(series int/float) phải bằng hoặc nhỏ hơn tỷ lệ phần trăm của giá trị được trả về.Nhận xétTrong số liệu 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 ở một điểm số hoặc dưới một điểm số. Đo lường này cho thấy tỷ lệ phần trăm trong phân phối tần số tiêu chuẩn thấp hơn so với tỷ lệ phần trăm mà bạn đo. Đánh giá giá trị giữa hai thứ hạng.
Hẹn gặp lại
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Sử dụng phương pháp sắp xếp gần nhất để trả về giá trị của một số phần trăm được chỉ định ít hơn hoặc bằng giá trị của nó.
array.percentile_nearest_rank(id, percentage)
Các tham số
id
(int[]/float[]) đối tượng mảng.percentage
(series int/float) phải bằng hoặc nhỏ hơn tỷ lệ phần trăm của giá trị được trả về.Nhận xétTrong số liệu 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 ở một điểm số hoặc dưới một điểm số. Đo lường này cho thấy tỷ lệ phần trăm trong phân bố tần số tiêu chuẩn thấp hơn so với thứ hạng phần trăm mà bạn đang đo.
Hẹn gặp lại
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Trả về tỷ lệ phần trăm của giá trị trung bình của mảng.
array.percentrank(id, index)
Các tham số
id
(int[]/float[]) đối tượng mảng.index
(series int) tính giá trị thứ hạng phần trăm của nó.Nhận xétSố 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.
Hẹn gặp lại
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Chức năng này trả về sự khác biệt giữa giá trị tối thiểu và giá trị tối đa của 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))
Trả về giá trịSự khác biệt giữa giá trị nhỏ nhất và giá trị lớn nhất trong các mảng.
Các tham số
id
(int[]/float[]) đối tượng mảng.Hẹn gặp lại
array.new_float
array.min
array.max
array.sum
Chức năng này thay đổi nội dung của mảng bằng cách xóa các phần tử có chỉ mục đượ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)
Trả về giá trịGiá trị của phần tử bị xóa.
Các tham số
id
(any array type) đối tượng mảng.index
(series int) chỉ mục các phần tử cần xóa.Hẹn gặp lại
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
Chức năng này đảo ngược mảng. Các phần tử đầu tiên của mảng trở thành phần tử cuối cùng và các phần tử cuối cùng của mả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 tham số
id
(any array type) đối tượng mảng.Hẹn gặp lại
array.new_float
array.sort
array.push
array.set
array.avg
Chức năng này sử dụng một số tham số biến của một trong các loại sau: int, float, boolean, string, line, color, linefill, và trả về một mảng có kiểu 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)
Trả về giá trịGiá trị của các phần tử mảng.
Các tham số
arg0, arg1, ...
(series int/float/bool/color/string/line/linefill) Các tham số của mảng.Chức năng này tạo ra một<type>
Các đối tượng số nguyên tố.
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)
Trả về giá trịChức năng ID của các đối tượng ma trận có thể được sử dụng cùng với các ma trận khác.
Các tham số
size
Kích thước ban đầu của (series int) 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, hãy sử dụng hàm array.from.
Hẹn gặp lại
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
Chức năng này tạo ra một đối tượng mảng mới gồm các phần tử loại boolean.
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)
Trả về giá trịChức năng ID của các đối tượng ma trận có thể được sử dụng cùng với các ma trận khác.
Các tham số
size
Kích thước ban đầu của (series int) là 0.initial_value
(series bool) Giá trị ban đầu của tất cả các phần tử hàng loạt↑ tùy chọn↑ giá trị mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Hẹn gặp lại
array.new_float
array.get
array.slice
array.sort
Chức năng này tạo ra một đối tượng mới của mảng các phần tử nổi.
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)
Trả về giá trịChức năng ID của các đối tượng ma trận có thể được sử dụng cùng với các ma trận khác.
Các tham số
size
Kích thước ban đầu của (series int) là 0.initial_value
(series int/float) Giá trị ban đầu của tất cả các phần tử trong chuỗi.Nhận xétChỉ số mảng bắt đầu từ 0.
Hẹn gặp lại
array.new_bool
array.get
array.slice
array.sort
Chức năng này tạo ra một đối tượng mảng mới gồm các phần tử thuộc 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)
Trả về giá trịChức năng ID của các đối tượng ma trận có thể được sử dụng cùng với các ma trận khác.
Các tham số
size
Kích thước ban đầu của (series int) là 0.initial_value
(series int) Giá trị ban đầu của tất cả các phần tử hàng loạt↑ tùy chọn↑ giá trị mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Hẹn gặp lại
array.new_float
array.get
array.slice
array.sort
Chức năng này tạo ra các đối tượng mới trong một mảng với một kiểu string.
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))
Trả về giá trịChức năng ID của các đối tượng ma trận có thể được sử dụng cùng với các ma trận khác.
Các tham số
size
Kích thước ban đầu của (series int) là 0.initial_value
(series string) Giá trị ban đầu của tất cả các phần tử hàng loạt↑ tùy chọn↑ giá trị mặc định là Nhận xétChỉ số mảng bắt đầu từ 0.
Hẹn gặp lại
array.new_float
array.get
array.slice
Chức năng này trả về giá trị của các phần tử chỉ định trong chỉ mục.
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))
Trả về giá trịGiá trị của các phần tử mảng.
Các tham số
id
(any array type) đối tượng mảng.index
(series int) là chỉ mục của các phần tử để trả về giá trị của chúng.Hẹn gặp lại
array.new_float
array.set
array.slice
array.sort
Chức năng này thêm một giá trị vào 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 tham số
id
(any array type) đối tượng mảng.value
(series <type of the array's elements>
) thêm vào giá trị phần tử cuối mảng.Hẹn gặp lại
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Chức năng này đặt giá trị của các phần tử thành chỉ mục đượ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 tham số
id
(any array type) đối tượng mảng.index
(series int) chỉ mục của các phần tử cần sửa đổi.value
(series <type of the array's elements>
) Đặt giá trị mới.Hẹn gặp lại
array.new_float
array.get
array.slice
Chức năng này trả về tổng các phần tử trong 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))
Trả về giá trịTổng số các phần tử của mảng.
Các tham số
id
(int[]/float[]) đối tượng mảng.Hẹn gặp lại
array.new_float
array.max
array.min
Chức năng này trả về giá trị trung bình của các phần tử trong 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))
Trả về giá trịGiá trị trung bình của các phần tử mảng.
Các tham số
id
(int[]/float[]) đối tượng mảng.Hẹn gặp lại
array.new_float
array.max
array.min
array.stdev
Chức năng này trả về chỉ mục mà giá trị xuất hiện lần đầu tiên. Nếu không tìm thấy giá trị này, nó trả về -1.
array.indexof(id, value)
Ví dụ
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
Trả về giá trịChỉ mục của các yếu tố.
Các tham số
id
(any array type) đối tượng mảng.value
(series <type of the array's elements>
) Giá trị được tìm kiếm trong mảng.Hẹn gặp lại
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
Trongstrategy
Trong các hàm tích hợp liên quan, số điểm dừng, số điểm dừng được định nghĩa là số lần tăng giá một lần; ví dụ:strategy.exit
Các hàmprofit
、loss
Các tham số được đánh dấu bằng dấu chấm.profit
Đặt giá thành là 10, tức là giá tăng gấp 10 lần giá giảm giá, giá tăng là biến cố tích hợpsyminfo.mintick
。
Chức năng này đặt nhiều thuộc tính chính sách.
Lưu ý, thông tin chỉ hỗ trợtitle
,shorttitle
,overlay
,pyramiding
,default_qty_type
,default_qty_value
Các tham số khác có thể được đặt bằng các tham số giao diện của chính sách 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 tham số
title
(const string) sẽ hiển thị tiêu đề của chỉ số được nhìn thấy trong plugin chỉ số / chính sách.shorttitle
(const string) sẽ hiển thị tiêu đề ngắn của các chỉ số được nhìn thấy trong hình ảnh biểu đồ. Các tham số là tùy chọn.overlay
(const bool) Nếu true, chỉ số này sẽ được thêm vào lớp chồng trên của chuỗi chính. Nếu false - nó sẽ được thêm vào khung biểu đồ riêng lẻ.format
precision
scale
pyramiding
(const int) Số lượng tối đa cho phép trong 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à bất kỳ lệnh nhập nào khác sẽ bị từ chối.calc_on_order_fills
calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) được xác định choqty
Giá trị của tham số được thể hiện trong các hàm strategy.entry hoặc strategy.order. Các giá trị có thể là: strategy.fixed cho phép giao dịch / cổ phiếu / số tay, strategy.cash cho phép số tiền, hoặc strategy.percent_of_equity cho phép tỷ lệ lợi nhuận có sẵn.default_qty_value
(const int/float) Số lượng giao dịch mặc định của các hàm strategy.entry hoặc strategy.order, được xác định bởi các tham số được sử dụng cùng với tham số 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
Nhận xétMỗi kịch bản chiến lược phải có một strategy call. Mã PineScript sử dụng tham số calc_on_every_tick = true để thực hiện các tính toán khác nhau đối với các bản ghi lịch sử và dữ liệu thời gian thực. Khi sử dụng biểu đồ loại phi chuẩn làm cơ sở cho chiến lược, bạn cần biết rằng kết quả sẽ khác nhau. Trách nhiệm sẽ được thực hiện ở mức giá của bảng đó (ví dụ: for Heikin Ashi sẽ sử dụng giá Heikin Ashi (trung bình) chứ không phải là mức giá thị trường thực sự). Do đó, chúng tôi khuyên bạn nên sử dụng kiểu biểu đồ chuẩn trong chiến lược của mình.
Hẹn gặp lại
indicator
Đây là lệnh vào thị trường. Nếu lệnh có cùng ID đã được treo, bạn có thể sửa đổi lệnh. Nếu lệnh không có ID được chỉ định, lệnh mới sẽ được đưa ra. Để ngừng lệnh vào, bạn nên sử dụng lệnh strategy.cancel hoặc strategy.cancel_all. Trong khi đó, các chức năng chiến lược.entry có thể đảo ngược đúng vị trí thị trường do ảnh hưởng của kim tự tháp.
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 tham số
id
(series string) Các tham số cần thiết. Các mã nhận dạng đơn đặt hàng. Bạn có thể hủy hoặc sửa đổi đơn đặt hàng bằng cách tham khảo mã của nó.direction
(strategy_direction) Một tham số cần thiết. Hướng thị trường nắm giữ:'strategy.long con số nhiều đầu','strategy.short con số không đầu'.qty
(series int/float) Các tham số có thể chọn được. Các hợp đồng/số cổ phần/số tay/số đơn vị giao dịch. Định giá mặc định là limit
(series int/float) Các tham số có thể lựa chọn. Giá giới hạn của lệnh. Nếu đã được chỉ định, kiểu lệnh là "limit" hoặc "stop-limit". Các loại lệnh khác là "NaN".stop
(series int/float) Các tham số có thể lựa chọn. Giá dừng lỗ của lệnh. Nếu đã được chỉ định, kiểu lệnh là "stop" hoặc "stop-limit". Các loại lệnh khác là "NaN".oca_name
oca_type
comment
(series string) Các tham số có thể chọn.when
(series bool) Các tham số có thể lựa chọn. Tình trạng của lệnh. Nếu đúng, lệnh được đặt. Nếu sai, không có gì xảy ra.alert_message
(series string) Một tham số có thể chọn khi sử dụng ký tự {{strategy.order.alert_message}} trong hộp thoại báo động.Đây là một lệnh cho lệnh thoát với ID được chỉ định. Nếu có nhiều lệnh nhập với ID giống nhau, chúng sẽ cùng rút đi. Nếu lệnh không được chỉ định ID mở khi kích hoạt, lệnh sẽ không hiệu lực.
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 tham số
id
(series string) Các tham số cần thiết. Các mã nhận dạng đơn đặt hàng. Bạn có thể đóng đơn đặt hàng bằng cách tham khảo mã của nó.when
(series bool) Các tham số có thể chọn. Điều kiện của lệnh.qty
(series int/float) Các tham số có thể lựa chọn. Số lượng hợp đồng/số cổ phần/số tay/đơn vị rút khỏi giao dịch. Giá cả mặc định là qty_percent
(series int/float) xác định tỷ lệ phần trăm của ngang hàng ((0-100)). Nó có ưu tiên thấp hơn ưu tiên của tham số comment
(series string) Các tham số có thể chọn.alert_message
(series string) Một tham số có thể chọn khi sử dụng ký tự {{strategy.order.alert_message}} trong hộp thoại báo động.Trong khi đó, các nhà đầu tư khác cũng cho biết họ sẽ rút khỏi thị trường hiện tại để giữ nguyên thị trườ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 tham số
when
(series bool) Các tham số có thể chọn. Điều kiện của lệnh.comment
(series string) Các tham số có thể chọn.alert_message
(series string) Một tham số có thể chọn khi sử dụng ký tự {{strategy.order.alert_message}} trong hộp thoại báo động.Đây là một lệnh thoát chỉ định nhập hoặc toàn bộ vị trí thị trường. Nếu lệnh có cùng ID đã được treo, bạn có thể sửa đổi lệnh. Nếu lệnh không được thực hiện, nhưng lệnh rút xuất hiện, lệnh rút sẽ được tạm dừng cho đến khi người sau lệnh nhập được thực hiện. Để dừng lệnh rút, bạn nên sử dụng lệnh strategy.cancel hoặc strategy.cancel_all. Nếu hàm strategy.exit được gọi một lần, bạn sẽ chỉ rút một lần.应该多次调用命令strategy.exitNếu bạn sử dụng stop loss và track stop loss, kiểu lệnh của nó là stop stop và chỉ một trong số đó sẽ được đặt (sẽ được giao dịch trước). Nếu tất cả các tham số sau đây là stop profit, stop limit, stop loss, stop trail, stop trail_points và stop trail_offset, lệnh sẽ thất bại.
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 tham số
id
(series string) Các tham số cần thiết. Các mã nhận dạng đơn đặt hàng. Bạn có thể hủy hoặc sửa đổi đơn đặt hàng bằng cách tham khảo mã của nó.from_entry
(series string) Các tham số có thể lựa chọn được. Để chỉ định mã thông báo nhập lệnh, hãy thoát khỏi. Để thoát khỏi tất cả các vị trí, hãy sử dụng một chuỗi trống.qty
(series int/float) Các tham số có thể lựa chọn. Số lượng hợp đồng/số cổ phần/số tay/đơn vị rút khỏi giao dịch. Giá cả mặc định là qty_percent
(series int/float) xác định tỷ lệ phần trăm của ngang hàng ((0-100)). Nó có ưu tiên thấp hơn ưu tiên của tham số profit
(series int/float) Các tham số có thể chọn. Mục tiêu lợi nhuận (được đánh dấu bằng dấu chấm). Nếu đã được chỉ định, khi đạt đến mức lợi nhuận (được đánh dấu bằng dấu chấm), lệnh thoát khỏi thị trường với lệnh giới hạn.limit
(series int/float) Các tham số có thể chọn được. Mục tiêu lợi nhuận (cần chỉ định giá) Nếu đã được chỉ định, hãy thoát khỏi vị trí thị trường với giá chỉ định (hoặc tốt hơn). Các tham số của hàm giới hạn được ưu tiên cao hơn so với các tham số của hàm lợi nhuận (nếu không phải hàm NaN, thì hàm giới hạn được thay thế cho hàm lợi nhuận).loss
(series int/float) Các tham số có thể lựa chọn. Dừng lỗ (được đánh dấu bằng dấu chấm) Nếu đã được chỉ định, khi đạt đến mức lỗ (được đánh dấu bằng dấu chấm) thì thoát khỏi thị trường bằng lệnh dừng lỗ.stop
(series int/float) Tùy chọn các tham số: ◎ dừng lỗ (cần chỉ định giá) ◎ nếu đã chỉ định, sẽ thoát khỏi vị trí thị trường ở mức giá được chỉ định (hoặc tệ hơn) ◎ các tham số: ◎ dừng lỗ có ưu tiên cao hơn so với các tham số: ◎ giảm lỗ ◎ nếu không có giá trị: ◎ NaNtrail_price
(series int/float) Các tham số có thể chọn. Các mức kích hoạt stop-loss theo dõi (cần chỉ định giá). Nếu được chỉ định, các mức dừng theo dõi sẽ được đặt khi đạt đến mức giá được chỉ định. Trong tham số stop-loss theo dõi (series int/float) chỉ định độ lệch để xác định giá ban đầu của stop-loss theo dõi (được tính bằng điểm số): X điểm thấp hơn mức kích hoạt để thoát nhiều đầu; X điểm cao hơn mức kích hoạt để thoát không đầu.trail_points
(series int/float) Các tham số có thể chọn;; theo dõi mức kích hoạt dừng lỗ (được biểu thị bằng dấu chấm lợi nhuận);; nếu được chỉ định, sẽ đặt lệnh dừng theo dõi khi đạt đến mức giá đã tính toán (được biểu thị bằng số tiền lợi nhuận); trong tham số đường mòn_offset, chỉ định độ lệch để xác định giá ban đầu của lệnh dừng lỗ (được biểu thị bằng dấu chấm): X thấp hơn mức kích hoạt để thoát nhiều đầu; X cao hơn mức kích hoạt để thoát không đầu;; mặc định là NaN NaN).trail_offset
(series int/float) Các tham số có thể chọn được. Nồng độ kích hoạt stop-loss theo dõi (được biểu thị bằng dấu chấm). Độ lệch theo dấu chấm được sử dụng để xác định giá ban đầu của đơn lệnh stop-loss theo dõi: X điểm thấp hơn dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu trail_price hoặc dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu trail_points để thoát khỏi nhiều đầu; X điểm cao hơn dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu trail_price hoặc dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu dấu chấm để thoát khỏi không đầu.oca_name
comment
(series string) Các tham số có thể chọn.when
(series bool) Các tham số có thể lựa chọn. Tình trạng của lệnh. Nếu đúng, lệnh được đặt. Nếu sai, không có gì xảy ra.alert_message
(series string) Một tham số có thể chọn khi sử dụng ký tự {{strategy.order.alert_message}} trong hộp thoại báo động.Đây là một danh từ tham chiếu để hủy / ngừng sử dụng tất cả các lệnh trên danh sách dự bị, được tạo bởi các chức năng sau:strategy.exit。
strategy.cancel(id, when)
Ví dụ
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
Các tham số
id
(series string) Chọn các tham số. Biểu tượng đặt hàng. Xác định biểu tượng này để hủy một đơn đặt hàng.when
(series bool) Các tham số có thể chọn được. hủy một lệnh dựa trên ID. Nếu đúng, lệnh sẽ bị hủy. giá trị mặc định là đúng.这是取消/停用所有预挂单命令,由以下功能生成:strategy.order,strategy.entry和strategy.exit。
strategy.cancel_all(when)
Ví dụ
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
Các tham số
when
(series bool) Các tham số có thể chọn được. ⇒ Loại bỏ tất cả các điều kiện lệnh. ⇒ Nếu điều kiện là đúng, tất cả các lệnh hoạt động sẽ bị hủy. ⇒ Định giá mặc định là Đây là lệnh đặt hàng tiếp theo. Nếu lệnh có cùng ID đã được treo, bạn có thể sửa đổi lệnh. Nếu lệnh không có ID được chỉ định, một lệnh mới sẽ được đưa ra. Để dừng lệnh, bạn nên sử dụng lệnh strategy.cancel hoặc strategy.cancel_all. Trong khi tương tự như hàm strategy.entry, hàm strategy.order không bị ảnh hưởng bởi hình dạng kim tự tháp.
strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Ví dụ
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
Các tham số
id
(series string) Các tham số cần thiết. Các mã nhận dạng đơn đặt hàng. Bạn có thể hủy hoặc sửa đổi đơn đặt hàng bằng cách tham khảo mã của nó.direction
(strategy_direction) Một tham số cần thiết. Định hướng lệnh:'strategy.long trục để mua','strategy.short trục để bán'.qty
(series int/float) Các tham số có thể chọn được. Các hợp đồng/số cổ phần/số tay/số đơn vị giao dịch. Định giá mặc định là limit
(series int/float) Các tham số có thể lựa chọn. Giá giới hạn của lệnh. Nếu đã được chỉ định, kiểu lệnh là "limit" hoặc "stop-limit". Các loại lệnh khác là "NaN".stop
(series int/float) Các tham số có thể lựa chọn. Giá dừng lỗ của lệnh. Nếu đã được chỉ định, kiểu lệnh là "stop" hoặc "stop-limit". Các loại lệnh khác là "NaN".oca_name
oca_type
comment
(series string) Các tham số có thể chọn.when
(series bool) Các tham số có thể lựa chọn. Tình trạng của lệnh. Nếu đúng, lệnh được đặt. Nếu sai, không có gì xảy ra.alert_message
(series string) Một tham số có thể chọn khi sử dụng ký tự {{strategy.order.alert_message}} trong hộp thoại báo động.Trả về bar_index của giao dịch chưa trục trặc.
strategy.opentrades.entry_bar_index(trade_num)
Chờ 10 đường K và ngang hàng
Ví dụ
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")
Các tham số
trade_num
(series int) Số giao dịch chưa được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.entry_bar_index
strategy.closedtrades.exit_bar_index
Trả về ID nhập vào giao dịch chưa được thanh toán.
strategy.opentrades.entry_id(trade_num)
Ví dụ
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))
Trả về giá trịTrả về ID nhập vào giao dịch chưa được thanh toán.
Các tham số
trade_num
(series int) Số giao dịch chưa được thanh toán. Số giao dịch đầu tiên là 0.Nhận xétNếu trade_num không nằm trong phạm vi, thì hàm này trả về na:0 đến strategy.opentrades−1.
Hẹn gặp lại
strategy.opentrades.entry_bar_index
strategy.opentrades.entry_time
Trả về giá đầu vào của các giao dịch chưa được thanh toán.
strategy.opentrades.entry_price(trade_num)
Ví dụ
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")
Tính toán giá trung bình không được cân bằng
Ví dụ
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())
Các tham số
trade_num
(series int) Số giao dịch chưa được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.exit_price
Trả về thời gian UNIX khi giao dịch không được hòa vốn.
strategy.opentrades.entry_time(trade_num)
Ví dụ
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")
Các tham số
trade_num
(series int) Số giao dịch chưa được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
Trả về lợi nhuận và lỗ của giao dịch không được cân bằng.
strategy.opentrades.profit(trade_num)
Quay lại lợi nhuận của giao dịch đầu tư cuối cùng
Ví dụ
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")
Tính toán lợi nhuận của tất cả các giao dịch chưa được thanh toán
Ví dụ
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")
Các tham số
trade_num
(series int) Số giao dịch chưa được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
Trả về hướng giao dịch và số lượng hợp đồng trong giao dịch không được cân bằng. Nếu giá trị > 0, thì vị trí thị trường là nhiều đầu. Nếu giá trị < 0, thì vị trí thị trường là trống.
strategy.opentrades.size(trade_num)
Ví dụ
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")
Tính toán tỷ lệ phần trăm lợi nhuận trung bình của các giao dịch không được cân bằng
Ví dụ
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)
Các tham số
trade_num
(series int) Số giao dịch chưa được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
Trả về bar_index của giao dịch đã được giao dịch.
strategy.closedtrades.entry_bar_index(trade_num)
Ví dụ
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())
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
Trả về giá khởi điểm của giao dịch đã được thanh toán.
strategy.closedtrades.exit_price(trade_num)
Ví dụ
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")
Tính toán tỷ lệ phần trăm lợi nhuận trung bình của tất cả các giao dịch đã được giao dịch
Ví dụ
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)
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.entry_price
Trả về bar_index đã thoát khỏi giao dịch sàn giao dịch.
strategy.closedtrades.exit_bar_index(trade_num)
Ví dụ
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")
Tính toán số lượng đường K trung bình cho mỗi giao dịch.
Ví dụ
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())
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
bar_index
Trả về id nhập vào giao dịch đã được giao dịch.
strategy.closedtrades.entry_id(trade_num)
Ví dụ
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))
Trả về giá trịTrả về id nhập vào giao dịch đã được giao dịch.
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Nhận xétNếu trade_num không nằm trong phạm vi, thì hàm này trả về na:0 đến strategy.closedtrades−1.
Hẹn gặp lại
strategy.closedtrades.entry_bar_index
strategy.closedtrades.entry_time
Trả về giá đầu vào của giao dịch đã được thanh toán.
strategy.closedtrades.entry_price(trade_num)
Ví dụ
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")
Tính toán tỷ lệ phần trăm lợi nhuận trung bình của tất cả các giao dịch đã được giao dịch
Ví dụ
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)
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
Trở lại thời gian UNIX khi giao dịch đã được thanh toán.
strategy.closedtrades.entry_time(trade_num)
Ví dụ
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")
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
Trả về lợi nhuận và lỗ của giao dịch đã được thanh toán.
strategy.closedtrades.profit(trade_num)
Ví dụ
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")
Các tham số
trade_num
(series int) Số giao dịch đã được thanh toán. Số giao dịch đầu tiên là 0.Hẹn gặp lại
strategy.opentrades.profit
strategy.closedtrades.commission
Trả về hướng giao dịch và số lượng hợp đồng trong giao dịch đã được thanh toán. Nếu giá trị > 0, thì vị trí thị trường là nhiều đầu. Nếu giá trị < 0, thì vị trí thị trường là trống.
strategy.closedtrades.size(trade_num)
Ví dụ
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")
Tính toán tỷ lệ phần trăm lợi nhuận trung bình của giao dịch sàn giao dịch
Ví dụ
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
ồ ôiLàm thế nào để có nhiều giao dịch đồng thời với một hợp đồng Bitcoin?
Những đám mây nhẹXin vui lòng cho tôi biết, pine có thể giao dịch nhiều lần không? Và cũng có thể giao dịch xuyên suốt như JS không?
Lisa20231Xin cảm ơn vì đã cung cấp các tài liệu chi tiết.
nghệ thuậtWow! Làm thế nào để Pine Script sử dụng OKEX trên nền tảng này?
nghệ thuậtĐiều này đồng nghĩa với việc các chiến lược của nền tảng tradingview được sao chép trực tiếp vào nền tảng của nhà phát minh để sử dụng!
Những nhà phát minh định lượng - những giấc mơ nhỏNgôn ngữ PINE chỉ có thể thực hiện các chính sách một giống, nhiều giống là tốt nhất hoặc viết thiết kế bằng python, javascript, c ++.
Những nhà phát minh định lượng - những giấc mơ nhỏỒ, vâng, OKX là khá đặc biệt, môi trường tương tự của họ và môi trường thực của họ là cùng một địa chỉ, chỉ có một sự khác biệt ở nơi khác. Vì vậy, không có cách nào để chuyển đổi địa chỉ cơ sở để chuyển sang ổ đĩa tương tự.
Những đám mây nhẹKhông thể sử dụng okx analog dial............
Những nhà phát minh định lượng - những giấc mơ nhỏVấn đề kiến trúc đa dạng này không được giải quyết tốt, vì mỗi giao dịch giao diện khác nhau và không giới hạn tần số giao diện khác nhau, sẽ gây ra nhiều vấn đề.
Những nhà phát minh định lượng - những giấc mơ nhỏĐược rồi, cảm ơn các bạn đã đưa ra đề xuất, hãy báo cáo yêu cầu này nhé.
Những đám mây nhẹCảm thấy tốt hơn khi được kết hợp với JS, JS có thể thích nghi tốt hơn với nhiều cách giao dịch.
Người săn xu hướngBạn có nghĩ đến nhiều giống trong tương lai không?
Những nhà phát minh định lượng - những giấc mơ nhỏKhông lịch sự.
Những đám mây nhẹTốt, cảm ơn bạn rất nhiều.
Những nhà phát minh định lượng - những giấc mơ nhỏXin chào, tạm thời, chính sách ngôn ngữ PINE chỉ có thể làm một giống.
Những nhà phát minh định lượng - những giấc mơ nhỏXin cảm ơn vì sự ủng hộ của bạn.
Những nhà phát minh định lượng - những giấc mơ nhỏCó, có.
Những nhà phát minh định lượng - những giấc mơ nhỏPINE Template Library, các tham số có thể được thiết lập để chuyển đổi địa chỉ cơ sở của sàn giao dịch.