註冊  登入
 

 搜尋

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

加入收藏 

使用幫助 

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


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


 主題:單K計數器的用法問題 - 複製地址
 

帥哥,離線

hunt168 



級別 職業俠客
積分 69
經驗 4034
文章 55
註冊 09-06-04 17:24
發表: 2009-07-31 02:16:34 人氣:46032樓主

單K計數器的用法問題

版主您好...
 
在正準備進行丟由自動下單機的處理階段了,但目前程式在進行回測時發現,在加入"單K計數器"後,多單或空單出場點只會執行到第一個指令(13:25分出場),也就是說本來符合"elself"後的出場指令在加入"單k計數器"後變成完全不動作了,應該如何正確的使用"單k計數器"呢?
 
有勞版主指導了...感謝!!
 
880 // 空單出場 
 890 If 目前部位( 倉位多空 ) < 0 Then 
 900 If 前1_5分_K線時間 = 1325 Then 
 910 操作訊號( 空單平倉 , 1口 , Vb ) 
 920 Show [ K線上方 , ◎ ] 
 930 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
 940 S1$ = '1' 
 950 輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
 960 單K計數器( 目前K線 , 0 ) = 1 
 970 
 980 ElseIf .............. Then 
 990 操作訊號( 空單平倉 , 1口 , Vb ) 
1000 Show [ K線下方 , ◎ ] 
1010 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1020 S1$ = '1' 
1030 輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1040 單K計數器( 目前K線 , 0 ) = 1 
1050 
1060 ElseIf ................ Then 
1070 操作訊號( 空單平倉 , 1口 , Vb ) 
1080 Show [ K線下方 , ◎ ] 
1090 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1100 S1$ = '1' 
1110 輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1120 單K計數器( 目前K線 , 0 ) = 1 
1130 
1140 ElseIf ......... Then 
1150 操作訊號( 空單平倉 , 1口 , Vb ) 
1160 Show [ K線下方 , ◎ ] 
1170 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1180 S1$ = '1' 
1190 輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1200 單K計數器( 目前K線 , 0 ) = 1 
1210 End If 
1220 End If 
1230 End If 
1240 End If 
1250 End If 
1260 End If 

帥哥,離線

Hunta 



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

應該改寫成:

 880 // 空單出場 
 890 If 目前部位( 倉位多空 ) < 0 Then 
 900  If 前1_5分_K線時間 = 1325 Then 
 910   操作訊號( 空單平倉 , 1口 , Vb ) 
 920   Show [ K線上方 , ◎ ] 
 930   If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
 940    S1$ = '1' 
 950    輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
 960    單K計數器( 目前K線 , 0 ) = 1 
 970    End If
    End If

 980  If .............. Then 
 990   操作訊號( 空單平倉 , 1口 , Vb ) 
1000   Show [ K線下方 , ◎ ] 
1010   If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1020    S1$ = '1' 
1030    輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1040    單K計數器( 目前K線 , 0 ) = 1 
1050    End If
    End If

1060  If ................ Then 
1070   操作訊號( 空單平倉 , 1口 , Vb ) 
1080   Show [ K線下方 , ◎ ] 
1090   If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1100    S1$ = '1' 
1110    輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1120    單K計數器( 目前K線 , 0 ) = 1 
1130    End If
    End If

1140  If ......... Then 
1150   操作訊號( 空單平倉 , 1口 , Vb ) 
1160   Show [ K線下方 , ◎ ] 
1170   If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1180    S1$ = '1' 
1190    輸出命令檔( c\1688.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1200    單K計數器( 目前K線 , 0 ) = 1 
1210   End If 
1220  End If 

1260 End If 

帥哥,離線

hunt168 



級別 職業俠客
積分 69
經驗 4034
文章 55
註冊 09-06-04 17:24
發表: 2009-08-01 00:32:233

版主您好...

依照您的方法修改後,加入了"單K計數器"所回測的資料與以往的紀錄完全符合了,但是可否請教;1.如此程式的寫法,與本來以"Elself"的寫法為何會相同呢? 2.可以解釋一下加入"單k計數器"後"End If"的用法嗎? 3.今天在盤中理應有訊號輸出但剛才在程式中發現"c:\"中少加上了":"號錯過了今天的行情...要請問版主的是今天盤中即時指標有看到訊號出現,但是盤後回測時今日卻是無任何買賣資料(可能是用均價趨勢指標的關係),那麼當時輸出命令檔在盤中是否會出現訊號呢? 4."S1$"的文字輸出是",1,7000"還是" 1 7000"呢?(下單機判讀的格式選擇)

不好意思問題繁雜,感謝版主!!...

帥哥,離線

Hunta 



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

1,2.其實你原本的寫法也可以,只是邏輯上有點錯誤,應該是:
 
If ... Then
 
  If 最後K線 = 是 ... Then
 
  End If
ElseIf ... Then
 
  If 最後K線 = 是 ... Then
 
  End If
ElseIf ... Then
 
  If 最後K線 = 是 ... Then
 
  End If
ElseIf ... Then
......
......
End If
 
你原本的End If擺的位置不太對!!
 
3.因為沒有看到你前端的程式,所以沒有辦法判斷。
 
4.都可以,若下單機命令檔格式可以自行選擇的話,那你就自己決定一種,然後記得策略中輸出命令檔的格式與下單機一致,即可。


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

 新帖 新投票 回覆文章



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

是否是UBB代碼

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