HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> HSQL語言討論區 >> 模擬單測試時的平倉問題
模擬單測試時的平倉問題
gary09210217,2010-01-18 22:42:10
[SIZE=3]版主你好:[/SIZE]
[SIZE=3] [/SIZE]
[SIZE=3]我今日使用模擬單測試時,到了尾盤平倉訊號有顯示在K線圖上[/SIZE]
[SIZE=3][/SIZE]
[SIZE=3]但我的輸出命令檔卻沒有記錄也沒發送簡訊,這樣算正常嗎?[/SIZE]
[SIZE=3][/SIZE]
[SIZE=3]我的尾盤平倉程式碼如下:[/SIZE]
[SIZE=3][/SIZE]
[SIZE=3]1540 // 尾盤平倉
1550 If 15分_K線時間 > 1315 And 目前部位( 倉位多空 ) <> 0 Then
1560 If 目前部位( 倉位多空 ) > 0 Then
1570 操作訊號( 多單平倉 , Vc口 , Va )
1580 Show [ K線上方 , ◎ ]
1590 Vk = Vc * 0
1600 下單[ MTX 小台指期 , 操作價位:市價 , 最終部位:Vk , 當沖 ]
1610 S1$ = '小台指期' + Cstr( Vq ) + ':' + Cstr( Vr ) + ':' + Cstr( Vs ) + '尾盤多單平倉' + Cstr( Va )
1620 輸出命令檔( c:\abc.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[Vk]□[Va] , 單次 )
1630 發送簡訊[ 0921632247 , S1$ , 不限 ]
1640 Else
1650 操作訊號( 空單平倉 , Vc口 , Va )
1660 Show [ K線下方 , ◎ ]
1670 Vk = Vc * 0
1680 下單[ MTX 小台指期 , 操作價位:市價 , 最終部位:Vk , 當沖 ]
1690 S1$ = '小台指期' + Cstr( Vq ) + ':' + Cstr( Vr ) + ':' + Cstr( Vs ) + '尾盤空單平倉' + Cstr( Va )
1700 輸出命令檔( c:\abc.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[Vk]□[Va] , 單次 )
1710 發送簡訊[ 0921632247 , S1$ , 不限 ]
1720 End If
1730 End If [/SIZE]
[SIZE=3] [/SIZE]
[SIZE=3]還請版主幫忙看看是哪裡的問題!感謝![/SIZE]
Hunta,2010-01-19 00:06:59
照你程式的寫法,若有出現訊號,應該也會同時送出簡訊及輸出命令檔才對。
你再觀察一天看看是否還會發生。
gary09210217,2010-01-19 13:40:09
今天的空單部位尚未接收到平倉的簡訊,看來是有問題了
若是正式下單不曉得會不會有相同問題?
等回家看下單記錄後再向版主回報嘍 ^^
gary09210217,2010-01-19 21:35:01
版主你好:
回家看過各紀錄檔明細後有以下問題:
1.200001-3_990119.txt => 紀錄下空單4口?
2.OrderInfo1_990119.txt => 紀錄下空單1口?
3.到了尾盤平倉時,還是沒有平倉? (尾盤平倉訊號有顯示在K線圖上)
我已將以上紀錄檔以及相關檔案E-mail到您信箱,請協助看看是哪裡有問題
還是說下正式單就不會有問題呢?
PS:
1.我的策略一天最多只下3口才對
2.Debug_Info明細中目前部位( 口數 )一直都是0 ?
Hunta,2010-01-19 22:26:29
請先更新至v5.7e版,明天再測一下。
gary09210217,2010-01-19 22:43:38
剛剛更新至v5.7e版後=>執行策略後下第4口空單的情形已不見了
明天再測看看
版主辛苦了
gary09210217,2010-01-20 14:31:10
今天的2口空單也是沒接收到平倉簡訊
回家再看看紀錄檔明細...
gary09210217,2010-01-21 00:24:58
版主你好:
回家看過Debug_Info紀錄檔明細後發現問題:
目前部位( 口數 ) 及 目前部位( 倉位多空 ) 這2個數值一直為 0
下單後也沒變化 ?
而以上2個數值在K線圖上Debug時卻有正常顯示
這就是K線圖上有顯示平倉符號而沒有發出簡訊的原因
因為尾盤平倉的條件中:If ... And 目前部位( 倉位多空 ) <> 0 Then
所以就不會去處理尾盤平倉了
將相關檔案E-mail到您信箱
請版主確認
gary09210217,2010-01-24 17:02:51
版主您好
感謝您幫我修改程式碼,看了該程式碼我已瞭解我的問題
1/22上線作模擬測試時有一個小狀況:
就是在10:45空單平倉時會不斷發出簡訊
看了Debug_Info明細後發現是 目前部位( 倉位多空 )的值到了11:00才等於0
要解決這個問題我想到以下3個方法:
1.加入單K計數器
2.第570行修改成 If 目前部位( 倉位多空 ) < 0 And Vx <> 9 Then
3.第650行 Vx = 9 前增加一行即 Vb = 目前部位( 倉位多空 )
方法1與方法2是阻止程式重復執行該段程式應該是可行的
方法3我以HSP平台k線作Debug後看起來也是OK的
但是我總覺得比較正確的方法應該要將Vb的值即時修正為0
所以不知道除了方法3還有沒有更適當的作法...
請版主解惑! 謝謝
PS:Debug_Info明細已E-mail到您信箱
Hunta,2010-01-24 20:02:09
試一下就知道了。
gary09210217,2010-01-26 23:54:16
這2天我將程式碼同時修改成方法2與方法3
結果2天都沒有下單訊號??
看了Debug_Info明細後真是傻眼!
將相關檔案E-mail到您信箱
請版主協助...
gary09210217,2010-01-27 15:24:48
今天開啟的2個策略模擬測試,只各接收到一筆空單進場簡訊
但仍未接收到出場簡訊?
回家再看看Debug_Info紀錄檔明細...
唉! 真難搞定
97 1 2 8: 此主題共有17帖 此頁12帖 每頁12帖
[查看完整模式] LeadBBS 5.0 耗時62.5毫秒 請求2次
|