上次反馈过这个问题,我不断找原因,找不出原因来。当前开仓K线的开仓距离,显示的是上一要开仓信号到当产的距离,而不是零。
麻烦帮我看看,源码如下:
INPUT:NMIN(4,1,150,10);
INPUT:SS(10,1,10000,1);
INPUT:ZS(16,1,999,1);
CYC:=BARSLAST(DATE>REF(DATE,1))+1;
RJL:=CYC;
RNKCCS:=COUNT(ENTERBARS=1,RJL);
HIGHESTOF30MIN:=VALUEWHEN(CYC=NMIN,HHV(H,CYC)),COLORRED,LINETHICK2;
LOWESTOF30MIN:=VALUEWHEN(CYC=NMIN,LLV(L,CYC)),COLORGREEN,LINETHICK2;
开仓距离:enterbars,linethick0;
DZS:=L<ENTERPRICE-(ENTERPRICE-REF(OPEN,ENTERBARS))-ZS;
KZS:=H>ENTERPRICE-(ENTERPRICE-REF(OPEN,ENTERBARS))+ZS;
IF DZS AND HOLDING>0 THEN
BEGIN
SELL(HOLDING>0,0,marketR);
END
IF KZS AND HOLDING<0 THEN
BEGIN
SELLSHORT(HOLDING<0,0,marketR);
END
KDA:=HIGH >= HIGHESTOF30MIN AND REF(H,1)<HIGHESTOF30MIN;
KKA:= LOW <= LOWESTOF30MIN AND REF(L,1)>LOWESTOF30MIN;
IF REF(KDA,1) AND HOLDING<=0 AND CYC>NMIN THEN
BEGIN
SELLSHORT(HOLDING<0,0,MARKETR);
BUY(HOLDING=0 AND TIME<=134500,SS,MARKETR);
END
IF REF(KKA,1) AND HOLDING>=0 AND CYC>NMIN THEN
BEGIN
SELL(HOLDING>0,0,MARKETR);
BUYSHORT(HOLDING=0 AND TIME<=134500,SS,MARKETR);
END
开仓距离:enterbars,linethick0;
你把这句话放最后
代码顺序也是很重要的,因为策略的运行模式是从上到下,写前面buy,sell都还没运行,所以不能反应出交易后的情况
错误在哪里?图表交易的原理就是根据信号进行操作,出信号后enterbars就改变
还有,我所提到的代码顺序问题,理解了吗、