2019年3月30日

如何限制日內交易次數:EntriesToday(D) 、TotalTrades

函式:EntriesToday(D)

我們要限制日內的交易次數,尤其當沖策略會派上用場,最簡單的方式是用「EntriesToday()」這個函式,其中於括弧內指定日期,可傳回該日進場的次數,例如要限制每日當沖次數不超過3次,語法舉例如下:


If EntriesToday(Date) < 3  then  begin  
…(進場)
End;

記得出場腳本要擺在上述控制外寫,以免出不了場。

函式:TotalTrades

EntriesToday定義的”今日”是以凌晨0:00起始計算,遇到交易時間跨日,例如台指夜盤(15:00~隔天05:00)就會遇到困擾,這個時候可以改用TotalTrades這個函式來因應。TotalTrades會回傳目前該策略總進出次數,注意是進出,而非進場,也就是進場後完成出場在TotalTrades才會算一次。接下來我們直接用一個簡單範例來示範控制台指當沖,日盤跟夜盤交易次數各不能超過3次。

===============================
inputs:Len1(5),Len2(20);
Vars:ma1(0),ma2(0),tradequantity(0);

ma1=average(close,Len1);
ma2=average(close,Len2);

if time=1345 then tradequantity=totaltrades;
if time=500 then tradequantity=totaltrades;

If totaltrades < tradequantity + 3 and ma1 cross over ma2 then buy next bar at market;
If totaltrades < tradequantity + 3 and ma1 cross below ma2 then sellshort next bar at market;

setprofittarget(4000);
setstoploss(2000);
===============================

其中,我們在上午盤最後一根K棒(time=1345)及下午盤最後一根K棒(time=500)將到當下的totaltrades儲存(更新)到自設變數tradequantity,在接下來的進場條件限制多加一條totaltrades < tradequantity + 3,如此,可以控制當totaltrades超過上一盤totaltrades逾3次就不再進場。



歡迎加入LINE@
加入好友
(點擊上方圖示)

沒有留言:

張貼留言

歡迎留言討論!