HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> HSQL語言討論區 >> 若有程式問題歡迎提出!!
mingyi1973,2009-06-18 12:30:22
若要鎖住訊號,建議可以利用單K計數器來控管,只要訊號一成立就在單K計數器上做上記號;而在判斷是否出現進場訊號的程式部份,先檢查單K計數器是否已出現記號,若有,則自動出現進場訊號
以上所說可以寫範例嗎?謝謝!
Hunta,2009-06-18 13:19:30
例如:
//多單進場
If 單K計數器(目前K線 , 1) = 1 Or ( 目前部位(倉位多空) <= 0 And 5分_均線交叉(10 , 20) = 是 And 交叉類型 = 1) Then
.....
mingyi1973,2009-06-18 13:47:12
謝謝您!再請教
If 初始K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then與
If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
有什麼分別?
Hunta,2009-06-18 13:56:31
If 初始K線 = 是
一般是用來設定預設值,例如:你希望策略一開始變數Vk的初始值是2,你可以這樣寫:
If 初始K線 = 是 Then
Vk = 2
End If
mingyi1973,2009-06-18 14:56:32
我現在已經將程式改成這樣,在移動主畫面時show出來的字有時會不見,等一下又出現了,您可以幫我看一下那裡出問題了嗎?謝謝!
350 // 多單進場
360 If 單K計數器( 目前K線 , 1 ) = 1 Or 目前部位( 倉位多空 ) <= 0 And 5分_均線交叉( 10 , 20 ) = 是
And 交叉類型 = 1 Then
370 Vb = 1
380 If 目前部位( 倉位多空 ) < 0 Then
390 Vb = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 )
400 End If
410 If Vb >= 1 Then
420 Vi = 5分_最低價 - 1
430 S4$ = '多' + Cstr( Va )
440 顯示文字[ S4$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 12615935 ]
450 操作訊號( 空單平倉 , 1口 , Va )
460 操作訊號( 多單建倉 , 1口 , Va )
470 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
480 GoSub date_time
490 S1$ = S1$ + '1'
500 輸出文字檔( C:\cur_cmd.txt , S1$ )
510 單K計數器( 目前K線 , 0 ) = 1
520 End If
530 End If
540 End If
Hunta,2009-06-18 15:10:26
360 If 單K計數器( 目前K線 , 1 ) = 1 Or 目前部位( 倉位多空 ) <= 0 And 5分_均線交叉( 10 , 20 ) = 是 And 交叉類型 = 1 Then
應該改為:
360 If 單K計數器( 目前K線 ,[COLOR=#cc0029] 0[/COLOR] ) = 1 Or [COLOR=#bb0025]([/COLOR] 目前部位( 倉位多空 ) <= 0 And 5分_均線交叉( 10 , 20 ) = 是 And 交叉類型 = 1 [COLOR=#dd002c])[/COLOR] Then
行號360與370之間需插入一行:
[COLOR=#dd002c]If 單K計數器( 目前K線 , 0 ) = 0 Then[/COLOR]
行號530與540之間需插入:
[COLOR=#cc0029]Else
Show(K線下方,↑)
操作訊號( 空單平倉 , 1口 , Va )
操作訊號( 多單建倉 , 1口 , Va )
End If[/COLOR]
mingyi1973,2009-06-18 15:22:06
請問為什麼?
行號530與540之間需插入:
Else
Show(K線下方,↑)
操作訊號( 空單平倉 , 1口 , Va )
操作訊號( 多單建倉 , 1口 , Va )
End If
mingyi1973,2009-06-18 15:46:24
而且如果這樣做每一根k線都有↑和↓的箭頭
Hunta,2009-06-18 17:24:00
你能不能把改好的版本再PO上來?
mingyi1973,2009-06-18 19:06:12
還有這個停損的部份
350 // 多單進場
360 If 單K計數器( 目前K線 , 0 ) = 1 Or ( 目前部位( 倉位多空 ) <= 0 And 5分_均線交叉( 10 , 20 )
= 是 And 交叉類型 = 1 ) Then
370 If 單K計數器( 目前K線 , 0 ) = 0 Then
380 Vb = 1
390 If 目前部位( 倉位多空 ) < 0 Then
400 Vb = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 )
410 End If
420 If Vb >= 1 Then
430 Vi = 5分_最低價 - 1
440 S4$ = '多' + Cstr( Va )
450 顯示文字[ S4$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 12615935 ]
460 操作訊號( 空單平倉 , 1口 , Va )
470 操作訊號( 多單建倉 , 1口 , Va )
480 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
490 GoSub date_time
500 S1$ = S1$ + '1'
510 輸出文字檔( C:\cur_cmd.txt , S1$ )
520 單K計數器( 目前K線 , 0 ) = 1
530 End If
540 End If
550 End If
560 Else
570 Show [ K線上方 , ↑ ]
580 操作訊號( 空單平倉 , 1口 , Va )
590 操作訊號( 多單建倉 , 1口 , Va )
600 End If
610
620 // 多單停損
630 If 單K計數器( 目前K線 , 0 ) = 1 Or ( 目前部位( 倉位多空 ) > 0 ) Then
640 If 單K計數器( 目前K線 , 0 ) = 0 Then
650 Vf = 5分_最低價 - 目前部位( 第 1 次成本價位 )
660 Vg = 5分_收盤價
670 If Vf <= -30 Then
680 Vd = 5分_最低價 - 4
690 S2$ = '損' + Cstr( Vg )
700 顯示文字[ S2$ , 主畫面 , ( 0 , Vd ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454143 ]
710 操作訊號( 多單平倉 , 1口 , Vg )
720 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
730 GoSub date_time
740 S1$ = S1$ + '-1'
750 輸出文字檔( C:\cur_cmd.txt , S1$ )
760 單K計數器( 目前K線 , 0 ) = 1
770 End If
780 End If
790 End If
800 End If
Hunta,2009-06-18 21:21:03
390 If 目前部位( 倉位多空 ) <= 0 Then
應該是[COLOR=#dd002c]<=[/COLOR] 才對
[SIZE=2]行號780與790之間需插入:
[/SIZE][COLOR=#cc0029][SIZE=2]Else
Show(K線下方,損) [/COLOR][/SIZE]
[COLOR=#cc0029][SIZE=2][COLOR=#000000] [/COLOR][COLOR=#dd002c]Vg = 5分_收盤價[/COLOR]
操作訊號( 多單平倉 , 1口 , Va )
End If[/SIZE][/COLOR][SIZE=3] [/SIZE]
amigosun,2009-07-08 15:16:42
我想寫以5分鐘k棒之高低差30點以上且該根5分k的量>10均量2倍時,下一根5分k開盤多單進場,以前一根5分k低點為多單停損,獲利15點為多單停利,當日13:15分以後只平倉不建新倉.
有那位大大可以幫忙寫一下的嗎?因為小弟笨笨弄了半天寫不出來...感恩!
97 1 2 3 8: 此主題共有29帖 此頁12帖 每頁12帖
[查看完整模式] LeadBBS 5.0 耗時47.9毫秒 請求2次
|