闡述我們的交易策略,不外乎透過數學算式、關係及邏輯來表達,例如以下這個想法「當K線收盤價大於前根K高點10點以上且收紅K就買進」,寫成PowerLanguage就是:
If Close>High[1]+10 and Close>Open then Buy this Bar at market;
其中就須運用:「+」(數學運算)、「>」(關係運算子)、「and」(邏輯運算子)。
數學運算子很簡單,如同我們所學的基礎數學加減乘除,運算規則也一樣是先乘除、後加減,先括號內,後括號外。
2.關係運算子
運算子
|
說明
|
>
|
大於
|
<
|
小於
|
>=
|
大於或等於
|
<=
|
小於或等於
|
=
|
等於
|
<>
|
不等於
|
cross
over
|
向上穿越(黃金交叉),又可以寫成cross above
|
cross
under
|
向下穿越(死亡交叉),又可以寫成
cross below
|
其中「<>」初學程式語法者會比較陌生,但其實運用很廣泛,例如我們常以以下語法抓(判斷)每天開盤第一根K棒:
If date<>date[1] then…
唯有每天第一根K棒,其date值(回傳當天日期)會不等於date[1](回傳前一天日期)。
另外cross over 及cross below也很常用到,特別要留意cross與「>」或「<」的區別,cross是一個動作(點),只有該發生交叉的K棒才符合。
3、邏輯運算子
運算子
|
說明
|
and
|
且
|
or
|
或
|
邏輯「and」僅當所有運算式都為真時,條件判斷為成立(true);邏輯「or」則是至少其中一個運算式為真時,條件判斷為成立(true)。舉例如下:
if Close > Close[1] AND Low < Low[1] then …
如果收盤價大於前一根收盤價,且最低價小於前一根最低價則….,兩個條件都要符合才會執行then後面的動作。
if Close > Close[1] OR High > High[1] then …
如果收盤價大於前一根收盤價,或者最高價大於前一根最高價則….,只要其中一個條件符合就會執行then後面的動作。