標點符號

By | 2015-05-26

在學會使用回傳值及運算子之後,要完成一個敘述式,我們有的時候還必須要用到一些標點符號,這樣才能完整的完成一個電腦看得懂的敘述式。
完整的標點符號及其用途分別如下,有些我們目前還用不著,例如宣告參數及變數所用的冒號,但先了解一下電腦看得懂的標點符號及其用途是有必要的, 因為電腦是很死板的,它是死腦筋,該在腳本出現的每個標點符號,少一個不行,多一個也不行。

作為腳本註解的標點符號
這當中要特別說明的是 // 及{ } 這兩個拿來當註解用的符號,// 代表的是在這個符號後面那一行的文字全部會被電腦給忽略, 所以可以拿來當註解,{ } 大引號則是不管出現在那裡,有多少行,只要出現了,在兩個引號中間的所有內容,電腦都忽略。
所以如果只是在一行敘述式後面加上說明可以用 // ,但如果是一整段的敘述式要請電腦不要讀的話用{ } 大引號比較方便。
請看以下的例子 :

input:period(10);
input:ratio(3);//設定漲幅的上限,
setinputname(1,"區間設定");
setinputname(2,"漲幅上限");
value=highest(high,period);
if close > value[1] and close < close[1] * (1+ratio/100) then ret=1;

只要是 // 以後的同一行文字數字電腦都忽略,可用來當一行敘述式的註解
如果把 // 放在一行敘述式的最前面,就算後面照著語法寫,電腦還是會忽略,所以這程式編譯時就會出現錯誤。
err0
如果我們嫌 // 的後面的文字太長,一行寫不下,換行時,如果前面不再加個 // ,電腦會視為這是一行新的敘述式,會去讀它 , 這時編譯時也會發生錯誤。
err
但如果我們用 { } ,如上圖,在大引號中間的所有文字電腦都視為註解,編譯時就不會理會這中間的內容了。

input:period(10);
{input:ratio(3);//設定漲幅的上限,
setinputname(1,"區間設定");
setinputname(2,"漲幅上限");}
value=highest(high,period);
if close > value[1] and close < close[1] * (1+ratio/100) then ret=1;

到這邊我們已經學會基本的程式交易語法內容了,我們不妨試著寫出幾個腳本
例如 以下的這個 :

volume > volume[1] and
volume[1] > volume[2] and
close < close[1] and
close[1] < close[2] and
close < open and
close[1] < open[1] and
close[2] < open[2]

這樣的寫法要表達的是 :
1. 前日量小於昨日,而昨日小於今日
2. 收盤價是今日小於昨日,且昨日小於前日
3. 今日收黑,昨日收黑且前日亦收黑
再例如以下的這個腳本 :

Close=open and close=high
And (high-low)>(high[1]-low[1]*2

這就是江湖人稱的蜻蜓十字 :
蜻蜓十字線
蜻蜓十字線

要符合這樣的K線型態有幾個要素 :
1.收盤價等於開盤價且是當天最高點 close=open and close=high
2.最近一根bar的下影線是前一根bar 高低點的兩倍以上 (high[0]-low[0])>(high[1]-low[1] *2

回傳值,運算子及標點符號,是組成腳本的最基本元素,學到這裡,算是最基礎的語法結構我們都學完了。

你可能會有興趣的文章

回應