運算子

By | 2015-05-26

運算子的功用

在學會使用回傳值的概念之後,接下來,我們先來介紹腳本中,要串接回傳值,建立各種運算的關係時,所需要用到的元素, 這些元素,稱之為運算子(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
有了這三種運算子,加上上一節介紹的回傳值,我們就可以很方便的描述股價間的各種關係了。