HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> HSQL語言討論區 >> 停損
停損
Cool,2009-11-05 22:09:40
請問
有辦法寫損失點數一達到停損點就丟停損單嗎?
我照這裡的寫法用5分K的收盤價去算目前倉位的損益
[URL=http://www.huntasoft.com/leadbbs/a/a.asp?B=102&ID=50&q=1&r=121]http://www.huntasoft.com/leadbbs/a/a.asp?B=102&ID=50&q=1&r=121[/URL]
但我的策略是30分的
我細看成交內容
停損的單仍然是用30分的收盤價來平倉
並不是用5分K的收盤價去平倉??
差了25分鐘 停損單丟下去多賠了好多點!!
Hunta,2009-11-05 23:06:14
以你所參考的範例而言,是以5分線為例。
而你是以30分線來操作,其實不用故意以5分線來計算停損利,應該直接用30分線即可。
另外,在例子中之所以用收盤價來計算,是因為「收盤價」其實就是當時的「現價」。
Cool,2009-11-05 23:31:48
問 HSP最近好常當掉
我剛剛重灌HSP
但還是同一台電腦 序號也會跑掉??
因為我的mip檔打不開了,要重寫一次了 = =
Hunta,2009-11-06 06:58:08
當掉?是出現什麼訊息?
重濯huntap.exe序號會跑掉沒錯!!
.mip檔案是管控檔,平常自己在使用時不建議使用,除非你要招收會員才用得到。
Cool,2009-11-06 10:08:23
就是有時一打開程式 或是回測的時候 會當掉 我忘記顯示什麼了 好像是期間選擇過長的訊息 但是期間確定沒選擇超過1年 重灌過後 目前還沒當過
那這樣有收會員之後也不能重灌HSP或重灌電腦了? 因為序號一變 就無法登入原先的帳號來管控使用者了??
關於停損停利 我現在也寫一個5分的 停利100 停損30 但我看詳細交易內容沒有一筆是剛好停利100 停損30的
是因為回測只能以收盤價來計算? 但實際丟單還是在觸碰到停利100點時就馬上丟單嗎??
Hunta,2009-11-06 10:26:19
1.若有序號跳掉的問題可以直接與我們連絡,我們有工具可以將序號改回原號。
2.因為你用的是This Bar的停損停利,所以若你出場的價位是「收盤價」的話,那一定會有誤差,所以你可直接標定正確的價位出場(例如:停損價位=成本-30,停利價位=成本+100),就可以較正確的算出績效。
Cool,2009-11-07 11:33:59
講解的時候我有聽到,我按捉畫面的鑑線上會議系統就跳掉了,後來就進不去了,抱歉,
但是這樣的作法回測時好像還是有一個問題,
就是開盤跳空的時候,
假設我們-30點出場,
但是前一天收盤留倉,隔天反向跳空-100點,
那這個作法回測不就也是計算-30點?? 但實際上-100點!
Hunta,2009-11-07 16:34:49
沒錯,所以程式可以改為:
[SIZE=2] 80 Vb = 目前部位( 總暫結績效 )
90 If Vb < -30 Then
100 Show [ K線下方 , ※ ]
110 Vc = 目前部位( 第 1 次成本價位 ) - 30 [/SIZE]
[SIZE=2] 120 If Vc >= 5分_開盤價 Then[/SIZE]
[SIZE=2] 130 Vc = 5分_開盤價[/SIZE]
[SIZE=2] 140 End If
150 操作訊號( 多單平倉 , 1口 , Vc )
160 End If
[/SIZE]
Cool,2009-11-09 10:42:52
Vb = 目前部位( 總暫結績效 )
If Vb < -30 Then 這樣只知道多單或空單賠了30點
接下來要執行多單平倉還是空單平倉程式不會判斷吧?
麻煩幫我看看這樣寫對不對
D還有單K計數器的End If 要擺在哪才對 有點混淆了
我現在是擺在操作訊號的上面 但是感覺要擺在操作訊號的下面
這裡單K計數器的End If 就擺在下一行而已 感覺怪怪的 [URL=http://www.huntasoft.com/leadbbs/a/a.asp?B=102&ID=50&q=1&r=121]http://www.huntasoft.com/leadbbs/a/a.asp?B=102&ID=50&q=1&r=121[/URL]
是因為我還沒寫送訊號到下單機那行嗎
[SIZE=2]
[/SIZE]
330 Vb = 目前部位( 總暫結績效 )
340 If Vb < -30 Then
350
360 If 目前部位( 倉位多空 ) > 0 Then
370 Show [ K線下方 , ◆ ]
380 If 單K計數器( 目前K線 , 0 ) = 0 Then
390 // 送出多單出場訊號至下單機
400 End If
410 Vc = 目前部位( 第 1 次成本價位 ) - 30
420 If Vc >= 5分_開盤價 Then
430 Vc = 5分_開盤價
440 End If
450 操作訊號( 多單平倉 , 1口 , Vc )
460 單K計數器( 目前K線 , 0 ) = 1
470 End If
480
490 If 目前部位( 倉位多空 ) < 0 Then
500 Show [ K線上方 , ◆ ]
510 If 單K計數器( 目前K線 , 0 ) = 0 Then
520 // 送出空單出場訊號至下單機
530 End If
540 Vd = 目前部位( 第 1 次成本價位 ) + 30
550 If Vd <= 5分_開盤價 Then
560 Vd = 5分_開盤價
570 End If
580 操作訊號( 空單平倉 , 1口 , Vd )
590 單K計數器( 目前K線 , 0 ) = 1
600 End If
610
620 End If
630
640 If Vb > 100 Then
650
660 If 目前部位( 倉位多空 ) > 0 Then
670 Show [ K線下方 , ★ ]
680 If 單K計數器( 目前K線 , 0 ) = 0 Then
690 // 送出多單出場訊號至下單機
700 End If
710 Ve = 目前部位( 第 1 次成本價位 ) + 100
720 If Ve <= 5分_開盤價 Then
730 Ve = 5分_開盤價
740 End If
750 操作訊號( 多單平倉 , 1口 , Ve )
760 單K計數器( 目前K線 , 0 ) = 1
770 End If
780
790 If 目前部位( 倉位多空 ) < 0 Then
800 Show [ K線上方 , ★ ]
810 If 單K計數器( 目前K線 , 0 ) = 0 Then
820 // 送出空單出場訊號至下單機
830 End If
840 Vf = 目前部位( 第 1 次成本價位 ) - 100
850 If Vf >= 5分_開盤價 Then
860 Vf = 5分_開盤價
870 End If
880 操作訊號( 空單平倉 , 1口 , Vf )
890 單K計數器( 目前K線 , 0 ) = 1
900 End If
910
920 End If
Hunta,2009-11-09 11:39:37
[SIZE=2]應該改為:[/SIZE]
[SIZE=2][/SIZE]
[SIZE=2]600 Vb = 目前部位( 總暫結績效 )
610 If Vb < -30 Then
620
630 If 目前部位( 倉位多空 ) > 0 Then
640 Show [ K線下方 , ◆ ]
650 If 單K計數器( 目前K線 , 0 ) = 0 Then
660 Vc = 目前部位( 第 1 次成本價位 ) - 30
670 If Vc >= 5分_開盤價 Then
680 Vc = 5分_開盤價
690 End If
700 End If
710 操作訊號( 多單平倉 , 1口 , Vc )
720 單K計數器( 目前K線 , 0 ) = 1 [/SIZE]
[SIZE=2] (未來加入輸出命令檔或警示聲響)[/SIZE]
[SIZE=2] Else[/SIZE]
[SIZE=2] Show [ K線下方 , ◆ ][/SIZE]
[SIZE=2] Vc = 目前部位( 第 1 次成本價位 ) - 30
If Vc >= 5分_開盤價 Then
Vc = 5分_開盤價
End If [/SIZE]
[SIZE=2] 操作訊號( 多單平倉 , 1口 , Vc )
730 End If
740
750 If 目前部位( 倉位多空 ) < 0 Then
760 Show [ K線上方 , ◆ ]
770 If 單K計數器( 目前K線 , 0 ) = 0 Then
780 Vd = 目前部位( 第 1 次成本價位 ) + 30
790 If Vd <= 5分_開盤價 Then
800 Vd = 5分_開盤價
810 End If
820 End If
830 操作訊號( 空單平倉 , 1口 , Vd )
840 單K計數器( 目前K線 , 0 ) = 1 [/SIZE]
[SIZE=2] (未來加入輸出命令檔或警示聲響)
Else
Show [ K線上方 , ◆ ]
Vd = 目前部位( 第 1 次成本價位 ) + 30
If Vd <= 5分_開盤價 Then
Vd = 5分_開盤價
End If
操作訊號( 空單平倉 , 1口 , Vd )
850 End If
860
870 End If [/SIZE]
Cool,2009-11-09 12:22:52
不懂為何要加入Else這段
Else
Show [ K線下方 , ◆ ]
Vc = 目前部位( 第 1 次成本價位 ) - 30
If Vc >= 5分_開盤價 Then
Vc = 5分_開盤價
End If
操作訊號( 多單平倉 , 1口 , Vc )
前面已經單k計數器=0的話就操作訊號
操作完訊號就會變=1
就結束了
之後就會是1的狀態吧?
為啥還要否則
[SIZE=2] [/SIZE]
[SIZE=2] 600 Vb = 目前部位( 總暫結績效 )
610 If Vb < -30 Then
620 [/SIZE]
[SIZE=2] 630 If 目前部位( 倉位多空 ) > 0 Then
640 Show [ K線下方 , ◆ ] [/SIZE][SIZE=2]
650 If 單K計數器( 目前K線 , 0 ) = 0 Then
660 Vc = 目前部位( 第 1 次成本價位 ) - 30
670 If Vc >= 5分_開盤價 Then
680 Vc = 5分_開盤價
690 End If
700 End If [COLOR=#ff0000]操作訊號 = 0 的話在這就結束了
[/SIZE] 710 操作訊號( 多單平倉 , 1口 , Vc ) [COLOR=#ff0000]那這裡並不屬於0的話才作的動作啊??
[/COLOR] 720 單K計數器( 目前K線 , 0 ) = 1
[/COLOR]
Hunta,2009-11-09 12:30:51
這是為了未來你若要加入輸出命令檔或警示聲響之用,若僅做回涮之用,則不需加入Else。
97 1 2 8: 此主題共有14帖 此頁12帖 每頁12帖
[查看完整模式] LeadBBS 5.0 耗時78.1毫秒 請求2次
|