如题,本人想编一个运行在日K线上的图表程序化,开仓条件为价格向上突破SAR值时开多仓,然后持仓时间不低于3天,3天后当价格向下跌破SAR值时平多反手开空。拜托老师把主要框架写一下,本人写的回测起来好像根本不对。
JSAR:=stkindiex('','SAR.SAR(10,2,20)',0,6,0,100); // 调用今天的SAR值
IF HOLDING<0 THEN BEGIN
IF ENTERBARS>=3 THEN BEGIN
IF C>JSAR THEN BEGIN
SELLSHORT(HOLDING<0,100%,THISCLOSE); //先平空仓再开多仓
BUY(HOLDING=O,1,THISCLOSE);
END
END
END
IF HOLDING>0 THEN BEGIN
IF ENTERBARS>=3 THEN BEGIN
IF C<JSAR THEN BEGIN
SELL(HOLDING>0,100%,THISCLOSE);
BUYSHORT(HOLDING=0,1,THISCLOSE);
END
END
END
你代码中请区分好0和o的差别
TURN:SAR(10,2,20);
cond1:CROSS(c,TURN);
cond2:CROSS(TURN,c);
if cond1=1 then begin
SELLSHORT(HOLDING<0 AND ENTERBARS>=3,1,MARKET);
BUY(HOLDING=0,1,MARKET);
end
if cond2=1 then begin
SELL(HOLDING>0 AND ENTERBARS>=3,1,MARKET);
BUYSHORT(HOLDING=0,1,MARKET);
end