Board logo

标题: 運算與邏輯符號(運算子) [打印本页]

作者: 龙听    时间: 2018-11-20 19:22     标题: 運算與邏輯符號(運算子)

闡述我們的交易策略,不外乎透過數學算式、關係及邏輯來表達,例如以下這個想法「當K線收盤價大於前根K高點10點以上且收紅K就買進」,寫成PowerLanguage就是:


If Close>High[1]+10 and Close>Open then Buy this Bar at market;


其中就須運用:「+」(數學運算)、「>」(關係運算子)、「and」(邏輯運算子)。



1.數學運算子

運算子

說明

+

-

*

/

()

括號




數學運算子很簡單,如同我們所學的基礎數學加減乘除,運算規則也一樣是先乘除、後加減,先括號內,後括號外。


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後面的動作。





欢迎光临 龙听期货论坛 (http://www.qhlt.cn/) Powered by Discuz! 7.2