////////
ZH1:'600802';
PZ1:'IF09';
input:ss(1,1,100,1);
开多平空条件:=cross(aa,bb);
开空平多条件:=cross(bb,aa);
//交易系统
if开多平空条件THEN BEGIN
tsellshort(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平空
tbuy(TBUYHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开多
end
if开空平多条件THEN BEGIN
tsell(TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平多
tbuyshort(TSELLHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开空
end
//止盈系统
INPUT:B1(45,30,100,5),B2(2,1,5,1);
variable:maxprofit=0;//有仓位时最大获利幅度
variable:win=0;//当前持仓状态下的最大盈利
variable:win2=0;//最大盈利后的回调幅度
if TBUYHOLDINGEX(ZH1,PZ1,0)>0 and
enterbars>0 then begin
win:=(c-enterprice)/enterprice*100; //记录最大盈利,开仓以来最高价(hhv(h,enterbars+1));
if
win>maxprofit then maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
if TSELLHOLDINGEX(ZH1,PZ1,0)>0 and
enterbars>0 then begin
win:=(enterprice-c)/enterprice*100; //记录最大盈利,开仓以来最低价(llv(l,enterbars+1));
if
win>maxprofit then maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
多仓盈利空间:=(hhv(h,enterbars+1)-enterprice)/enterprice*100;
空仓盈利空间:=(enterprice-llv(h,enterbars+1))/enterprice*100;
//出现最高盈利后,回落到盈利的60%平仓出场//
if win2 >=B1 then begin
止多赢:TSELL(多仓盈利空间>B2 AND
TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORYELLOW;
止空赢:TSELLSHORT(空仓盈利空间>B2 AND
TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORYELLOW;
maxprofit:=0;
win:=0;
win2:=0;
end
//止损系统
INPUT:k1(0.7,0.3,3,0.1);
IF TBUYHOLDINGEX(ZH1,PZ1,0)>0 AND
(enterprice-c)/enterprice*100>k1 THEN
BEGIN
止多损:TSELL(TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORRED;
END
IF
TSELLHOLDINGEX(ZH1,PZ1,0)>0 AND (c-enterprice)/enterprice*100>K1
THEN BEGIN
止空损:TSELLSHORT(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORGREEN;
END
//监控未成交单
WCJ:=TREMAINQTY(0,ZH1,PZ1);
IF WCJ<>0 THEN BEGIN
A:=WCJ;
END
//对未成交单撤单
IF WCJ>0 THEN BEGIN
TCANCELEX(1,0,ZH1,PZ1 );
DRAWTEXTEX(1 ,0 ,0 ,0 ,'提示:有未成交单撤单!' ),COLORYELLOW ;
END
//监控持仓和资金状况
当前持仓量:=THOLDING;
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%
DEBUGOUT('当前可用资金%
////////
ZH1:'600802';
PZ1:'IF09';
input:ss(1,1,100,1);
开多平空条件:=cross(aa,bb);
开空平多条件:=cross(bb,aa);
//交易系统
if 开多平空条件 THEN BEGIN
tsellshort(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平空
tbuy(TBUYHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开多
end
if 开空平多条件 THEN BEGIN
tsell(TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平多
tbuyshort(TSELLHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开空
end
//监控未成交单
WCJ:=TREMAINQTY(0,ZH1,PZ1);
IF WCJ<>0 THEN BEGIN
A:=WCJ;
END
//对未成交单撤单
IF WCJ>0 THEN BEGIN
TCANCELEX(1,0,ZH1,PZ1 );
DRAWTEXTEX(1 ,0 ,0 ,0 ,'提示:有未成交单撤单!' ),COLORYELLOW ;
END
//监控持仓和资金状况
当前持仓量:=THOLDING;
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%
DEBUGOUT('当前可用资金%
tsellshort(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,0,ZH1,PZ1);//平空
并不只有平空,你所有的下单语句里面,都少了一个0
具体什么情况,你需要调试一下才能知道,把所有的下单条件调试出来,都满足说明系统没错,
系统不会什么“矫正”,开仓下单,就是表示开仓条件满足
后台代码里面这样写?
后台语句运行时又不会显示图表的信息,这样的代码要放在图表上才会有文字显示