帮忙检查一下这段代码,有什么问题吗?为什么图表的信号是正确的,但是这样改成后台交易以后交易就不正常了?
cc1:STKINDI('if00','jz1.cc',0,2,-1),NOAXIS;
cc2:STKINDI('if00','jz2.cc',0,4,-1),NOAXIS;
cc3:STKINDI('if00','bl3.cc',0,18,-1}),NOAXIS;
//正常交易
//1.对锁或空仓
if (cc1=0 and cc2=0 and cc3=0) or (cc1>0 and cc2<0 and cc3=0) or (cc1>0 and cc2=0 and cc3<0)
or (cc1=0 and cc2<0 and cc3>0) or (cc1=0 and cc2>0 and cc3<0)
or (cc1<0 and cc2>0 and cc3=0) or (cc1<0 and cc2=0 and cc3>0) then BEGIN
tsell(tHOLDING>0,tHOLDING,mkt);
tSELLSHORT(tHOLDING<0,tHOLDING,mkt);
end
//2.三多
if cc1>0 and cc2>0 and cc3>0 then BEGIN
tsellshort(tHOLDING<0,tHOLDING,mkt);
tbuy(tHOLDING=2,1,mkt);
tbuy(tHOLDING=1,2,mkt);
tbuy(tHOLDING=0,3,mkt);
end
//3.三空
if cc1<0 and cc2<0 and cc3<0 then BEGIN
tsell(tHOLDING>0,tHOLDING,mkt);
tbuyshort(tHOLDING=-2,1,mkt);
tbuyshort(tHOLDING=-1,2,mkt);
tbuyshort(tHOLDING=0,3,mkt);
end
//4.两多一空
if (cc1>0 and cc2>0 and cc3<0) or (cc1>0 and cc2<0 and cc3>0) or (cc1<0 and cc2>0 and cc3>0) then BEGIN
tsellshort(tHOLDING<0,tHOLDING,mkt);
tsell(tHOLDING=3,2,mkt);
tsell(tHOLDING=2,1,mkt);
tbuy(tHOLDING=0,1,mkt);
end
//5.两空一多
if (cc1>0 and cc2<0 and cc3<0) or (cc1<0 and cc2<0 and cc3>0) or (cc1<0 and cc2>0 and cc3<0) then BEGIN
tsell(tHOLDING>0,tHOLDING,mkt);
tsellshort(tHOLDING=-3,2,mkt);
tsellshort(tHOLDING=-2,1,mkt);
tbuyshort(tHOLDING=0,1,mkt);
end
//6. 两多
if (cc1>0 and cc2>0 and cc3=0) or (cc1>0 and cc2=0 and cc3>0) or (cc1=0 and cc2>0 and cc3>0) then BEGIN
tSELLSHORT(tHOLDING>0,tHOLDING,mkt);
tsell(tHOLDING=3,1,mkt);
tbuy(tHOLDING=1,1,mkt);
tbuy(tHOLDING=0,2,mkt);
end
//7. 两空
if (cc1<0 and cc2<0 and cc3=0) or (cc1<0 and cc2=0 and cc3<0) or (cc1=0 and cc2<0 and cc3<0) then BEGIN
tSELL(tHOLDING>0,tHOLDING,mkt);
tsellshort(tHOLDING=-3,1,mkt);
tbuyshort(tHOLDING=-1,1,mkt);
tbuyshort(tHOLDING=0,2,mkt);
end
//8.一多
if (cc1=0 and cc2=0 and cc3>0) or (cc1=0 and cc2>0 and cc3=0) or (cc1>0 and cc2=0 and cc3=0) then BEGIN
tSELLSHORT(tHOLDING>0,tHOLDING,mkt);
tsell(tHOLDING=3,2,mkt);
tsell(tHOLDING=2,1,mkt);
tbuy(tHOLDING=0,1,mkt);
end
//9.一空
if (cc1<0 and cc2=0 and cc3=0) or (cc1=0 and cc2=0 and cc3<0) or (cc1=0 and cc2<0 and cc3=0) then BEGIN
tSELL(tHOLDING>0,tHOLDING,mkt);
tsellshort(tHOLDING=-3,2,mkt);
tsellshort(tHOLDING=-2,1,mkt);
tbuyshort(tHOLDING=0,1,mkt);
end
持仓:HOLDING,NOAXIS;