標點符號

在學會使用回傳值及運算子之後,要完成一個敘述式,我們有的時候還必須要用到一些標點符號,這樣才能完整的完成一個電腦看得懂的敘述式。

完整的標點符號及其用途分別如下,有些我們目前還用不著,例如宣告參數及變數所用的冒號,但先了解一下電腦看得懂的標點符號及其用途是有必要的,因為電腦是很死板的,它是死腦筋,該在腳本出現的每個標點符號,少一個不行,多一個也不行。
符號
名稱
說明
;
分號
用來表達一個陳述式的結束。例如: x1=high-close;
:
冒號
用來宣告變數及參數,例如: var:x1(0), input:days(5)
[ ]
引號
用來指定前nbar的回傳值。例如:close[3]代表前面第三根bar的收盤價
//
雙斜線
用來加註解,在雙斜線後面的所有文字電腦均不予理會
,
逗號
1.用來分開同時被宣告的參數及變數們。例如:
Var:x1(0),x2(0),x3(0),x4(0);
2.用來分隔函數的參數,例如RSI(close,5)代表收盤價的5RSI
{ }
大引號
用於在陳述的過程中加上註解
“ “
双引號
用來定義文字字串

拿來作為註解的標點符號

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



只要是//以後的同一行文字數字電腦都忽略,可用來當一行敘述式的註解
如果把//放在一行敘述式的最前面,就算後面照著語法寫,電腦還是會忽略,所以這程式編譯時就會出現錯誤。

如果我們嫌//的後面的文字太長,一行寫不下,換行時,如果前面不再加個//,電腦會視為這是一行新的敘述式,會去讀它 ,這時編譯時也會發生錯誤。

但如果我們用{ },如上圖,在大引號中間的所有文字電腦都視為註解,編譯時就不會理會這中間的內容了。




到這邊我們已經學會基本的程式交易語法內容了,我們不妨試著寫出幾個腳本
例如 以下的這個
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

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