HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> HSQL語言討論區 >> 請問一下 這個均線多單策略哪裡出錯了(PS:我用 策略產生器 製作的)??
請問一下 這個均線多單策略哪裡出錯了(PS:我用 策略產生器 製作的)??
jjason2005,2011-08-01 23:38:04
策略產生器真是好物
不過下列我設定的策略
不知哪裡出錯
一套用在主畫面就出現多跟空在同一根K棒的錯誤
還請版主解惑
10 // 多單進場
20 If 目前部位( 倉位多空 ) = 0 Then
30 If 1分_K線時間 >= 846 And 1分_K線時間 <= 1335 Then
40 If 單K計數器( 目前K線 , 0 ) = 0 Then
50 If 目前部位( 倉位多空 ) = 0 Then
60 If 前1_1分_均線交叉狀態( 5 , 10 ) = 1 Then
70 口數# = 1
80 參考價位# = 1分_收盤價
90 操作訊號( 空單平倉 , 全數 , 參考價位# )
100 操作訊號( 多單建倉 , 口數#口 , 參考價位# )
110 Show [ K線下方 , 多 ]
120 下單[ TX 台指期 , 操作價位:市價 , 最終部位:1 ]
130 單K計數器( 目前K線 , 0 ) = 參考價位#
140 End If
150 End If
160 Else
170 口數# = 1
180 參考價位# = 單K計數器( 目前K線 , 0 )
190 操作訊號( 空單平倉 , 全數 , 參考價位# )
200 操作訊號( 多單建倉 , 口數#口 , 參考價位# )
210 Show [ K線下方 , 多 ]
220 End If
230 End If
240 End If
250
260 // 多單停損
270 If 目前部位( 倉位多空 ) > 0 Then
280 If 單K計數器( 目前K線 , 4 ) = 0 Then
290 If 條件觸發[ 任一筆單虧損15點 ] = 是 Then
300 參考價位# = 1分_收盤價
310 操作訊號( 多單平倉 , 全數 , 參考價位# )
320 Show [ K線下方 , 空 ]
330 下單[ TX 台指期 , 操作價位:市價 , 最終部位:0 ]
340 單K計數器( 目前K線 , 4 ) = 參考價位#
350 End If
360 Else
370 參考價位# = 單K計數器( 目前K線 , 4 )
380 操作訊號( 多單平倉 , 全數 , 參考價位# )
390 Show [ K線下方 , 空 ]
400 End If
410 End If
420
430 // 多單尾盤平倉
440 If 目前部位( 倉位多空 ) > 0 Then
450 If 1分_K線時間 = 1344 Then
460 參考價位# = 1分_開盤價
470 操作訊號( 多單平倉 , 全數 , 參考價位# )
480 Show [ K線下方 , 空 ]
490 下單[ TX 台指期 , 操作價位:市價 , 最終部位:0 ]
500 End If
510 End If
520
530 // 多單條件出場
540 If 目前部位( 倉位多空 ) > 0 Then
550 If 單K計數器( 目前K線 , 6 ) = 0 Then
560 If 目前部位( 倉位多空 ) > 0 Then
570 If 前1_1分_均線交叉狀態( 5 , 20 ) = -1 Then
580 參考價位# = 1分_收盤價
590 操作訊號( 多單平倉 , 全數 , 參考價位# )
600 Show [ K線下方 , 空 ]
610 下單[ TX 台指期 , 操作價位:市價 , 最終部位:0 ]
620 單K計數器( 目前K線 , 6 ) = 參考價位#
630 End If
640 End If
650 Else
660 參考價位# = 單K計數器( 目前K線 , 6 )
670 操作訊號( 多單平倉 , 全數 , 參考價位# )
680 Show [ K線下方 , 空 ]
690 End If
700 End If
Hunta,2011-08-02 00:02:19
這是完整的程式碼?
怎麼沒看到空方程式?
jjason2005,2011-08-02 00:19:59
我想先用單方面作多測試績效回測的結果再作空的
但是目前遇到的問題
導致無法進行績效測試
所以策略也停了下來
能麻煩版主指導一下嗎
Hunta,2011-08-02 06:40:12
應該是一進場就碰觸到出場的條件,才會進出場在同一根K線上。
jjason2005,2011-08-02 09:26:58
可以請板大幫忙指出哪裡有"一進場就碰觸到出場的條件"嗎?
其實我用策略產生器的設定很簡單(如下)
還是說我該增加什麼條件去避免"一進場就碰觸到出場的條件"
麻煩版大
多單進場>>前1_1分_均線交叉狀態( 5 , 10 ) = 1 (下單時間>>1分_K線時間 >= 846 And 1分_K線時間 <= 1335)
多單停損>>條件觸發[ 任一筆單虧損15點 ] = 是
多單條件出場>>前1_1分_均線交叉狀態( 5 , 20 ) = -1(目前部位( 倉位多空 ) > 0)
多單尾盤平倉>>1分_K線時間 = 1344
Hunta,2011-08-02 11:18:00
你可以改一下策略中Show函數內的符號,而不要一律用「空」來表示,例如:損、尾、...
如此你就可以知道是哪一個條件出場
jjason2005,2011-08-02 14:09:58
照板大的方式找到問題了
謝謝版大
然後
我將 "前1_1分_均線交叉狀態( 5 , 20 ) = -1" 改為 "前1_1分_均線交叉( 5 , 20 ) = 是 And 交叉類型 = -1"
錯誤的情況就改善了
請問一下
"前1_1分_均線交叉狀態( 5 , 20 ) = -1"跟"前1_1分_均線交叉( 5 , 20 ) = 是 And 交叉類型 = -1"
的差異在哪??
使用的方式為何??
Hunta,2011-08-02 14:20:04
前1_1分_均線交叉狀態( 5 , 20 ) = -1
是指MA5在下,MA10在上
前1_1分_均線交叉( 5 , 20 ) = 是 And 交叉類型 = -1
是指死亡交叉
jjason2005,2011-08-02 14:23:00
補充
是否
"前1_1分_均線交叉狀態( 5 , 20 ) = -1" 是死亡交叉後持續檢查上層條件 "目前部位( 倉位多空 ) > 0" 成立就執行
所以造成一有多單就出場
而 "前1_1分_均線交叉( 5 , 20 ) = 是 And 交叉類型 = -1" 則是有多單之後才開始檢查每根k線是否達到滿足條件
jjason2005,2011-08-02 15:22:56
最後再請教一個"單K計數器"的問題
40-150列已經明確訂出多單進場條件
為何160列之後還要重複檢查"單K計數器"的狀況並下單??
10 // 多單進場
20 If 目前部位( 倉位多空 ) = 0 Then
30 If 1分_K線時間 >= 846 And 1分_K線時間 <= 1335 Then
40 If 單K計數器( 目前K線 , 0 ) = 0 Then
50 If 目前部位( 倉位多空 ) = 0 Then
60 If 前1_1分_均線交叉狀態( 5 , 10 ) = 1 Then
70 口數# = 1
80 參考價位# = 1分_收盤價
90 操作訊號( 空單平倉 , 全數 , 參考價位# )
100 操作訊號( 多單建倉 , 口數#口 , 參考價位# )
110 Show [ K線下方 , 多 ]
120 下單[ TX 台指期 , 操作價位:市價 , 最終部位:1 ]
130 單K計數器( 目前K線 , 0 ) = 參考價位#
140 End If
150 End If
160 Else
170 口數# = 1
180 參考價位# = 單K計數器( 目前K線 , 0 )
190 操作訊號( 空單平倉 , 全數 , 參考價位# )
200 操作訊號( 多單建倉 , 口數#口 , 參考價位# )
210 Show [ K線上方 , ↑ ]
220 End If
230 End If
240 End If
Hunta,2011-08-02 16:04:02
請看影音教學
http://www.huntasoft.com/leadbbs/a/a.asp?B=107&ID=2742
有關單K計數器部份
97 1 8: 此主題共有11帖 此頁11帖 每頁12帖
[查看完整模式] LeadBBS 5.0 耗時63毫秒 請求2次
|