加入交易次數限制后結果異常 [金字塔]
- 咨詢內容:
早盤突破系統,1分鐘上測試2年,
剛開始寫完交易次數是1700多;后來添加了一個每天只能交易一手的條件,結果交易次數只有3次了!
添加了交易次數限制的代碼如下,是我寫的邏輯出錯了嗎?
input:T(30,5,60,5),
SS(1,1,10,1),
U(1,1,10,1),
D(1,1,10,1),
CS(1,1,5,1);//交易次數限制
VARIABLE:NUM=0;//統計開倉動作n:=barslast(date<>ref(date,1))+1;//開盤以來的K線數量
hh:=hhv(high,n);//開盤以來的高價
H30:=valuewhen(time>=opentime(1) and time<=opentime(1)+T*100,hh);//30分鐘內的高價
ll:=llv(low,n);//開盤以來的低價
L30:=valuewhen(time>=opentime(1) and time<=opentime(1)+T*100,ll);//30分鐘內的低價
上軌:H30+U*MINDIFF,linethick2;
下軌:L30-D*MINDIFF,linethick2;
buycond:=cross(high,上軌);//做多條件
buyshortcond:=cross(下軌,low);//做空條件
buyprice:=max(open,上軌)+1*mindiff;//開多價格
buyshortprice:=min(open,下軌)-1*mindiff;//開空價格stopbuy:max(valuewhen(n=1,open),ref(high,1)*(1-0.5/100)),linedot;//多頭止損價位
stopshort:min(valuewhen(n=1,open),ref(low,1)*(1-0.5/100)),linedot;//空頭止損價位
sellcond:=cross(stopbuy,low);//平多條件
sellshortcond:=cross(high,stopshort);//平空條件
sellprice:=min(open,stopbuy)-1*mindiff;//平多價格
sellshortprice:=max(open,stopshort)+1*mindiff;//平空價格
entertime:=time>opentime(1)+T*100 and time<closetime(0)-10*100;//入場交易時間
exittime:=time>=closetime(0)-10*100;//平倉離場時間if entertime and holding=0 and num<CS then {開倉入場}
begin
if buycond then
BEGIN
buy(1,ss,limitr,buyprice);
NUM:=NUM+1;
END
else if buyshortcond then
BEGIN
buyshort(1,ss,limitr,buyshortprice);
NUM:=NUM+1;
END
endif enterbars>1 and holding<>0 then {止損離場}
begin
if holding>0 and sellcond then
sell(1,ss,limitr,sellprice);
else if holding<0 and sellshortcond then
sellshort(1,ss,limitr,sellshortprice);
endif exittime and holding<>0 then {收盤平倉}
begin
sell(holding>0,ss,limitr,open-1*mindiff);
sellshort(holding<0,ss,limitr,open+1*mindiff);
NUM:=0;
end持倉:holding,linethick0;
凈利潤:netprofit,linethick0;
資產:asset,linethick0;
資金:cash(0),linethick0;
- 金字塔客服:
并且檢查了一下圖表,本來當天是數據是滿足交易條件的,卻沒有顯示也沒有執行交易信號。
- 用戶回復:
if exittime and holding<>0 then {收盤平倉}
begin
sell(holding>0,ss,limitr,open-1*mindiff);
sellshort(holding<0,ss,limitr,open+1*mindiff);
NUM:=0;
end改成
if exittime and holding<>0 then {收盤平倉}
begin
sell(holding>0,ss,limitr,open-1*mindiff);
sellshort(holding<0,ss,limitr,open+1*mindiff);
endif exittime then NUM:=0;
- 網友回復:
試了一下,的確糾正過來了謝謝、、
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容