HSQL程式教學--範例說明(浮動式停損停利出場策略)

本範例介紹浮動式停損停利出場策略,並且以Next Bar及This Bar兩種模式來編寫程式,使用者可以藉由以下兩支程式,順便觀察
Next Bar及This Bar之間程式寫作的差異。

本策略之操作定義:
1.若損失達到25點以上停損出場。
2.多單者:由最高點回跌30點以上停利出場。
3.空單者:由最低點回漲30點以上停利出場。

※本程式以Next Bar方式編寫:
10 Va = 5分_轉折精靈一號 
20 Vb = 5分_開盤價 
30 
40 // 多單進場 
50 If 目前部位( 倉位多空 ) <= 0 And Va = 1 Then 
60  Show [ K線下方 , ↑ ] 
70  操作訊號( 空單平倉 , 1口 , Vb ) 
80  操作訊號( 多單建倉 , 1口 , Vb ) 
90 End If 
100 
110 // 空單進場 
120 If 目前部位( 倉位多空 ) >= 0 And Va = -1 Then 
130  Show [ K線上方 , ↓ ] 
140  操作訊號( 多單平倉 , 1口 , Vb ) 
150  操作訊號( 空單建倉 , 1口 , Vb ) 
160 End If 
170 
180 // 多單出場 
190 If 目前部位( 倉位多空 ) > 0 Then 
200  Vc = 前1_5分_收盤價 - 目前部位( 第 1 次成本價位 ) 
210  Vd = 5分_開盤價 
220  If Vc <= -25 Then 
230   Show [ K線下方 , ◎ ] 
240   操作訊號( 多單平倉 , 1口 , Vd ) 
250  ElseIf K線序號( 目前K線 ) > 目前部位( 第 1 次建倉K線序號 ) Then 
260   Ve = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 ) 
270   Vf = 5分_區間最高價( Ve ) 
280   Vg = Vf - 前1_5分_收盤價 
290   If Vg >= 30 Then 
300    Show [ K線下方 , ◎ ] 
310    操作訊號( 多單平倉 , 1口 , Vd ) 
320   End If 
330  End If 
340 End If 
350 
360 // 空單出場 
370 If 目前部位( 倉位多空 ) < 0 Then 
380  Vc = 目前部位( 第 1 次成本價位 ) - 前1_5分_收盤價 
390  Vd = 5分_開盤價 
400  If Vc <= -25 Then 
410   Show [ K線上方 , ◎ ] 
420   操作訊號( 空單平倉 , 1口 , Vd ) 
430  ElseIf K線序號( 目前K線 ) > 目前部位( 第 1 次建倉K線序號 ) Then 
440   Ve = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 ) 
450   Vf = 5分_區間最低價( Ve ) 
460   Vg = 前1_5分_收盤價 - Vf 
470   If Vg >= 30 Then 
480    Show [ K線上方 , ◎ ] 
490    操作訊號( 空單平倉 , 1口 , Vd ) 
500   End If 
510  End If 
520 End If 


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

※本程式以This Bar方式編寫:
10 Va = 5分_轉折精靈一號 
20 Vb = 5分_開盤價 
30 
40 // 多單進場 
50 If 目前部位( 倉位多空 ) <= 0 And Va = 1 Then 
60  Show [ K線下方 , ↑ ] 
70  操作訊號( 空單平倉 , 1口 , Vb ) 
80  操作訊號( 多單建倉 , 1口 , Vb ) 
90 End If 
100 
110 // 空單進場 
120 If 目前部位( 倉位多空 ) >= 0 And Va = -1 Then 
130  Show [ K線上方 , ↓ ] 
140  操作訊號( 多單平倉 , 1口 , Vb ) 
150  操作訊號( 空單建倉 , 1口 , Vb ) 
160 End If 
170 
180 // 多單出場 
190 If 目前部位( 倉位多空 ) > 0 Then 
200  If 單K計數器( 目前K線 , 0 ) = 0 Then 
210   Vc = 5分_最低價 - 目前部位( 第 1 次成本價位 ) 
220   Vd = 5分_收盤價 
230   If Vc <= -25 Then 
240    Show [ K線下方 , ◎ ] 
250    操作訊號( 多單平倉 , 1口 , Vd ) 
260    單K計數器( 目前K線 , 0 ) = 1 
270   ElseIf K線序號( 目前K線 ) > 目前部位( 第 1 次建倉K線序號 ) Then 
280    Ve = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 ) 
290    Vf = 5分_區間最高價( Ve ) 
300    Vg = Vf - 5分_收盤價 
310    If Vg >= 30 Then 
320     Show [ K線下方 , ◎ ] 
330     操作訊號( 多單平倉 , 1口 , Vd ) 
340     單K計數器( 目前K線 , 0 ) = 1 
350    End If 
360   End If 
370  Else 
380   Vd = 5分_收盤價 
390   Show [ K線下方 , ◎ ] 
400   操作訊號( 多單平倉 , 1口 , Vd ) 
410  End If 
420 End If 
430 
440 // 空單出場 
450 If 目前部位( 倉位多空 ) < 0 Then 
460  If 單K計數器( 目前K線 , 0 ) = 0 Then 
470   Vc = 目前部位( 第 1 次成本價位 ) - 5分_最高價 
480   Vd = 5分_收盤價 
490   If Vc <= -25 Then 
500    Show [ K線上方 , ◎ ] 
510    操作訊號( 空單平倉 , 1口 , Vd ) 
520    單K計數器( 目前K線 , 0 ) = 1 
530   ElseIf K線序號( 目前K線 ) > 目前部位( 第 1 次建倉K線序號 ) Then 
540    Ve = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 ) 
550    Vf = 5分_區間最低價( Ve ) 
560    Vg = 5分_收盤價 - Vf 
570    If Vg >= 30 Then 
580     Show [ K線上方 , ◎ ] 
590     操作訊號( 空單平倉 , 1口 , Vd ) 
600     單K計數器( 目前K線 , 0 ) = 1 
610    End If 
620   End If 
630  Else 
640   Vd = 5分_收盤價 
650   Show [ K線上方 , ◎ ] 
660   操作訊號( 空單平倉 , 1口 , Vd ) 
670  End If 
680 End If 


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

實際執行畫面如下: