以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  图表交易时正常,系统测试时则出现很多品种开不了仓的现象?求教  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74373)

--  作者:man110
--  发布时间:2015/1/13 14:34:21
--  图表交易时正常,系统测试时则出现很多品种开不了仓的现象?求教
图表交易时正常,系统测试时则出现很多品种开不了仓的现象?求教。

我是想把海龟那个单品种4个头寸上限的规则加进去测试一下。结果图表交易时一切正常,系统测试时则出现很多品种开不了仓。
我把测试日期加长了些,有些品种就又有数据了,而有些品种依然没有。

开多时,去掉头寸=0这个条件就正常,不去就只有部分能开仓这怎么回事?图标上一点问题没有啊?如银行,测试显示一仓没开,去图表上看却正常。
如果公式有问题,为啥保险在测试时就正常呢?实在不解。。

测试市场是二级行业指数。


INPUT:M(50,20,300,30),N(1.25,1,3,0.3),D(30,15,50,5),atr倍数(2,0,10,1),单笔风险(0.01,0,0.03,0.005);
VARIABLE:头寸=0;
MID:MA(CLOSE,M);//布林中轨
UPPER:MID + N*STD(CLOSE,M);//布林上轨
LOWER:=MID - N*STD(CLOSE,M);//布林下轨
HC30:=REF(HHV(C,D),1);//30周期收盘价高点
LC30:=REF(LLV(C,D),1);//30周期收盘价低点
CYC:BARSLAST(holding=0)+1,NOdraw;//开仓至今的周期数


atr:=ma(tr,20);

//仓位管理
资金:=cash(0)+avgenterprice*holding;
风险资金:=资金*单笔风险,nodraw;
止损价差:=c-upper,NODRAW;
算数股数:=风险资金/止损价差,nodraw;
股数:=intpart(算数股数/100)*100,nodraw;


//交易系统
a0:头寸,nodraw;

开多条件:=c>HC30 AND c>UPPER;
if HOLDING=0 and 头寸=0 and 股数>0 and 开多条件 then begin {问题出在这里,头寸=0去掉就正常,虽然和holding=0意思重复了,可是按理说这里应该0也是对的啊?}

开多:BUY(开多条件,股数,LIMITR,C);
头寸:=头寸+1;
end

加仓条件:=c>ENTERPRICE+0.5*atr,NODRAW;//(o-atr倍数*atr-enterprice)*entervol>0;
if HOLDING>0 and 头寸<4 and 股数>0 and 开多条件 and 加仓条件 then begin
加仓:buy(开多条件 and 加仓条件,股数,LIMITR,C);
头寸:=头寸+1;
end

aa:=open-atr倍数*atr;
多头移动止损:hhv(aa,cyc),colorgreen;
平多条件:=low<多头移动止损 ;
if HOLDING>0 and 平多条件 then begin
平多:SELL(平多条件,0,stopR,多头移动止损);
头寸:=0;
end
a:头寸,nodraw;

总收益率:returnrate,noaxis,colorgray;
年化收益率:annualreturnrate,nodraw,colorgray;
持仓百分比:(holding*close/asset)*100,nodraw,colorgray;

--  作者:jinzhe
--  发布时间:2015/1/13 14:37:22
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=57075

问题12和21