所謂寫程式換一種講法就是下指令給電腦,下指令終極語言結構就是:如果怎樣怎樣就去做甚麼動作。「If…Then…」這類控制流程就是下指令的語法,也可以說是整個PowerLanguage最重要也最常用的語言。
1.If…Then…(如果符合條件就去執行A動作)
範例:如果5MA向上交叉20MA,下根K棒就市價買進。
If average(close,5) cross over average(close,20) and marketposition<>1 then buy next bar at market;
2.If…Then…Else…(如果符合條件就去執行A動作,不符合就執行B動作)
範例:如果收盤價在20MA以上,均線(編號Plot1)顏色為紅色,反之,為綠色。
if Close > Average(Close, 20) then
SetPlotColor(1, Red) //動作A後面沒有分號”;”
Else //Else後面沒有分號”;”
SetPlotColor(1, Green); //動作B後面有分號”;”作為語法結尾
3.If…Then Begin…End(如果符合條件就去執行A、B、C…等動作)
範例:如果收盤價在20MA以上,動作A,均線(編號Plot1)顏色設為紅色,動作B,發出警示。
if Close > Average(Close, 20) then begin
SetPlotColor(1, Red); //動作A後面有分號”;”
Alert; //動作B後面有分號”;”
End; //End後面有分號”;”
4.If…Then Begin…End Else Begin…End(如果符合條件就去執行A、B、C…等動作,不符合就去執行D、E、F…等動作)
範例:如果收盤價在20MA以上,動作A,均線(編號Plot1)顏色設為紅色,動作B,發出警示;反之收盤價沒有在20MA以上,則動作C,均線(編號Plot1)顏色設為律色,動作D,發出警示。
if Close > Average(Close, 20) then begin
SetPlotColor(1, Red);
Alert("Close Above Average");
End //沒有分號”;”
Else begin //沒有分號”;”
SetPlotColor(1, Green);
Alert(“Close Below Average”);
end;
以上幾種控制流程的語法運用,簡單歸納以下要點:
1.條件都可以是複數個,用「and」或是「or」串起來。
2.要執行多個動作用If…Then Begin…End,而只執行單一動作用If…Then…。
3.注意哪些地方要用分號”;”結尾,哪些不用。