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視窗之顯示與隱藏。