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次