HSQL程式教學--範例說明(策略實作編2)
範例1.
本範例以威廉指標(參數9)配合MA20做為操作標的,操作定義如下:
•多單建倉:當MA20呈現上升走勢,且威廉指標呈現下跌後再上揚(幅度必須大於5),刖多單建倉。
•空單建倉:當MA20呈現下跌走勢,且威廉指標呈現上揚後再下跌(幅度必須大於5),刖空單建倉。
•多單平倉:若上一根K線之收盤價低於再前兩根K線之最低價,則多單平倉。
•空單平倉:若上一根K線之收盤價高於再前兩根K線之最高價,則空單平倉。
10 Va = 前1_5分_W%R( 9 )
20 Vb = 前2_5分_W%R( 9 )
30 Vc = 前3_5分_W%R( 9 )
40 Vd = 5分_開盤價
50
60 // 多單建倉
70 If 目前部位( 倉位多空 ) <= 0 Then
80 If 前1_5分_收盤價 >= 前1_5分_均價( 20 ) And 前1_5分_均線趨勢( 20 ) = 1 Then
90 If Va - Vb >= 5 And Vc - Vb >= 5 Then
100 Show [ K線下方 , ↑ ]
110 操作訊號( 空單平倉 , 1口 , Vd )
120 操作訊號( 多單建倉 , 1口 , Vd )
130 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
140 播放聲音( ALARM.WAV )
150 單K計數器( 目前K線 , 0 ) = 1
160 End If
170 End If
180 End If
190 End If
200
210 // 空單建倉
220 If 目前部位( 倉位多空 ) >= 0 Then
230 If 前1_5分_收盤價 <= 前1_5分_均價( 20 ) And 前1_5分_均線趨勢( 20 ) = -1 Then
240 If Vb - Va >= 5 And Vb - Vc >= 5 Then
250 Show [ K線上方 , ↓ ]
260 操作訊號( 多單平倉 , 1口 , Vd )
270 操作訊號( 空單建倉 , 1口 , Vd )
280 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
290 播放聲音( ALARM.WAV )
300 單K計數器( 目前K線 , 0 ) = 1
310 End If
320 End If
330 End If
340 End If
350
360 // 多單平倉
370 If 目前部位( 倉位多空 ) = 1 Then
380 If 前1_5分_收盤價 < 前2_5分_最低價 And 前1_5分_收盤價 < 前3_5分_最低價 Then
390 Show [ K線下方 , ◎ ]
400 操作訊號( 多單平倉 , 1口 , Vd )
410 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
420 播放聲音( ALARM.WAV )
430 單K計數器( 目前K線 , 0 ) = 1
440 End If
450 End If
460 End If
470
480 // 空單平倉
490 If 目前部位( 倉位多空 ) = -1 Then
500 If 前1_5分_收盤價 > 前2_5分_最高價 And 前1_5分_收盤價 > 前3_5分_最高價 Then
510 Show [ K線上方 , ◎ ]
520 操作訊號( 空單平倉 , 1口 , Vd )
530 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
540 播放聲音( ALARM.WAV )
550 單K計數器( 目前K線 , 0 ) = 1
560 End If
570 End If
580 End If
下載式檔1011.rda (請下載至Huntap資#料匣內)
重點說明:
行號10 將前一根K線之W%R(9)值存在變數Va。
行號20 將前二根K線之W%R(9)值存在變數Vb。
行號30 將前三根K線之W%R(9)值存在變數Vc。
行號40 將目前K線之開盤價存在變數Vd。
行號70 若目前手中部位為空單(<0)或是空手(=0)則執行行號80,否則執行行號220。
行號80 若前一根K線之收盤價在MA20之上,並且MA20呈現上揚走勢,則執行行號90。
行號90 若威廉指標呈現下跌後再上揚,且幅度必須大於5,則執行行號100。
行號100 在K線下方顯示「↑」。
行號110 發佈空單平倉之操作訊號,平倉價位在Vd(即開盤價);若目前為空手,系統內定不會處理空單平倉之動作。
行號120 發佈多單建倉之操作訊號,建倉價位在Vd(即開盤價)。
行號130 若目前K線是最後一根K線,且單K計數器(0)=0,則執行行號140。
行號140 撥放警告聲響。
行號150 將單K計數器(0)設定為1,以確保警告聲響不會重覆撥放。
....
行號370 若目前手中部位為多單(=1),則執行行號380。
行號380 若上一根K線之收盤價低於再前兩根K線之最低價,則執行下方多單平倉處理。
實際執行畫面如下: