FMZ PINE Script Doc

Tác giả:Giấc mơ nhỏ, Tạo: 2022-04-28 16:05:05, Cập nhật: 2024-02-27 16:56:23

là barmerge.gaps_off.

  • lookahead(barmerge_lookahead) Chiến lược sáp nhập cho vị trí dữ liệu được yêu cầu. Các giá trị có thể: barmerge.lookahead_on, barmerge.lookahead_off. Giá trị mặc định là barmerge.lookahead_off bắt đầu từ phiên bản 3. Lưu ý rằng hành vi giống nhau trong thời gian thực và chỉ khác nhau trên lịch sử.
  • ignore_invalid_symbol(const bool) Một đối số tùy chọn. Xác định hành vi của hàm nếu biểu tượng được chỉ định không được tìm thấy: nếu không đúng, kịch bản sẽ dừng lại và trả lại lỗi thời gian chạy; nếu đúng, hàm sẽ trả lại na và thực thi sẽ tiếp tục. Giá trị mặc định là sai.
  • currency(simple string) Tiền tệ mà các giá trị liên quan đến tiền tệ của ký hiệu (ví dụ OHLC) sẽ được chuyển đổi.expressionsau đó được tính dựa trên các giá trị chuyển đổi. Tỷ lệ chuyển đổi được sử dụng dựa trên các cặp FX_IDC tỷ lệ hàng ngày của ngày trước (so với thanh mà tính toán được thực hiện). Tùy chọn. mặc định là syminfo.currency. Các giá trị có thể: một chuỗi ba chữ cái với mã tiền tệ theo định dạng ISO 4217 (ví dụ: USD) hoặc một trong những hằng số trong không gian tên tiền tệ.*, ví dụ: currency.USD.

Nhận xétMã PineScript sử dụng chức năng này có thể tính toán khác nhau trên dữ liệu lịch sử và thời gian thực. Nếu bạn muốn xác định các đối số bổ sung cho biểu tượng được yêu cầu, ví dụ như phiên hoặc loại điều chỉnh, bạn có thể sử dụngticker.new() chức năng. Không thể truyền một phân bố cho hàm này bằng cách sử dụng biến ticker. Bạn có thể sử dụngticker.new biến hoặc biểu diễn chuỗi của ticker, ví dụ: AAPL+MSFT*TSLA. Hiện tại, có thể có tới 40 cuộc gọi request.security trong một kịch bản. Xin lưu ý rằng việc sử dụng biến/chức năng này có thể gây ra việc sơn lại chỉ số. Các giá trị cho phép của đối số giải quyết là: 1S, 5S, 15S, 30S - cho các khoảng thời gian giây (phân giải biểu đồ nên nhỏ hơn hoặc bằng với độ phân giải yêu cầu) từ 1 đến 1440 cho phút từ 1D đến 365D trong ngày từ 1W đến 52W trong vài tuần từ 1M đến 12M trong nhiều thángXem thêm syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

Trả về đúng nếusourcechuỗi chứa cácstrSubstring, sai nếu không.

str.contains(source, str)

Ví dụ

// If the current chart is a continuous futures chart, e.g "BTC1!", then the function will return true, false otherwise.
var isFutures = str.contains(syminfo.tickerid, "!")
plot(isFutures ? 1 : 0)

Quay lạiĐúng nếustrđược tìm thấy trongsourcestring, sai nếu không.

Các lập luận

  • source(serial string) nguồn string.
  • str(serial string) Dòng chuỗi phụ để tìm kiếm.

Xem thêm str.pos str.match

str.endswith

Trả về đúng nếusourcechuỗi kết thúc với chuỗi con được chỉ định trongstrNếu không thì sai.

str.endswith(source, str)

Quay lạiĐúng nếusourcechuỗi kết thúc với chuỗi con được chỉ định trongstrNếu không thì sai.

Các lập luận

  • source(serial string) nguồn string.
  • str(serial string) Dòng chuỗi phụ để tìm kiếm.

Xem thêm str.startswith

str.startswith

Trả về đúng nếusourcechuỗi bắt đầu với chuỗi con được chỉ định trongstrNếu không thì sai.

str.startswith(source, str)

Quay lạiĐúng nếusourcechuỗi bắt đầu với chuỗi con được chỉ định trongstrNếu không thì sai.

Các lập luận

  • source(serial string) nguồn string.
  • str(serial string) Dòng chuỗi phụ để tìm kiếm.

Xem thêm str.endswith

str.substring

Trả về một chuỗi mới là một chuỗi con củasourceCác substring bắt đầu với các ký tự tại chỉ mục được chỉ định bởibegin_posvà mở rộng đến end_pos - 1 củasource string.

str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)

Ví dụ

sym= "EXCHANGE_NAME:SYMBOL_NAME"
pos = str.pos(sym, ":")        // Get position of ":" character
tkr= str.substring(sym, pos+1) // "SYMBOL_NAME"
if barstate.islastconfirmedhistory
    runtime.log(tkr)

Quay lạiDòng chuỗi phụ được trích xuất từ chuỗi nguồn.

Các lập luận

  • source(dòng chuỗi) Dòng nguồn để trích xuất chuỗi con.
  • begin_pos(series int) Vị trí bắt đầu của chuỗi phụ được trích xuất. Nó bao gồm (s chuỗi phụ được trích xuất bao gồm ký tự ở vị trí đó).
  • end_pos(series int) Vị trí kết thúc. Nó là độc quyền (dòng chuỗi được trích xuất KHÔNG bao gồm ký tự vị trí đó). Tùy chọn.source string.

Nhận xétChỉ mục chuỗi bắt đầu từ 0. Nếubegin_posbằng vớiend_pos, hàm trả về một chuỗi trống.

Xem thêm str.contains str.pos str.match

str.tonumber

str.tonumber(string)

Quay lạiMột phiên bản float của chuỗi nếu nó chứa một số hợp lệ, na nếu không.

Các lập luận

  • string(dòng chuỗi) biểu diễn chuỗi của một int hoặc float.

str.format

Chuyển đổi chuỗi định dạng và giá trị (s) thành chuỗi định dạng. chuỗi định dạng có thể chứa văn bản theo nghĩa đen và một vị trí giữ chỗ trong dấu ngoặc xoắn {} cho mỗi giá trị được định dạng. Mỗi vị trí giữ chỗ bao gồm chỉ mục của đối số yêu cầu (bắt đầu từ 0) sẽ thay thế nó, và một trình chỉ định định dạng tùy chọn. Chỉ mục đại diện cho vị trí của đối số đó trong danh sách đối số str.format.

str.format(formatString, arg0, arg1, ...)

Ví dụ

// The format specifier inside the curly braces accepts certain modifiers:
// - Specify the number of decimals to display:
s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3
runtime.log(s1)

// - Round a float value to an integer:
s2 = str.format("{0,number,integer}", 1.34) // returns: 1
runtime.log(s2)

// - Display a number in currency:
s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34
runtime.log(s3)

// - Display a number as a percentage:
s4 = str.format("{0,number,percent}", 0.5) // returns: 50%
runtime.log(s4)

// EXAMPLES WITH SEVERAL ARGUMENTS
// returns: Number 1 is not equal to 4
s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4)
runtime.log(s5)

// returns: 1.34 != 1.3
s6 = str.format("{0} != {0, number, #.#}", 1.34)
runtime.log(s6)

// returns: 1 is equal to 1, but 2 is equal to 2
s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52)
runtime.log(s7)

// returns: The cash turnover amounted to $1,340,000.00
s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000)
runtime.log(s8)

// returns: Expected return is 10% - 20%
s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2)
runtime.log(s9)

Quay lạiDòng chữ được định dạng.

Các lập luận

  • formatString(serial string) định dạng string.
  • arg0, arg1, ...(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) Giá trị định dạng.

Nhận xétBất kỳ thắt nét lăn nào trong một mẫu không được trích dẫn phải được cân bằng. Ví dụ, ab {0} deab } de là các mẫu hợp lệ, nhưng ab {0} de, ab } de{ không.

str.length

Trả về một số nguyên tương ứng với số lượng chars trong chuỗi đó.

str.length(string)

Quay lạiSố ký tự trong chuỗi nguồn.

Các lập luận

  • string(serial string) nguồn string.

str.lower

Trả về một chuỗi mới với tất cả các chữ cái được chuyển đổi thành chữ cái nhỏ.

str.lower(source)

Quay lạiMột chuỗi mới với tất cả các chữ cái được chuyển đổi thành chữ cái nhỏ.

Các lập luận

  • source(dòng chuỗi) Dòng được chuyển đổi.

Xem thêm str.upper

str.upper

Trả về một chuỗi mới với tất cả các chữ cái được chuyển đổi thành chữ cái lớn.

str.upper(source)

Quay lạiMột chuỗi mới với tất cả các chữ cái được chuyển đổi thành chữ cái lớn.

Các lập luận

  • source(dòng chuỗi) Dòng được chuyển đổi.

Xem thêm str.lower

str.match

Trả về chuỗi con mới củasourcechuỗi nếu nó phù hợp với mộtregexbiểu hiện thông thường, na khác.

str.match(source, regex) 

Ví dụ

s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!")

// finding first substring that matches regular expression "[\w]+:[\w]+"
var string tickerid = str.match(s, "[\\w]+:[\\w]+")

if barstate.islastconfirmedhistory
    runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"

Quay lạiCác chuỗi con mới củasourcechuỗi nếu nó phù hợp với mộtregexbiểu hiện thông thường, na khác.

Các lập luận

  • source(serial string) nguồn string.
  • regex(dòng chuỗi) biểu thức thường mà chuỗi này sẽ được khớp.

Nhận xétChức năng trả về lần xuất hiện đầu tiên của biểu thức đều đặn trongsourcedây. Biểu tượng backslash regexstring cần được thoát với dấu gạch ngược bổ sung, ví dụ: \d đại diện cho biểu thức thường \d.

Xem thêm str.contains str.substring

str.pos

Trả về vị trí của lần xuất hiện đầu tiên củastrdây trongsourcestring, na nếu không.

str.pos(source, str)

Quay lạiVị trí củastrdây trongsource string.

Các lập luận

  • source(serial string) nguồn string.
  • str(serial string) Dòng chuỗi phụ để tìm kiếm.

Nhận xétChỉ mục chuỗi bắt đầu từ 0.

Xem thêm str.contains str.match str.substring

str.replace

Trả về một chuỗi mới với sự xuất hiện N + 1 củatargetchuỗi và sự xuất hiện trước đó củatargetchuỗi thay thế bằngreplacementchuỗi, trong đó N được chỉ định trongoccurrence. N là chỉ số khớp của chuỗi mục tiêu được thay thế trong chuỗi nguồn.

str.replace(source, target, replacement, occurrence)

Ví dụ

var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"

// Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string
var newSource = str.replace(source, "EXCHANGE1",  "EXCHANGE2", 0)

if barstate.islastconfirmedhistory
    // Display "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"
    runtime.log(newSource)

Quay lạiDòng dây đã được xử lý.

Các lập luận

  • source(serial string) nguồn string.
  • target(serial string) String để được thay thế.
  • replacement(dòng chuỗi) Dòng được chèn thay vì chuỗi mục tiêu.
  • occurrence(series int) Chỉ số khớp của sự xuất hiện của chuỗi mục tiêu được thay thế trong chuỗi nguồn Indexing bắt đầu từ 0 cho sự khớp đầu tiên. Tùy chọn. Giá trị mặc định là 0.

Xem thêm str.replace_all str.match

str.replace_all

Thay thế mỗi lần xuất hiện của chuỗi mục tiêu trong chuỗi nguồn bằng chuỗi thay thế.

str.replace_all(source, target, replacement)

Quay lạiDòng dây đã được xử lý.

Các lập luận

  • source(serial string) nguồn string.
  • target(serial string) String để được thay thế.
  • replacement(serial string) Dòng chữ được thay thế cho mỗi lần xuất hiện của chuỗi mục tiêu.

str.split

Chia một chuỗi thành một mảng các chuỗi con và trả về ID mảng của nó.

str.split(string, separator)

Quay lạiID của một mảng các chuỗi.

Các lập luận

  • string(serial string) nguồn string.
  • separator(s string series) Dây chuỗi tách mỗi chuỗi phụ.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

Quay lạiCác đại diện chuỗi củavaluetranh cãi. Nếuvalueđối số là một chuỗi, nó được trả về như vậy. Khivaluelà na, hàm trả về chuỗi NaN.

Các lập luận

  • value(series int/float/bool/string/int[]/float[]/bool[]/string[]) Giá trị hoặc mã số mảng mà các phần tử được chuyển đổi thành một chuỗi.
  • format(serial string) Format string. Chấp nhận các định dạng.* hằng số: format.mintick, format.percent, format.volume. Tùy chọn. Giá trị mặc định là #.##########

Nhận xétViệc định dạng các giá trị float cũng sẽ làm tròn các giá trị đó khi cần thiết, ví dụ: str.tostring ((3.99, #) sẽ trả về 4. Để hiển thị các số không sau, hãy sử dụng 0 thay vì #. Ví dụ, #.000. Khi sử dụng format.mintick, giá trị sẽ được làm tròn thành số gần nhất có thể được chia cho syminfo.mintick mà không có phần còn lại. Dòng được trả về với số không sau. Nếu đối số x là một chuỗi, cùng một giá trị chuỗi sẽ được trả về. Các đối số kiểu Bool trả về true hoặc false. Khi x là na, hàm trả về NaN.

màu sắc

color.new

Màu hàm áp dụng độ minh bạch được chỉ định cho màu được đưa ra.

color.new(color, transp)

Ví dụ

plot(close, color=color.new(color.red, 50))

Quay lạiMàu sắc với độ minh bạch được chỉ định.

Các lập luận

  • color(màu loạt)
  • transp(series int/float) Các giá trị có thể là từ 0 (không minh bạch) đến 100 (không hiển thị).

Nhận xétSử dụng các đối số không phải là hằng số (ví dụ: simple, input hoặc series) sẽ ảnh hưởng đến màu sắc hiển thị trong tab Settings/Style của kịch bản.

color.rgb

Tạo một màu mới với độ minh bạch bằng cách sử dụng mô hình màu RGB.

color.rgb(red, green, blue, transp)

Ví dụ

plot(close, color=color.rgb(255, 0, 0, 50))

Quay lạiMàu sắc với độ minh bạch được chỉ định.

Các lập luận

  • red(series int/float) thành phần màu đỏ. Các giá trị có thể là từ 0 đến 255.
  • green(series int/float) thành phần màu xanh lá cây. Các giá trị có thể là từ 0 đến 255.
  • blue(series int/float) thành phần màu xanh. Các giá trị có thể là từ 0 đến 255.
  • transp(series int/float) Tùy chọn. Độ minh bạch màu sắc. Các giá trị có thể là từ 0 (mờ) đến 100 (không nhìn thấy). Giá trị mặc định là 0.

Nhận xétSử dụng các đối số không phải là hằng số (ví dụ: simple, input hoặc series) sẽ ảnh hưởng đến màu sắc hiển thị trong tab Settings/Style của kịch bản.

thời gian chạy

runtime.debug

In thông tin biến vào bảng điều khiển.

Các chức năng cụ thể về ngôn ngữ FMZ PINE,runtime.debug(value), chỉ với một cuộc tranh luận.

runtime.log

Nội dung đầu ra trong nhật ký.

Các chức năng cụ thể về ngôn ngữ FMZ PINE,runtime.log(1, 2, 3, close, high, ...), bạn có thể vượt qua nhiều lập luận.

runtime.error

Khi được gọi, gây ra một lỗi thời gian chạy với thông báo lỗi được chỉ định trongmessage argument.

runtime.error(message)

Các lập luậnthông báo (dòng chuỗi) thông báo lỗi.

đầu vào

đầu vào

Thêm đầu vào vào tab Inputs của cài đặt kịch bản, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản. Chức năng này tự động phát hiện loại đối số được sử dụng cho defval và sử dụng widget đầu vào tương ứng.

input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)

Ví dụ

i_switch = input(true, "On/Off")     // Set true, the default is checked.
plot(i_switch ? open : na)

i_len = input(7, "Length")
i_src = input(close, "Source")       // Drop-down box, select close by default.
plot(ta.sma(i_src, i_len))

i_col = input(color.red, "Plot Color")
plot(close, color=i_col)

i_text = input("Hello!", "Message")
runtime.log(i_text)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const int/float/bool/string/color or source-type built-in) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng script có thể thay đổi nó.close, hlc3, vv
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.

Nhận xétKết quả của hàm đầu vào luôn nên được gán cho một biến, xem ví dụ trên.

Xem thêm input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

Thêm một đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản. Chức năng này thêm một menu thả xuống cho phép người dùng chọn một nguồn cho phép tính toán, ví dụ như đóng, hl2, vv Nếu kịch bản chỉ bao gồm một input.source() gọi, người dùng cũng có thể chọn một đầu ra từ một chỉ số khác trên biểu đồ của họ như là nguồn.

input.source(defval, title, tooltip, inline, group)

Ví dụ

i_src = input.source(close, "Source")
plot(i_src)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(series int/float) Định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng có thể thay đổi nó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.

Nhận xétKết quả của hàm input.source luôn nên được gán cho một biến, xem ví dụ ở trên.

Xem thêm input.bool input.int input.float input.string input.timeframe input.color input

input.string

Thêm một đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản.

input.string(defval, title, options, tooltip, inline, group, confirm)

Ví dụ

i_text = input.string("Hello!", "Message")
runtime.log(i_text)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const string) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng có thể thay đổi nó.optionsĐâu phải là một trong số đó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • options(Danh sách các hằng số: [...]) Một danh sách các tùy chọn để lựa chọn.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, thì người dùng sẽ được yêu cầu xác nhận giá trị đầu vào trước khi chỉ số được thêm vào biểu đồ. Giá trị mặc định là sai.

Nhận xétKết quả của hàm input.string luôn nên được gán cho một biến, xem ví dụ ở trên.

Xem thêm input.bool input.int input.float input.timeframe input.source input.color input

input.bool

Thêm một đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản.

input.bool(defval, title, tooltip, inline, group, confirm)

Ví dụ

i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const bool) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của kịch bản, từ đó người dùng có thể thay đổi nó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, thì người dùng sẽ được yêu cầu xác nhận giá trị đầu vào trước khi chỉ số được thêm vào biểu đồ. Giá trị mặc định là sai.

Nhận xétKết quả của hàm input.bool luôn nên được gán cho một biến, xem ví dụ ở trên.

Xem thêm input.int input.float input.string input.timeframe input.source input.color input

input.int

Thêm một đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản.

input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm) 
input.int(defval, title, options, tooltip, inline, group, confirm)

Ví dụ

i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1)
plot(ta.sma(close, i_len1))

i_len2 = input.int(10, "Length 2", options=[5, 10, 21])
plot(ta.sma(close, i_len2))

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const int) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng script có thể thay đổi nó.optionsĐâu phải là một trong số đó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • minval(const int) Giá trị tối thiểu có thể của biến đầu vào.
  • maxval(const int) Giá trị tối đa có thể của biến đầu vào.
  • step(const int) Giá trị bước được sử dụng để tăng / giảm đầu vào. Tùy chọn. mặc định là 1.
  • options(cặp các giá trị const int: [val1, val2,...]) Một danh sách các tùy chọn để chọn từ menu thả xuống, được tách bằng dấu phẩy và kèm theo trong ngoặc kép: [val1, val2,...].minval, maxvalstepkhông thể sử dụng.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, thì người dùng sẽ được yêu cầu xác nhận giá trị đầu vào trước khi chỉ số được thêm vào biểu đồ. Giá trị mặc định là sai.

Nhận xétKết quả củainput.inthàm luôn nên được gán cho một biến, xem ví dụ ở trên.

Xem thêm input.bool input.float input.string input.timeframe input.source input.color input

input.float

Thêm một đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản.

input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)

Ví dụ

i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02)
plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green)

i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14])
plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const int/float) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng script có thể thay đổi nó.optionsĐâu phải là một trong số đó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • minval(const int/float) Giá trị tối thiểu có thể của biến đầu vào.
  • maxval(const int/float) Giá trị tối đa có thể của biến đầu vào.
  • step(const int/float) Giá trị bước được sử dụng để tăng hoặc giảm đầu vào. Tùy chọn. mặc định là 1.
  • options(đội các giá trị const int / float: [val1, val2,...]) Một danh sách các tùy chọn để chọn từ menu thả xuống, được tách bằng dấu phẩy và được đặt trong ngoặc kép: [val1, val2,...].minval, maxvalstepkhông thể sử dụng.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, thì người dùng sẽ được yêu cầu xác nhận giá trị đầu vào trước khi chỉ số được thêm vào biểu đồ. Giá trị mặc định là sai.

Nhận xétKết quả của hàm input.float luôn nên được gán cho một biến, xem ví dụ ở trên.

Xem thêm input.bool input.int input.string input.timeframe input.source input.color input

input.color

Thêm một đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản.

input.color(defval, title, tooltip, inline, group, confirm) 

Ví dụ

i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const color) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng có thể thay đổi nó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, thì người dùng sẽ được yêu cầu xác nhận giá trị đầu vào trước khi chỉ số được thêm vào biểu đồ. Giá trị mặc định là sai.

Nhận xétKết quả của hàm input.color luôn nên được gán cho một biến, xem ví dụ trên.

Xem thêm input.bool input.int input.float input.string input.timeframe input.source input

input.price

Thêm nhập giá vào tab Settings/Inputs của script.confirm = truekích hoạt chế độ đầu vào tương tác trong đó một giá được chọn bằng cách nhấp vào biểu đồ.

input.price(defval, title, tooltip, inline, group, confirm) 

Ví dụ

price1 = input.price(title="Date", defval=42)
plot(price1)

price2 = input.price(54, title="Date")
plot(price2)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const int/float) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng có thể thay đổi nó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, chế độ đầu vào tương tác được bật và lựa chọn được thực hiện bằng cách nhấp vào biểu đồ khi chỉ số được thêm vào biểu đồ, hoặc bằng cách chọn chỉ số và di chuyển lựa chọn sau đó. Tùy chọn. mặc định là sai.

Nhận xétKhi sử dụng chế độ tương tác, đầu vào thời gian có thể được kết hợp với đầu vào giá nếu cả hai cuộc gọi hàm sử dụng cùng một đối số choinline argument.

Xem thêm input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

Thêm đầu vào vào tab Inputs của cài đặt kịch bản của bạn, cho phép bạn cung cấp các tùy chọn cấu hình cho người dùng kịch bản. Chức năng này thêm một menu thả xuống cho phép người dùng chọn một khung thời gian cụ thể thông qua trình chọn khung thời gian và trả về dưới dạng chuỗi.

input.timeframe(defval, title, options, tooltip, inline, group, confirm)

Ví dụ

i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security("syminfo.tickerid", i_res, close)
plot(s)

Quay lạiGiá trị của biến đầu vào.

Các lập luận

  • defval(const string) Xác định giá trị mặc định của biến đầu vào được đề xuất trong tab Settings/Inputs của script, từ đó người dùng có thể thay đổi nó.optionsĐâu phải là một trong số đó.
  • title(const string) Tiêu đề của đầu vào. Nếu không được chỉ định, tên biến được sử dụng làm tiêu đề của đầu vào. Nếu tiêu đề được chỉ định, nhưng nó trống, tên sẽ là một chuỗi trống.
  • options(đội các giá trị chuỗi const: [val1, val2,...]) Một danh sách các tùy chọn để lựa chọn.
  • tooltip(const string) Dây chuỗi sẽ được hiển thị cho người dùng khi di chuyển qua biểu tượng tooltip.
  • inline(const string) Kết hợp tất cả các cuộc gọi đầu vào sử dụng cùng một đối số trong một dòng. Dòng được sử dụng như một đối số không được hiển thị. Nó chỉ được sử dụng để xác định các đầu vào thuộc cùng một dòng.
  • group(const string) Tạo một tiêu đề trên tất cả các đầu vào bằng cách sử dụng cùng một chuỗi đối số nhóm.
  • confirm(const bool) Nếu đúng, thì người dùng sẽ được yêu cầu xác nhận giá trị đầu vào trước khi chỉ số được thêm vào biểu đồ. Giá trị mặc định là sai.

Nhận xétKết quả của hàm input.timeframe luôn nên được gán cho một biến, xem ví dụ ở trên.

Xem thêm input.bool input.int input.float input.string input.source input.color input

input.integer

Không có sẵn.

input.resolution

Không có sẵn.

ta

ta.alma

Arnaud Legoux Moving Average. Nó sử dụng phân bố Gaussian làm trọng lượng cho trung bình động.

ta.alma(series, length, offset, sigma) 
ta.alma(series, length, offset, sigma, floor) 

Ví dụ

plot(ta.alma(close, 9, 0.85, 6))

// same on pine, but much less efficient
pine_alma(series, windowsize, offset, sigma) =>
    m = offset * (windowsize - 1)
    //m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true
    s = windowsize / sigma
    norm = 0.0
    sum = 0.0
    for i = 0 to windowsize - 1
        weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2)))
        norm := norm + weight
        sum := sum + series[windowsize - i - 1] * weight
    sum / norm
plot(pine_alma(close, 9, 0.85, 6))

Quay lạiArnaud Legoux Moving Average.

Các lập luận

  • series(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).
  • offset(simple int/float) Kiểm soát sự cân bằng giữa độ mượt mà (gần 1) và khả năng đáp ứng (gần 0).
  • sigma(simple int/float) Thay đổi độ mượt của ALMA.
  • floor(đơn giản bool) Một đối số tùy chọn. Xác định xem tính toán offset có được hạ tầng trước khi tính toán ALMA không. Giá trị mặc định là false.

Xem thêm ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

Chức năng sma trả về đường trung bình động, tức là tổng các giá trị y cuối cùng của x, chia cho y.

ta.sma(source, length) 

Ví dụ

plot(ta.sma(close, 15))

// same on pine, but much less efficient
pine_sma(x, y) =>
    sum = 0.0
    for i = 0 to y - 1
        sum := sum + x[i] / y
    sum
plot(pine_sma(close, 15))

Quay lạiTrung bình di chuyển đơn giản củasourcecholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

Xem thêm ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

Các bánh răng (trung tâm trọng lực) là một chỉ số dựa trên thống kê và tỷ lệ vàng Fibonacci.

ta.cog(source, length) 

Ví dụ

plot(ta.cog(close, 10))

// the same on pine
pine_cog(source, length) =>
    sum = math.sum(source, length)
    num = 0.0
    for i = 0 to length - 1
        price = source[i]
        num := num + price * (i + 1)
    -num / sum

plot(pine_cog(close, 10))

Quay lạiTrung tâm trọng lực.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

Xem thêm ta.stoch

ta.dev

Đánh giá sự khác biệt giữa chuỗi và ta.sma

ta.dev(source, length) 

Ví dụ

plot(ta.dev(close, 10))

// the same on pine
pine_dev(source, length) =>
    mean = ta.sma(source, length)
    sum = 0.0
    for i = 0 to length - 1
        val = source[i]
        sum := sum + math.abs(val - mean)
    dev = sum/length
plot(pine_dev(close, 10))

Quay lạiPhản ứng củasourcecholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

Xem thêm ta.variance ta.stdev

ta.stdev

ta.stdev(source, length, biased) 

Ví dụ

plot(ta.stdev(close, 5))

//the same on pine
isZero(val, eps) => math.abs(val) <= eps

SUM(fst, snd) =>
    EPS = 1e-10
    res = fst + snd
    if isZero(res, EPS)
        res := 0
    else
        if not isZero(res, 1e-4)
            res := res
        else
            15

pine_stdev(src, length) =>
    avg = ta.sma(src, length)
    sumOfSquareDeviations = 0.0
    for i = 0 to length - 1
        sum = SUM(src[i], -avg)
        sumOfSquareDeviations := sumOfSquareDeviations + sum * sum

    stdev = math.sqrt(sumOfSquareDeviations / length)
plot(pine_stdev(close, 5))

Quay lạiKhúc lệch chuẩn.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).
  • 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ếubiasedlà đú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 ta.dev ta.variance

ta.ema

Chức năng ema trả về đường trung bình động trọng số theo cấp số nhân. Trong ema, các yếu tố trọng số giảm theo cấp số nhân. Nó tính bằng công thức: EMA = alpha * nguồn + (1 - alpha) * EMA[1], nơi alpha = 2 / (chiều dài + 1).

ta.ema(source, length) 

Ví dụ

plot(ta.ema(close, 15))

//the same on pine
pine_ema(src, length) =>
    alpha = 2 / (length + 1)
    sum = 0.0
    sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_ema(close,15))

Quay lạiTrung bình di chuyển biểu thức củasourcevới alpha = 2 / (chiều dài + 1).

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(int đơn giản) Số thanh (chiều dài).

Nhận xétXin lưu ý rằng việc sử dụng biến/chức năng này có thể gây ra việc sơn lại chỉ số.

Xem thêm ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Chức năng wma trả về đường trung bình động cân nhắc củasourcecholengthTrong WMA, các yếu tố trọng lượng giảm trong tiến trình toán học.

ta.wma(source, length) 

Ví dụ

plot(ta.wma(close, 15))

// same on pine, but much less efficient
pine_wma(x, y) =>
    norm = 0.0
    sum = 0.0
    for i = 0 to y - 1
        weight = (y - i) * y
        norm := norm + weight
        sum := sum + x[i] * weight
    sum / norm
plot(pine_wma(close, 15))

Quay lạiTrung bình di chuyển cân nhắcsourcecholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

Xem thêm ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Trung bình động cân đối với chiều dài cố định: 4. Trọng lượng: [1/6, 2/6, 2/6, 1/6].

ta.swma(source)

Ví dụ

plot(ta.swma(close))

// same on pine, but less efficient
pine_swma(x) =>
    x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))

Quay lạiTrung bình động cân đối.

Các lập luận

  • source(series int/float) Dòng nguồn.

Xem thêm ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Chức năng hma trả về Trung bình Di chuyển Hull.

ta.hma(source, length)

Ví dụ

src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)

Quay lạiTrung bình di chuyển thân của nguồn cho chiều dài thanh trở lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • lengthSố lượng thanh.

Xem thêm ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

Đường trung bình động được sử dụng trong RSI. Đó là đường trung bình động được cân nhắc theo cấp số nhân với alpha = 1 / chiều dài.

ta.rma(source, length)

Ví dụ

plot(ta.rma(close, 15))

//the same on pine
pine_rma(src, length) =>
  alpha = 1/length
  sum = 0.0
  sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_rma(close, 15))

Quay lạiTrung bình di chuyển biểu thức củasourcevới alpha = 1 /length.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(int đơn giản) Số thanh (chiều dài).

Xem thêm ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Chỉ số sức mạnh tương đối.ta.rma()của các thay đổi lên và xuống củasourcetrong năm qualength bars.

ta.rsi(source, length)

Ví dụ

plot(ta.rsi(close, 7))

// same on pine, but less efficient
pine_rsi(x, y) => 
    u = math.max(x - x[1], 0) // upward ta.change
    d = math.max(x[1] - x, 0) // downward ta.change
    rs = ta.rma(u, y) / ta.rma(d, y)
    res = 100 - 100 / (1 + rs)
    res

plot(pine_rsi(close, 7))

Quay lạiChỉ số sức mạnh tương đối.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(int đơn giản) Số thanh (chiều dài).

Xem thêm ta.rma

ta.tsi

Chỉ số sức mạnh thực sự. Nó sử dụng trung bình động của động lực cơ bản của một công cụ tài chính.

ta.tsi(source, short_length, long_length)

Quay lạiChỉ số sức mạnh thực sự. Một giá trị trong phạm vi [-1, 1].

Các lập luận

  • source(series int/float) Dòng nguồn.
  • short_length(thông đơn) ngắn.
  • long_length(trong đơn giản) dài.

ta.roc

Chức năng roc (tỷ lệ thay đổi) cho thấy sự khác biệt giữa giá trị hiện tại củasourcevà giá trị củasourceĐó làlengthvài ngày trước. Nó được tính bằng công thức: 100 * thay đổi ((src, chiều dài) / src[ chiều dài].

ta.roc(source, length)

Quay lạiTỷ lệ thay đổi củasourcecholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

ta.range

Trả về sự khác biệt giữa các giá trị tối thiểu và tối đa trong một chuỗi.

ta.range(source, length)

Quay lạiSự khác biệt giữa các giá trị tối thiểu và tối đa trong chuỗi.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

ta.macd

MACD (moving average convergence/divergence). Nó được cho là tiết lộ những thay đổi về sức mạnh, hướng, động lực và thời gian của một xu hướng trong giá cổ phiếu.

ta.macd(source, fastlen, slowlen, siglen) 

Ví dụ

[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(macdLine, color=color.blue)
plot(signalLine, color=color.orange)
plot(histLine, color=color.red, style=plot.style_histogram)

Nếu bạn chỉ cần một giá trị, hãy sử dụng dấu giữ chỗ _ như thế này:Ví dụ

[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)

Quay lạiTuple của ba chuỗi MACD: đường MACD, đường tín hiệu và đường biểu đồ.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • fastlen(thông đơn giản int) Fast Length argument.
  • slowlen(thông đơn giản int) Slow Length lập luận.
  • siglen(simple int) Signal Length argument (Điều kiện chiều dài tín hiệu).

Xem thêm ta.sma ta.ema

ta.mode

Trả về chế độ của chuỗi. Nếu có nhiều giá trị với cùng tần số, nó trả về giá trị nhỏ nhất.

ta.mode(source, length)

Quay lạiPhong cách của bộ phim.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

ta.median

Trả lại trung bình của chuỗi.

ta.median(source, length) 

Quay lạiĐường trung bình của chuỗi.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

ta.linreg

Đường cong hồi quy tuyến tính. Một đường thẳng phù hợp nhất với giá được chỉ định trong một khoảng thời gian được xác định bởi người dùng. Nó được tính bằng phương pháp vuông nhỏ nhất. Kết quả của hàm này được tính bằng công thức: linreg = cắt ngang + độ nghiêng * (chiều dài - 1 - dịch chuyển), nơi cắt ngang và độ nghiêng là các giá trị được tính bằng phương pháp vuông nhỏ nhất trênsource series.

ta.linreg(source, length, offset) 

Quay lạiĐường cong hồi quy tuyến tính.

Các lập luận

  • source(series int/float) Dòng nguồn.
  • length(series int)
  • offset(Int đơn giản) Offset.

ta.bb

Bollinger Bands. Bollinger Band là một công cụ phân tích kỹ thuật được xác định bởi một tập hợp các đường được vẽ hai độ lệch chuẩn (tích cực và tiêu cực) từ một đường trung bình động đơn giản (SMA) của giá chứng khoán, nhưng có thể được điều chỉnh theo sở thích của người dùng.

ta.bb(series, length, mult) 

Ví dụ

[middle, upper, lower] = ta.bb(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)

// the same on pine
f_bb(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    [basis, basis + dev, basis - dev]

[pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4)

plot(pineMiddle)
plot(pineUpper)
plot(pineLower)

Quay lạiBollinger Bands.

Các lập luận

  • series(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).
  • mult(simple int/float) nhân lệ lệch chuẩn.

Xem thêm ta.sma ta.stdev ta.kc

ta.bbw

Bollinger Bands Width. Bollinger Band Width là sự khác biệt giữa Bollinger Bands trên và dưới chia cho băng giữa.

ta.bbw(series, length, mult) 

Ví dụ

plot(ta.bbw(close, 5, 4), color=color.yellow)

// the same on pine
f_bbw(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    ((basis + dev) - (basis - dev)) / basis

plot(f_bbw(close, 5, 4))

Quay lạiBollinger Bands Width.

Các lập luận

  • series(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).
  • mult(simple int/float) nhân lệ lệch chuẩn.

Xem thêm ta.bb ta.sma ta.stdev

ta.cci

CCI (chỉ số kênh hàng hóa) được tính bằng sự khác biệt giữa giá điển hình của một hàng hóa và trung bình di chuyển đơn giản của nó, chia cho độ lệch tuyệt đối trung bình của giá điển hình.

ta.cci(source, length) 

Quay lạiChỉ số kênh hàng hóa của nguồn cho thanh chiều dài trở lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

ta.change

Sự khác biệt giữa giá trị hiện tại và giá trị trước, nguồn - nguồn [chiều dài].

ta.change(source, length) 
ta.change(source) 

Quay lạiKết quả của trừ.

Các lập luận

  • source(series int/float) Dòng nguồn.
  • length(series int) Offset từ thanh hiện tại sang thanh trước. Tùy chọn, nếu không được đưa ra, length=1 được sử dụng.

Xem thêm ta.mom ta.cross

ta.mom

Động lực củasourcegiá vàsourcegiá cảlengthĐây chỉ đơn giản là một sự khác biệt: nguồn - nguồn [chiều].

ta.mom(source, length) 

Quay lạiĐộng lực củasourcegiá vàsourcegiá cảlengthmấy chục năm trước.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Offset từ thanh hiện tại đến thanh trước đó.

Xem thêm ta.change

ta.cmo

Chọn sự khác biệt giữa tổng lợi nhuận gần đây và tổng tổn thất gần đây và sau đó chia kết quả cho tổng tất cả các biến động giá trong cùng một khoảng thời gian.

ta.cmo(series, length) 

Ví dụ

plot(ta.cmo(close, 5), color=color.yellow)

// the same on pine
f_cmo(src, length) =>
    float mom = ta.change(src)
    float sm1 = math.sum((mom >= 0) ? mom : 0.0, length)
    float sm2 = math.sum((mom >= 0) ? 0.0 : -mom, length)
    100 * (sm1 - sm2) / (sm1 + sm2)

plot(f_cmo(close, 5))

Quay lạiTrình dao động động lực Chande.

Các lập luận

  • series(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

Xem thêm ta.rsi ta.stoch math.sum

ta.percentile_linear_interpolation

Tính toán phần trăm bằng cách sử dụng phương pháp can thiệp tuyến tính giữa hai hàng gần nhất.

ta.percentile_linear_interpolation(source, length, percentage) 

Quay lạiP-th percentile củasourceloạt cholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý (nguồn).
  • length(series int) Số thanh trở lại (chiều dài).
  • percentage(simple int/float) Tỷ lệ phần trăm, một số từ phạm vi 0 đến 100.

Nhận xétLưu ý rằng một tỷ lệ phần trăm được tính bằng phương pháp này sẽ KHÔNG luôn là một thành viên của bộ dữ liệu đầu vào.

Xem thêm ta.percentile_nearest_rank

ta.percentile_nearest_rank

Tính toán tỷ lệ phần trăm bằng cách sử dụng phương pháp xếp hạng gần nhất.

ta.percentile_nearest_rank(source, length, percentage) 

Quay lạiP-th percentile củasourceloạt cholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý (nguồn).
  • length(series int) Số thanh bac

Thêm nữa

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

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

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ì?