程式碼如下:
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 的時候不再進場。
這樣的寫法大概比較容易了解一點。
請問版主可以指導一下 "限制一個月虧損的寫法嗎" 不勝感激
回覆刪除琳