[TS懶人包] [保險服務]

2009年10月13日 星期二

程式交易 - 限制一日虧損

在這一篇文章裡面提到:程式交易 - 達一日最大虧損後不再進場的語法 利用 netprofit 的方式來限制一天的最大虧損。這邊提出另一個寫法…回到利用進出場點的計算來限制一日的最大虧損。

程式碼如下:

vars: dayLoss(50);
vars: mc(0), entryCount(1);

if date <> date[1] then begin
dayLoss = 50;
entryCount = 1;
end if

mc = marketposition * currentcontracts;

if mc[1] = 1 and mc = 0 then
dayLoss = dayLoss + exitprice(0) - entryprice(0)
if mc[1] = -1 and mc = 0 then
dayLoss = dayLoss + entryprice(0) - exitprice(0)
if mc[1] = -1 and mc = 1 then
dayLoss = dayLoss + entryprice(1) - entryprice(0)
if mc[1] = 1 and mc = -1 then
dayLoss = dayLoss + entryprice(0) - entryprice(1)

if dayLoss <= 0 then
entryCount = 0;

if marketposition > 0 then
exitlong next bar at entryprice(0) - dayLoss stop;
if marketposition < 0 then
exitshort next bar at entryprice(0) + dayLoss stop;



大概如上…利用進場的價位和出場的價位把目前可以損失的點數 (dayLoss) 計算出來。也就是說如果第一筆單是獲利 20 點的話…那 dayLoss 就會變成 70 點。也就是接下來的單子可以虧損 70 點。

可以看到我在 dayLoss <= 0 的時候把一個變數 entryFlag 設定為 0,這個變數是需要加在進場的時候順便檢查是否為 1 的,才可以達到 dayLoss <= 0 的時候不再進場。

這樣的寫法大概比較容易了解一點。

1 則留言:

  1. 請問版主可以指導一下 "限制一個月虧損的寫法嗎" 不勝感激

    回覆刪除

請留下您的大名…匿名者恕不回應…

Related Posts Plugin for WordPress, Blogger...