- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
運算與邏輯符號(運算子)
闡述我們的交易策略,不外乎透過數學算式、關係及邏輯來表達,例如以下這個想法「當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」僅當所有運算式都為真時,條件判斷為成立(true);邏輯「or」則是至少其中一個運算式為真時,條件判斷為成立(true)。舉例如下:
if Close > Close[1] AND Low < Low[1] then …
如果收盤價大於前一根收盤價,且最低價小於前一根最低價則….,兩個條件都要符合才會執行then後面的動作。
if Close > Close[1] OR High > High[1] then …
如果收盤價大於前一根收盤價,或者最高價大於前一根最高價則….,只要其中一個條件符合就會執行then後面的動作。
|
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|