註冊  登入
 

 搜尋

迷你方式顯示論壇 RSS訂閱此版新訊息  

加入收藏 

使用幫助 

聯繫我們 
首頁 >> 程式交易 >> 論壇主區 >> 下單機討論區 >> 查看文章
 新帖 新投票 回覆文章 上篇 重新整理 下篇  


 97 1 8: 此主題共有3帖 此頁3帖 每頁12帖
 


 主題:「輸出命令檔」函數大幅簡化輸出命令檔程序!! - 複製地址
 

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-07-08 11:06:26 人氣:3847樓主

「輸出命令檔」函數大幅簡化輸出命令檔程序!!

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 



級別 職業俠客
積分 69
經驗 4034
文章 55
註冊 09-06-04 17:24
發表: 2009-07-29 15:44:332

版主您好...

請問要如何測試才能見到命令檔c:\cur_cmd.txt內有輸出的買賣資料檔?? (目前檔案內是空的)

感謝...!!

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-07-29 16:21:503

將輸出命令檔函數加入你的策略程式中,當符合進出場條件時配合輸出命令檔函數,即可輸出買賣資料至檔案中。
例如:
  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帖
 

 新帖 新投票 回覆文章



回覆文章 注意: *為必填項
*驗證訊息
用戶名稱 密碼 註冊
*文章名稱 長度不得超過255字
內容(最大25K)

是否是UBB代碼

內容支持插入UBB標籤
使用方法請參考幫助
其它選項:  顯示簽名   鎖定文章  - 顏色表   Alt+S或Ctrl+Enter快速提交