HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> HSQL語言討論區 >> 請問三口操作的問題
請問三口操作的問題
mingyi1973,2009-07-01 15:50:39
版大我想請教我想以三口操作
1.如果5MA與40MA黃金交叉則做多三口
2.如果漲超過35點先獲利平倉一口
3.如果5MA與20MA死亡交叉則再獲利平倉一口
但是2或3不一定那一個先發生
所以我就這樣寫,可是第二口一直無法出現
請幫我看一下問題出在那裡?謝謝!!!
350 // 多單進場
360 If 目前部位( 倉位多空 ) <= 0 Then
370 If 5分_均線交叉( 5 , 40 ) = 是 And 交叉類型 = 1 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分_最低價 - 10
440 S4$ = '多' + Cstr( Va )
450 顯示文字[ S4$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 12615935 ]
460 操作訊號( 空單平倉 , 3口 , Va )
470 操作訊號( 多單建倉 , 3口 , Va )
480 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
490 GoSub date_time
500 S1$ = S1$ + '3' + ' ' + Cstr( Va )
510 輸出文字檔( R:\hsp01.txt , S1$ )
520 單K計數器( 目前K線 , 0 ) = 1
530 End If
540 End If
550 End If
560 End If
570
580 // 多單停利一
590 If 目前部位( 倉位多空 ) > 0 Then
600 If 單K計數器( 目前K線 , 0 ) = 0 Then
610 Vf = 5分_最高價 - 目前部位( 第 1 次成本價位 )
620 Vg = 5分_收盤價
630 If Vf >= 35 Then
640 Vi = 5分_最低價 - 10
650 S2$ = '1利' + Cstr( Vg )
660 顯示文字[ S2$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454143 ]
670 操作訊號( 多單平倉 , 1口 , Vg )
680 單K計數器( 目前K線 , 0 ) = 1
690 ElseIf 5分_均線交叉( 5 , 20 ) = 是 And 交叉類型 = -1 Then
700 Vi = 5分_最低價 - 10
710 S2$ = '1利' + Cstr( Vg )
720 顯示文字[ S2$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454143 ]
730 操作訊號( 多單平倉 , 1口 , Vg )
740 單K計數器( 目前K線 , 0 ) = 1
750 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
760 GoSub date_time
770 S1$ = S1$ + '2' + ' ' + Cstr( Vg )
780 輸出文字檔( R:\hsp01.txt , S1$ )
790 End If
800 End If
810 End If
820 End If
830
840 // 多單停利二
850 If 目前部位( 倉位多空 ) > 0 Then
860 If 單K計數器( 目前K線 , 0 ) = 0 Then
870 Vf = 5分_最高價 - 目前部位( 第 1 次成本價位 )
880 Vg = 5分_收盤價
890 If Vf >= 35 Then
900 Vi = 5分_最低價 - 10
910 S10$ = '2利' + Cstr( Vg )
920 顯示文字[ S10$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454143 ]
930 操作訊號( 多單平倉 , 1口 , Vg )
940 單K計數器( 目前K線 , 0 ) = 1
950 ElseIf 5分_均線交叉( 5 , 20 ) = 是 And 交叉類型 = -1 Then
960 Vi = 5分_最低價 - 10
970 S10$ = '2利' + Cstr( Vg )
980 顯示文字[ S10$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454143 ]
990 操作訊號( 多單平倉 , 1口 , Vg )
1000 單K計數器( 目前K線 , 0 ) = 1
1010 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
1020 GoSub date_time
1030 S1$ = S1$ + '1' + ' ' + Cstr( Vg )
1040 輸出文字檔( R:\hsp01.txt , S1$ )
1050 End If
1060 End If
1070 End If
1080 End If
Hunta,2009-07-01 22:31:44
建議把行號860、940、1000之「單K計數器( 目前K線 , 0 )」改為「單K計數器( 目前K線 , 1 )」試試看。
mingyi1973,2009-07-02 00:18:45
謝謝您的回答,雖然出現了但是全部亂跑。
我始終搞不懂下面這句是什麼意思,您可以用白話文解釋一下嗎?
單K計數器( 目前K線 , 0 ) = 0
單K計數器( 目前K線 , 0 ) = 1
單K計數器( 目前K線 , 1 ) = 1
單K計數器( 目前K線 , 1 ) = 0
這些各代表什麼?謝謝!!!
Hunta,2009-07-02 11:21:08
已另外PO文說明!!
mingyi1973,2009-07-03 18:11:11
請問我以下的買訊為何一直重複出現?謝謝!
350 // 多單進場
360 If 目前部位( 倉位多空 ) <= 0 Then
370 If 5分_均線趨勢( 20 ) = 1 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分_最低價 - 10
440 S4$ = '多' + Cstr( Va )
450 顯示文字[ S4$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 12615935 ]
460 操作訊號( 空單平倉 , 2口 , Va )
470 操作訊號( 多單建倉 , 2口 , Va )
480 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
490 GoSub date_time
500 S1$ = S1$ + '2' + ' ' + Cstr( Va )
510 輸出文字檔( R:\hsp01.txt , S1$ )
520 單K計數器( 目前K線 , 0 ) = 1
530 End If
540 End If
550 End If
560 End If
Hunta,2009-07-03 20:25:52
行號520改放在行號410之後
mingyi1973,2009-07-04 03:55:50
原來因為依照我的程式減碼時,會連續平倉兩次,等於全出了,所以才會一再出現買訊,請教版大正確的方式該怎麼寫?這單K計數器的應用實在搞不太懂,麻煩您指導一下。謝謝!
10 Va = 5分_開盤價
20
30 // 多單進場
40 If 目前部位( 倉位多空 ) <= 0 Then
50 If 5分_均線趨勢( 20 ) = 1 Then
60 Vb = 1
70 If 目前部位( 倉位多空 ) < 0 Then
80 Vb = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 )
90 End If
100 If Vb >= 1 Then
110 單K計數器( 目前K線 , 0 ) = 1
120 Vi = 5分_最低價 - 10
130 S4$ = '多' + Cstr( Va )
140 顯示文字[ S4$ , 主畫面 , ( 0 , Vi ) , 字型: 新細明體 , 大小: 010 , 顏色: 12615935 ]
150 操作訊號( 空單平倉 , 2口 , Va )
160 操作訊號( 多單建倉 , 2口 , Va )
170 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
180 GoSub date_time
190 S1$ = S1$ + '2' + ' ' + Cstr( Va )
200 輸出文字檔( R:\hsp01.txt , S1$ )
210 End If
220 End If
230 End If
240 End If
250
260 // 空單進場
270 If 目前部位( 倉位多空 ) >= 0 Then
280 If 5分_均線趨勢( 20 ) = -1 Then
290 Vb = 1
300 If 目前部位( 倉位多空 ) > 0 Then
310 Vb = K線序號( 目前K線 ) - 目前部位( 第 1 次建倉K線序號 )
320 End If
330 If Vb >= 1 Then
340 單K計數器( 目前K線 , 0 ) = 1
350 Vj = 5分_最高價 + 10
360 S5$ = '空' + Cstr( Va )
370 顯示文字[ S5$ , 主畫面 , ( 0 , Vj ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454016 ]
380 操作訊號( 多單平倉 , 2口 , Va )
390 操作訊號( 空單建倉 , 2口 , Va )
400 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
410 GoSub date_time
420 S1$ = S1$ + '-2' + ' ' + Cstr( Va )
430 輸出文字檔( R:\hsp01.txt , S1$ )
440 End If
450 End If
460 End If
470 End If
480
490 // 多單停利
500 If 目前部位( 倉位多空 ) > 0 And 單K計數器( 目前K線 , 0 ) = 0 Then
510 Vf = 5分_最高價 - 目前部位( 第 1 次成本價位 )
520 Vg = 5分_收盤價
530 If Vf >= 35 Then
540 操作訊號( 多單平倉 , 1口 , Vg )
550 Show [ K線下方 , 利 ]
560 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
570 GoSub date_time
580 S1$ = S1$ + '1' + ' ' + Cstr( Vg )
590 輸出文字檔( R:\hsp01.txt , S1$ )
600 單K計數器( 目前K線 , 0 ) = 1
610 End If
620 End If
630 End If
640
650 // 空單停利
660 If 目前部位( 倉位多空 ) < 0 And 單K計數器( 目前K線 , 0 ) = 0 Then
670 Vh = 目前部位( 第 1 次成本價位 ) - 5分_最低價
680 Vg = 5分_收盤價
690 If Vh >= 35 Then
700 操作訊號( 空單平倉 , 1口 , Vg )
710 Show [ K線上方 , 利 ]
720 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then
730 GoSub date_time
740 S1$ = S1$ + '-1' + ' ' + Cstr( Vg )
750 輸出文字檔( R:\hsp01.txt , S1$ )
760 單K計數器( 目前K線 , 0 ) = 1
770 End If
780 End If
790 End If
mingyi1973,2009-07-04 04:04:53
單K計數器您PO的文我看了,已經了解它的功能,但是實際的應用真是不太了解。
Hunta,2009-07-04 08:48:56
行號600 單K計數器( 目前K線 , 0 ) = 1 改放在行號550之後
行號760 單K計數器( 目前K線 , 0 ) = 1 改放在行號710之後
mingyi1973,2009-07-04 12:41:46
改了還是出現同樣的情形,而且我沒有勾選EMA,但是卻出現EMA的結果,請問版大這是為什麼?
而且無論用
5分_均價( 20 ) > 前1_5分_均價( 20 )
5分_均線步差( 20 ) > 0.1
5分_均線趨勢( 20 ) = 1
結果都會產生同樣的情況
Hunta,2009-07-04 18:30:11
這個跟MA、EMA沒有什麼關係,而是你程式邏輯的問題。
依據你的程式邏輯,不論多空單進場一律進兩口;而出場部份,只要獲利超過35點就出場一口,所以可能會出現連續兩根K線出現出場訊號。
97 1 8: 此主題共有11帖 此頁11帖 每頁12帖
[查看完整模式] LeadBBS 5.0 耗時62.5毫秒 請求2次
|