[Stock] [策略][TradingView][教學] Array常用語法使用(一)

目的

本篇文章簡單說明Pine Script的常用的Array使用教學,更多詳細使用說明可以去官方文件看一下
 
如果文章對你有幫助在幫我按一下廣告來讓我有額外收入這也是對我來說是一種鼓勵

語法說明

1. Array的語法定義

<type>[] <identifier> = <expression>
var <type>[] <identifier> = <expression>

2. Array初始化

初始化的函數格式 array.new_<type>(size,initial_value)。
官方提供的初始化的函數有這些array.new_int(), array.new_bool(), array.new_color(), array.new_line(), array.new_label() and array.new_string().

使用範例: 建立一個Array Size總共只有5個,然後型態為Float變數, 然後將Array都填滿0
//@version=4
study("array.new_float example")
length = 5
a = array.new_float(length, 0)
或是一開始不去設定Array的大小,以下的範例初始化只是讓prices預設是一個空的Float型態的array,設定完後需要再將值填入array才可以使用
prices = array.new_float(0)
如果在變數宣告完後才要將整個Array給填滿特定值可以使用以下的方法
a = array.new_float(10)
array.fill(a, close)
或是要將特定的區間的array填上不同的值,以下的範例是建立一個Array然後大小有10個,並且將array的index 1~3的部分填入最新的收盤價
a = array.new_float(10)
array.fill(a, close, 1, 3)
另外官方也提供array.from方便用一行指令就可以宣告陣列跟預設值都設定好
plotColors = array.from(color.red, color.green, #0000FF)

3. Array讀取跟寫入資料

讀取資料使用array.get的方法
a = array.new_float(3, close)
prices = array.get(a, 0) //讀取一個值
寫入資料如果要指定修改特定位置的資料使用array.set, 如果不指定的話使用array.push
a = array.new_float(1) // 如果指定array的大小,就只能用array.set
prices = array.set(a, 0, close) //寫入目前的收盤價到array的第一個位置
a = array.new_float(0) // 沒有指定array的大小,可以用array.push跟array.set
prices = array.push(a, close) //寫入目前的收盤價到array

留言

熱門文章