HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> 下單機討論區 >> 「輸出命令檔」函數大幅簡化輸出命令檔程序!!
「輸出命令檔」函數大幅簡化輸出命令檔程序!!
Hunta,2009-07-08 11:06:26
HSP之前版本或是其他策略平台,對於輸出命令檔的部份,總是需要花費數行或十數行程式來處理,頗佔篇幅亦花時間,而目前新增之「輸出命令檔」函數大大簡化了此步驟,通常只需1,2行即可搞定。
各位可以比較以下範例即可瞭解前後差異:
(下例命令檔輸出格式為yyyy/mm/dd hh:mm 多空部位,命令檔路徑為c:\cur_amd.txt)
原本程式寫法:
10 If 前1_5分_MACD交叉( 10 , 10 , 20 ) = 是 Then
20 If 交叉類型 = 1 Then
30 If 目前部位( 倉位多空 ) <= 0 Then
40 Show [ K線下方 , 多 ]
50 Va = 5分_開盤價
60 操作訊號( 空單平倉 , 1口 , Va )
70 操作訊號( 多單建倉 , 1口 , Va )
80 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
90 GoSub date_time
100 S1$ = S1$ + '1'
110 輸出文字檔( C:\cur_cmd.txt , S1$ )
120 單K計數器( 目前K線 , 0 ) = 1
130 End If
140 End If
150 Else
160 If 目前部位( 倉位多空 ) >= 0 Then
170 Show [ K線上方 , 空 ]
180 Va = 5分_開盤價
190 操作訊號( 多單平倉 , 1口 , Va )
200 操作訊號( 空單建倉 , 1口 , Va )
210 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
220 GoSub date_time
230 S1$ = S1$ + '-1'
240 輸出文字檔( C:\cur_cmd.txt , S1$ )
250 單K計數器( 目前K線 , 0 ) = 1
260 End If
270 End If
280 End If
290 End If
300
310 Sub date_time
320 Vb = 目前時間( 西元年4碼 )
330 S1$ = Cstr( Vb ) + '/'
340 Vb = 目前時間( 月 )
350 If Vb < 10 Then
360 S1$ = S1$ + '0' + Cstr( Vb ) + '/'
370 Else
380 S1$ = S1$ + Cstr( Vb ) + '/'
390 End If
400 Vb = 目前時間( 日 )
410 If Vb < 10 Then
420 S1$ = S1$ + '0' + Cstr( Vb ) + ' '
430 Else
440 S1$ = S1$ + Cstr( Vb ) + ' '
450 End If
460 Vb = 目前時間( 時 )
470 If Vb < 10 Then
480 S1$ = S1$ + '0' + Cstr( Vb ) + ':'
490 Else
500 S1$ = S1$ + Cstr( Vb ) + ':'
510 End If
520 Vb = 目前時間( 分 )
530 If Vb < 10 Then
540 S1$ = S1$ + '0' + Cstr( Vb ) + ' '
550 Else
560 S1$ = S1$ + Cstr( Vb ) + ' '
570 End If
580 End Sub
目前程式寫法:
10 If 前1_5分_MACD交叉( 10 , 10 , 20 ) = 是 Then
20 If 交叉類型 = 1 Then
30 If 目前部位( 倉位多空 ) <= 0 Then
40 Show [ K線下方 , 多 ]
50 Va = 5分_開盤價
60 操作訊號( 空單平倉 , 1口 , Va )
70 操作訊號( 多單建倉 , 1口 , Va )
80 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
90 S1$ = '1'
100 [COLOR=#ff0033]輸出命令檔( c:\cur_cmd.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]□[S1$] )[/COLOR]
110 單K計數器( 目前K線 , 0 ) = 1
120 End If
130 End If
140 Else
150 If 目前部位( 倉位多空 ) >= 0 Then
160 Show [ K線上方 , 空 ]
170 Va = 5分_開盤價
180 操作訊號( 多單平倉 , 1口 , Va )
190 操作訊號( 空單建倉 , 1口 , Va )
200 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
210 S1$ = '-1'
220 [COLOR=#ff0033]輸出命令檔( c:\cur_cmd.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]□[S1$] )[/COLOR]
230 單K計數器( 目前K線 , 0 ) = 1
240 End If
250 End If
260 End If
270 End If
hunt168,2009-07-29 15:44:33
版主您好...
請問要如何測試才能見到命令檔c:\cur_cmd.txt內有輸出的買賣資料檔?? (目前檔案內是空的)
感謝...!!
Hunta,2009-07-29 16:21:50
將輸出命令檔函數加入你的策略程式中,當符合進出場條件時配合輸出命令檔函數,即可輸出買賣資料至檔案中。
例如:
10 Vf = 5分_SAR回補價( 20 , 0.02 , 0.2 )
20 Vg = 5分_SAR賣出價( 20 , 0.02 , 0.2 )
30
40 If 5分_K線時間 > 855 And 5分_K線時間 < 1335 Then
50 If Vf = 0 And Vg > 0 Then
60 If 目前部位( 倉位多空 ) <= 0 Then
70 Show [ K線下方 , ↑ ]
80 Va = 5分_開盤價
90 Vb = 5分_最低價 - 15
100 S2$ = '多' + Cstr( Va )
110 顯示文字[ S2$ , 主畫面 , ( -3 , Vb ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ]
120 操作訊號( 空單平倉 , 1口 , Va )
130 操作訊號( 多單建倉 , 1口 , Va )
140 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
150 S1$ = '1'
160 [COLOR=#ff0000]輸出命令檔( c:\cur_cmd.txt , [yyyy]/[mm]/[dd]□[hh]/[nn]□[S1$] )[/COLOR]
170 單K計數器( 目前K線 , 0 ) = 1
180 End If
190 End If
200 End If
210
220 If Vf > 0 And Vg = 0 Then
230 If 目前部位( 倉位多空 ) >= 0 Then
240 Show [ K線上方 , ↓ ]
250 Va = 5分_開盤價
260 Vb = 5分_最高價 + 15
270 S2$ = '空' + Cstr( Va )
280 顯示文字[ S2$ , 主畫面 , ( -3 , Vb ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ]
290 操作訊號( 多單平倉 , 1口 , Va )
300 操作訊號( 空單建倉 , 1口 , Va )
310 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
320 S1$ = '-1'
330 [COLOR=#ff0000]輸出命令檔( c:\cur_cmd.txt , [yyyy]/[mm]/[dd]□[hh]/[nn]□[S1$] )[/COLOR]
340 單K計數器( 目前K線 , 0 ) = 1
350 End If
360 End If
370 End If
380 End If
97 1 8: 此主題共有3帖 此頁3帖 每頁12帖
[查看完整模式] LeadBBS 5.0 耗時62.5毫秒 請求3次
|