HSQL程式教學(十三)除錯函數 (Debug)

除錯(Debug)是程式寫作者一項重要的工作,當程式運作不如預期時,為了找出問題的癥結,通常必須瞭解一些關鍵數值的變化
及程式之流程走向,目前在HSQL語言中提供一個Debug函數,語法如下:

Debug( 提示文字 , 變數 )

在策略編輯器中點按「Debug」函數按鈕或直接按D鍵,即可出現Debug設定表單。

※請注意,HSP版本必須升級至v2.8版以上,方可使用此功能。


以下範例中,我們將插入一些Debug函數,用於記錄每根K線當時該變數之實際數值。

例1
10 Va = 5分_開盤價 
20 Vb = 前1_5分_保歷加寬度( 20 ) 
30 Vc = 前2_5分_保歷加寬度( 20 ) 
40 Debug( 前一寬度 , Vb ) 
50 Debug( 前二寬度 , Vc ) 
60 
70 // 多單進場 
80 If 目前部位( 倉位多空 ) <= 0 Then 
90  If ( Vb <= 30 And Vb > 10 ) Or Vb < Vc Then 
100   If 前1_5分_最低價 <= 前1_5分_保歷加下限( 20 ) + 3 Then 
110    Show [ K線下方 , ↑ ] 
120    操作訊號( 空單平倉 , 1口 , Va ) 
130    操作訊號( 多單建倉 , 1口 , Va ) 
140   End If 
150  End If 
160 End If 
170 
180 // 空單進場 
190 If 目前部位( 倉位多空 ) >= 0 Then 
200  If ( Vb <= 30 And Vb > 10 ) Or Vb < Vc Then 
210   If 前1_5分_最高價 >= 前1_5分_保歷加上限( 20 ) - 3 Then 
220    Show [ K線上方 , ↓ ] 
230    操作訊號( 多單平倉 , 1口 , Va ) 
240    操作訊號( 空單建倉 , 1口 , Va ) 
250   End If 
260  End If 
270 End If 
280 
290 // 多單出場 
300 If 目前部位( 倉位多空 ) > 0 Then 
310  Vd = 5分_保歷加上限( 20 ) 
320  Ve = 前1_5分_收盤價 - 目前部位( 第 1 次成本價位 ) 
330  Debug( 上限 , Vd ) 
340  Debug( 目前績效 , Ve ) 
350  If 5分_最高價 >= Vd Then 
360   Show [ K線下方 , ◎ ] 
370   操作訊號( 多單平倉 , 1口 , Vd ) 
380  ElseIf Ve <= -30 Then 
390   Show [ K線下方 , ◎ ] 
400   操作訊號( 多單平倉 , 1口 , Va ) 
410  ElseIf 前1_5分_K線時間 = 1340 Then 
420   Show [ K線下方 , ◎ ] 
430   操作訊號( 多單平倉 , 1口 , Va ) 
440  ElseIf 前1_5分_收盤價 < 前2_5分_最低價 And 前1_5分_收盤價 <= 前1_5分_保歷加下限( 20 ) 
     + 2 Then 
450   Show [ K線下方 , ◎ ] 
460   操作訊號( 多單平倉 , 1口 , Va ) 
470  End If 
480 End If 
490 
500 // 空單出場 
510 If 目前部位( 倉位多空 ) < 0 Then 
520  Vd = 5分_保歷加下限( 20 ) 
530  Ve = 目前部位( 第 1 次成本價位 ) - 前1_5分_收盤價 
540  Debug( 下限 , Vd ) 
550  Debug( 目前績效 , Ve ) 
560  If 5分_最低價 <= Vd Then 
570   Show [ K線下方 , ◎ ] 
580   操作訊號( 空單平倉 , 1口 , Vd ) 
590  ElseIf Ve <= -30 Then 
600   Show [ K線上方 , ◎ ] 
610   操作訊號( 空單平倉 , 1口 , Va ) 
620  ElseIf 前1_5分_K線時間 = 1340 Then 
630   Show [ K線上方 , ◎ ] 
640   操作訊號( 空單平倉 , 1口 , Va ) 
650  ElseIf 前1_5分_收盤價 > 前2_5分_最高價 And 前1_5分_收盤價 >= 前1_5分_保歷加上限( 20 ) 
     - 2 Then 
660   Show [ K線上方 , ◎ ] 
670   操作訊號( 空單平倉 , 1口 , Va ) 
680  End If 
690 End If 

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

在完成策略程式編輯之後,請於策略平台中實際執行,然後開啟畫面左側之「十字線」功能鈕,並將十字線移至K線圖中,即會出現
一個Debug半透明視窗,而內部即會顯示每根K線Debug變數之實際數值。

※註:可利用滑鼠右鍵切換Debug視窗之顯示與隱藏。