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資#料匣內)
實際執行畫面如下: