HSQL程式教學--進階範例說明(策略實作編6)

範例1.
之前的程式範例皆屬於較簡單之策略,而目前介紹這支程式則屬於較進階之程式寫法,使用者可以開始感受HSQL程式語法強大之處,
後續將會陸續介紹其他進階範例,讓各位比較HSQL程式與其他語言不同之處。

本策略之操作定義:

多單進場:
1.若K線出現長下影線,並且沒有長上影線。
2.而且最近4根K線之最低CCI(9)值,低於「前5至前34根K線」(共30根K線)之CCI(9)最低值。
3.CCI(9)值低於-200者。
符合條件1,2或1,3者多單進場。

空單進場:
1.若K線出現長上影線,並且沒有長下影線。
2.而且最近4根K線之最高CCI(9)值,高於「前5至前34根K線」之CCI(9)最高值。
3.CCI(9)值高於200者。
符合條件1,2或1,3者空單進場。

多單出場:
1.至13:40一律出場。
2.距離進場K線至少1根K線以上,且K棒收黑,成交量大於前一K線成交量之1.1倍。
符合條件1或2其一者多單出場。

空單出場:
1.至13:40一律出場。
2.距離進場K線至少1根K線以上,且K棒收紅,成交量大於前一K線成交量之1.1倍。
符合條件1或2其一者空單出場。

10 載入陣列[ 5分_CCI( 9 ) , CCI -> 陣列1 ] 
20 A2{} = 陣列排序( 陣列1 , 216 ~ 245 , 遞增 ) 
30 Va = 陣列1值( 249 ) 
40 Vb = 陣列1值( 248 ) 
50 Vc = 陣列1值( 247 ) 
60 Vd = 陣列1值( 246 ) 
70 Vh = Max( Va , Vb , Vc , Vd ) 
80 Vl = Min( Va , Vb , Vc , Vd ) 
90 Ve = 5分_開盤價 
100 
110 // 多單進場 
120 If 目前部位( 倉位多空 ) <= 0 And 前1_5分_下影線 >= 12 And 前1_5分_上影線 <= 10 Then 
130  If ( Vl <= 陣列2值( 1 ) Or 陣列1值( 249 ) <= -200 ) And 前1_5分_成交量 >= 前1_5分_均量( 10 ) 
    * 1.5 Then 
140   操作訊號( 空單平倉 , 1口 , Ve ) 
150   操作訊號( 多單建倉 , 1口 , Ve ) 
160   Show [ K線下方 , ↑ ] 
170  End If 
180 End If 
190 
200 // 空單進場 
210 If 目前部位( 倉位多空 ) >= 0 And 前1_5分_上影線 >= 12 And 前1_5分_下影線 <= 10 Then
220  If ( Vh >= 陣列2值( 30 ) Or 陣列1值( 249 ) >= 200 ) And 前1_5分_成交量 >= 前1_5分_均量( 10 ) 
    * 1.5 Then 
230   操作訊號( 多單平倉 , 1口 , Ve ) 
240   操作訊號( 空單建倉 , 1口 , Ve ) 
250   Show [ K線上方 , ↓ ] 
260  End If 
270 End If 
280 
290 // 多單出場 
300 If 目前部位( 倉位多空 ) > 0 Then 
310  If 前1_5分_K線時間 = 1340 Then 
320   操作訊號( 多單平倉 , 1口 , Ve ) 
330   Show [ K線下方 , ◎ ] 
340  ElseIf K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 ) > 1 Then 
350   If 前1_5分_開盤價 > 前1_5分_收盤價 And 前1_5分_成交量 > 前2_5分_成交量 * 1.1 Then  
360    操作訊號( 多單平倉 , 1口 , Ve ) 
370    Show [ K線下方 , ◎ ] 
380   End If 
390  End If 
400 End If 
410 
420 // 空單出場 
430 If 目前部位( 倉位多空 ) < 0 Then 
440  If 前1_5分_K線時間 = 1340 Then 
450   操作訊號( 空單平倉 , 1口 , Ve ) 
460   Show [ K線上方 , ◎ ] 
470  ElseIf K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 ) > 1 Then 
480   If 前1_5分_收盤價 > 前1_5分_開盤價 And 前1_5分_成交量 > 前2_5分_成交量 * 1.1 Then 
490    操作訊號( 空單平倉 , 1口 , Ve ) 
500    Show [ K線上方 , ◎ ] 
510   End If 
520  End If 
530 End If 


下載式檔1015.rda (請下載至Huntap資#料匣內)

實際執行畫面如下: