運算子的功用
在學會使用回傳值的概念之後,接下來,我們先來介紹腳本中,要串接回傳值,建立各種運算的關係時,所需要用到的元素, 這些元素,稱之為運算子(operator)。
我們必須靠這些運算子,把電腦幫我們準備好的回傳值,拿來作數學運算,比大小,作邏輯判斷, 如此一來,才能完成一個敘述。
例如open >high[1]這個陳述式,open與high[1]之間,就是透過>這個字來建立關係, 這些被拿來建立數值與數值之間關係的字,我們統稱之為運算字。
運算子的種類
Xscript所提供的運算子分成三大類,分別為數學運算子,關係運算子,邏輯運算子,茲分述如下:
數學運算子
這部份的運算子,大家都很熟悉,一共有四個,就是我們在小學數學課本裡學過的加減乘除, 這些基本的數學運算包括相加 “+”,相減 “-“,相乘 “*”, 相除”/”,以及等號”=”。
例如以下的敘述式 :
close/close[1]>1.02
這代表這個bar的收盤價比前一根的收盤價漲幅超過2%。
關係運算子
關係運算子是在呈現兩個數字之間的關係,Xscript中可以拿來運用的關係運算子, 都是大家很熟悉的大於(>),等於(=),小於(<),大於等於(>=),小於等於(<=),不等於(<>)共六種。
在這邊要特別說明的是,關係運算式的兩端各都只能是一個代表數值的文字或數值, 所以我們可以寫
close>close[1] and close[1]>close[2]
但我們不能寫
close>close[1]>close[2]
因為這樣的寫法在>這個關係運算式的兩端,有一端不是數值而是true,false的邏輯值了。
邏輯運算子
邏輯運算因子有三個 : and, or,Not
前兩個運算子是拿來串接兩個邏輯判斷式,其運作的邏輯如下:
true and true=true
true and false= false
false and true = false
false and false = false
true or true = true
true or false = true
false or true = true
false or false = false
至於not,則是拿來否定一個邏輯判斷式之用
not false=true
not true=false
有了這三種運算子,加上上一節介紹的回傳值,我們就可以很方便的描述股價間的各種關係了。