逐步盈利交易系统模型源码[金字塔模型]
{参数:开始日期:缺省:100416 最小:100416 最大:121231 步长:1
结束日期:缺省:121231 最小:100416 最大:121231 步长:1
隔夜持仓:缺省:0 最小:0 最大:1 步长:1
}
模型策略源码:
[code]
runmode:0; //逐K线模式
清仓数量:=1;
开仓数量:=1;
平仓数量:=1;
开仓滑点:=0.4; //2*mindiff
平仓滑点:=0.6; //3*mindiff
开仓时间:=TIME<145500 AND TIME>091500;
平仓时间:=TIME<150800 AND TIME>091500;
清仓时间:=time > 150800;
开始时间:=1000000 开始日期;
结束时间:=1000000 结束日期;
MA19:MA(C,19),PRECISION2,LINETHICK0;
MA2:MA(C,2),PRECISION2,LINETHICK0;
开多: CROSS(MA2,MA19),PRECISION0,LINETHICK0;
开空: CROSS(MA19,MA2),PRECISION0,LINETHICK0;
平空: CROSS(MA2,MA19),PRECISION0,LINETHICK0;
平多: CROSS(MA19,MA2),PRECISION0,LINETHICK0;
if date>结束时间 or date<开始时间 then exit;
myholding:=HOLDING;
if 平仓时间 then begin
IF (myholding>0 and 平多) THEN begin
SELL(1,平仓数量,LIMIT,close-平仓滑点),orderqueue,IGNORECHECKPRICE;
IF (开仓时间 and 开空) THEN BUYSHORT(1,开仓数量,LIMIT,close-开仓滑点),orderqueue,IGNORECHECKPRICE;
end
IF (myholding<0 and 平空) THEN begin
SELLSHORT(1,平仓数量,LIMIT,close 平仓滑点),orderqueue,IGNORECHECKPRICE;
IF (开仓时间 and 开多) THEN BUY(1,开仓数量,LIMIT,close 开仓滑点),orderqueue,IGNORECHECKPRICE;
end
end
IF (开仓时间 and holding=0) THEN BEGIN
IF (开多) THEN BUY(1,开仓数量,LIMIT,close 开仓滑点),IGNORECHECKPRICE;
IF (开空) THEN BUYSHORT(1,开仓数量,LIMIT,close-开仓滑点),IGNORECHECKPRICE;
END
if 清仓时间 and NOT(隔夜持仓) and holding<>0 then
begin
sell(holding > 0, 清仓数量, LIMIT,close-平仓滑点),orderqueue,IGNORECHECKPRICE;
sellshort(holding < 0, 清仓数量, LIMIT,close 平仓滑点),orderqueue,IGNORECHECKPRICE;
end
资产:ASSET,PRECISION0,NOAXIS,colorcyan;
持仓:HOLDING,PRECISION0,LINETHICK0;
交易数:totaltrade,PRECISION0,LINETHICK0;
日盈利:ASSET-REF(ASSET,barslast(date<>ref(date,1))),PRECISION0,LINETHICK0;
日交易数:totaltrade-REF(totaltrade,barslast(date<>ref(date,1))),PRECISION0,LINETHICK0;
[/code]
页:
[1]