註冊  登入
 

 搜尋

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

加入收藏 

使用幫助 

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


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


 主題:請問一下 這個程式語法哪裡錯誤了? - 複製地址
 

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-07-31 22:51:11 人氣:28397樓主

請問一下 這個程式語法哪裡錯誤了?

請問一下  下列的語法哪裡錯了  回測沒有交易次數 @@


  10 Vn = 0 
  20 // 空單進場 
  30 If 1分_KD交叉( 45 ) = 是 And 交叉類型 = -1 Then 
  40  If 1分_KD交叉( 9 ) = 是 And 交叉類型 = 1 Then 
  50   Va = 1分_收盤價 
  60   操作訊號( 空單建倉 , 1口 , Va ) 
  70   Vn = Vn - 1 
  80   Show [ K線下方 , ▼ ] 
  90   顯示資訊[ Va , 序號: 0 , 大小: 009 , 文字色: 32768 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 100  End If 
 110 End If 
 120 // 空單平倉 
 130 If Vn < 0 Then 
 140  If ( 1分_KD交叉( 27 ) = 是 And 交叉類型 = -1 ) Then 
 150   Vb = 1分_開盤價 
 160   操作訊號( 空單平倉 , 1口 , Vb ) 
 170   Vn = Vn + 1 
 180   Show [ K線上方 , ▲ ] 
 190   顯示資訊[ Vb , 序號: 0 , 大小: 009 , 文字色: 255 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 200  End If 
 210 End If 

帥哥,離線

Hunta 



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

語法似乎ok
但是你的「KD(45)死亡交叉」和「KD(9)黃金交叉」要再同一K線出現的機率似乎很低,
可能是這個因素,所以才沒有訊號。

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-07-31 23:11:593

另外再補充一個問題
如果我想把 Va 設定為 1分kd黃金交叉後
當根1分k棒最高點未比前一根k棒最高點高時
即以下根1分k棒開盤價"市價"賣出

如此要怎麼寫呢
麻煩版主了 (或其他功力比我高的大大們)

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-07-31 23:14:454

感謝版主回應

那我知道我錯在哪了
因為我的策略上
是希望出現「KD(45)死亡交叉」之後 的第1次「KD(9)黃金交叉」當作賣出訊號
而不是同時出現...

請問要怎麼修改呢

帥哥,離線

Hunta 



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

[QUOTE][b]下面引用由[u]jjason2005[/u]發表的內容:[/b]

感謝版主回應

那我知道我錯在哪了
因為我的策略上
是希望出現「KD(45)死亡交叉」之後 的第1次「KD(9)黃金交叉」當作賣出訊號
而不是同時出現...

請問要怎麼修改呢[/QUOTE]

第30改為
30 If 1分_KD交叉狀態( 45 ) = -1 Then

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-08-01 13:28:306

再麻煩版主一下
我照版主修改後
回測交易次數還是0
請問還有哪裡有問題呢?

  10 Vn = 0 
  20 // 空單進場 
  30 If 1分_KD交叉( 45 ) = -1 Then 
  40  If 1分_KD交叉( 9 ) = 是 And 交叉類型 = 1 Then 
  50   Va = 1分_收盤價 
  60   操作訊號( 空單建倉 , 1口 , Va ) 
  70   Vn = Vn - 1 
  80   Show [ K線下方 , ▼ ] 
  90   S1$ = '空' + Cstr( Va ) 
 100   顯示資訊[ S1$ , 序號: 0 , 大小: 009 , 文字色: 32768 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 110  End If 
 120 End If 
 130 // 空單平倉 
 140 If Vn < 0 Then 
 150  If ( 1分_KD交叉( 27 ) = 是 And 交叉類型 = -1 ) Then 
 160   Vb = 1分_開盤價 
 170   操作訊號( 空單平倉 , 1口 , Vb ) 
 180   Vn = Vn + 1 
 190   Show [ K線上方 , ▲ ] 
 200   S2$ = '補空' + Cstr( Vb ) 
 210   顯示資訊[ S2$ , 序號: 0 , 大小: 009 , 文字色: 255 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 220  End If 
 230 End If 

帥哥,離線

Hunta 



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

你30行還是錯的
30 If 1分_KD交叉( 45 ) = -1 Then 

應該是

30 If 1分_KD交叉狀態( 45 ) = -1 Then 

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-08-01 14:34:358

更正....剛剛po到舊檔

  10 Vn = 0 
  20 // 空單進場 
  30 If 1分_KD交叉狀態( 45 ) = -1 Then 
  40  If 前1_1分_KD交叉( 9 ) = 是 And 交叉類型 = 1 Then 
  50   Va = 1分_收盤價 
  60   操作訊號( 空單建倉 , 1口 , Va ) 
  70   Vn = Vn - 1 
  80   Show [ K線下方 , ▼ ] 
  90   S1$ = '空' + Cstr( Va ) 
 100   顯示資訊[ S1$ , 序號: 0 , 大小: 009 , 文字色: 32768 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 110  End If 
 120 End If 
 130 // 空單平倉 
 140 If Vn < 0 Then 
 150  If 1分_KD交叉( 27 ) = 是 And 交叉類型 = -1 Then 
 160   Vb = 1分_開盤價 
 170   操作訊號( 空單平倉 , 1口 , Vb ) 
 180   Vn = Vn + 1 
 190   Show [ K線上方 , ▲ ] 
 200   S2$ = '補空' + Cstr( Vb ) 
 210   顯示資訊[ S2$ , 序號: 0 , 大小: 009 , 文字色: 255 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 220  End If 
 230 End If 

帥哥,離線

Hunta 



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

你有沒有「新增歷史資料」?
你要看一下,你回測的期間,是否資料庫有無歷史資料?

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-08-01 15:01:3410

安裝HSP後有更新
目前歷史資料為2001/01/02~2011/07/29

畫面上的訊號只有放空
沒有補空

再修改成下列情況也未改善...
再麻煩版主一下嚕
(我的想法是「KD(45)死亡交叉」之後 的第1次「KD(9)黃金交叉」當作賣出訊號
然後「KD(27)黃金交叉」後當作停損停利點補空平倉)

  10 Vn = 0 
  20 // 空單進場 
  30 If 1分_KD交叉狀態( 45 ) = -1 Then 
  40  If 前1_1分_KD交叉( 9 ) = 是 And 交叉類型 = 1 Then 
  50   Va = 1分_收盤價 
  60   操作訊號( 空單建倉 , 1口 , Va ) 
  70   Vn = Vn - 1 
  80   Show [ K線下方 , ▼ ] 
  90   S1$ = '空' + Cstr( Va ) 
 100   顯示資訊[ S1$ , 序號: 0 , 大小: 009 , 文字色: 32768 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 110  End If 
 120  // 空單平倉 
 130  If Vn < 0 Then 
 140   If 1分_KD交叉( 27 ) = 是 And 交叉類型 = -1 Then 
 150    Vb = 1分_開盤價 
 160    操作訊號( 空單平倉 , 1口 , Vb ) 
 170    Vn = Vn + 1 
 180    Show [ K線上方 , ▲ ] 
 190    S2$ = '補空' + Cstr( Vb ) 
 200    顯示資訊[ S2$ , 序號: 0 , 大小: 009 , 文字色: 255 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 210   End If 
 220  End If 
 230 End If

帥哥,離線

jjason2005 



級別 論壇遊民
積分 17
經驗 629
文章 14
註冊 11-07-31 22:46
發表: 2011-08-01 15:19:2411

補充
會用Vn當作空單平倉的條件
是考慮以後加碼空單及補空
改為目前部位(倉位多空)後
已正常執行了
謝謝版大

  10 // 空單進場 
  20 If 1分_KD交叉狀態( 45 ) = -1 Then 
  30  If 前1_1分_KD交叉( 9 ) = 是 And 交叉類型 = 1 Then 
  40   Va = 1分_收盤價 
  50   操作訊號( 空單建倉 , 1口 , Va ) 
  60   Show [ K線下方 , ▼ ] 
  70   S1$ = '空' + Cstr( Va ) 
  80   顯示資訊[ S1$ , 序號: 0 , 大小: 009 , 文字色: 32768 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
  90  End If 
 100 End If 
 110 // 空單平倉 
 120 If 目前部位( 倉位多空 ) < 0 Then 
 130  If 1分_KD交叉( 27 ) = 是 And 交叉類型 = -1 Then 
 140   Vb = 1分_開盤價 
 150   操作訊號( 空單平倉 , 1口 , Vb ) 
 160   Show [ K線上方 , ▲ ] 
 170   S2$ = '補空' + Cstr( Vb ) 
 180   顯示資訊[ S2$ , 序號: 0 , 大小: 009 , 文字色: 255 , 背景色: 16777215 , 靠左 , 字型: 新細明體 ] 
 190  End If 
 200 End If 


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

 新帖 新投票 回覆文章



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

是否是UBB代碼

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