金字塔 “后台下单模板”,只要把此模板放在 模型的最后面,就可以后台全自动化交易了。有个性化需求的,也可在此模板上的基础上定制。可用于各种模型。 runmode:0; Globalvariable:hold=drawnull; ……//这里添加上你自己的模型……//这里添加上你自己的模型cc800988:=holding;//这句放在信号稳定的地方 drawtextex(1,1,800,0,'虚拟持仓为:'+numtostr(cc800988,0));//在图表上输入虚拟持仓以便监控 if not(islastbar) or workmode<>1 then exit; xiadan800988:=cc800988-hold; if xiadan800988>0.5 then begin cang:=min(xiadan800988,abs(hold)); if hold<0 then begin tsellshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang); end cang:=xiadan800988+min(hold,0); if cang>0 then begin tbuy(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开多 %.0f',cang); end end if xiadan800988<-0.5 then begin cang:=min(abs(xiadan800988),abs(hold)); if hold>0 then begin tsell(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang); end cang:=abs(xiadan800988)-max(hold,0); if cang>0 then begin tbuyshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开空 %.0f',cang); end end hold:=cc800988;完整实例如下:实例一、 K线走完模式的模型Globalvariable:hold=drawnull; cc800988:=holding;//这句放在信号稳定的地方//蓝色部分改为你自己的模型(K线走完模型) buycond:=count(c>o,2)=2; sellcond:=count(c<o,2)=2; if holding>0 and sellcond then sell(1,1,thisclose); if holding<0 and buycond then sellshort(1,1,thisclose); if holding=0 and buycond then buy(1,1,thisclose); if holding=0 and sellcond then buyshort(1,1,thisclose);drawtextex(1,1,800,0,'虚拟持仓为:'+numtostr(cc800988,0));//在图表上输入虚拟持仓以便监控 if not(islastbar) or workmode<>1 then exit; xiadan800988:=cc800988-hold; if xiadan800988>0.5 then begin cang:=min(xiadan800988,abs(hold)); if hold<0 then begin tsellshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang); end cang:=xiadan800988+min(hold,0); if cang>0 then begin tbuy(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开多 %.0f',cang); end end if xiadan800988<-0.5 then begin cang:=min(abs(xiadan800988),abs(hold)); if hold>0 then begin tsell(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang); end cang:=abs(xiadan800988)-max(hold,0); if cang>0 then begin tbuyshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开空 %.0f',cang); end end hold:=cc800988; 实例二、即时下单模型(固定时间间隔)Globalvariable:hold=drawnull;//蓝色部分改为你自己的模型 buycond:=h>ref(hhv(h,10),1); sellcond:=l<ref(llv(l,10),1); if holding>0 and sellcond then sell(1,1,market); if holding<0 and buycond then sellshort(1,1,market); if holding=0 and buycond then buy(1,1,market); if holding=0 and sellcond then buyshort(1,1,market); cc800988:=holding;//这句放在信号稳定的地方 drawtextex(1,1,800,0,'虚拟持仓为:'+numtostr(cc800988,0));//在图表上输入虚拟持仓以便监控 if not(islastbar) or workmode<>1 then exit; xiadan800988:=cc800988-hold; if xiadan800988>0.5 then begin cang:=min(xiadan800988,abs(hold)); if hold<0 then begin tsellshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang); end cang:=xiadan800988+min(hold,0); if cang>0 then begin tbuy(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开多 %.0f',cang); end end if xiadan800988<-0.5 then begin cang:=min(abs(xiadan800988),abs(hold)); if hold>0 then begin tsell(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang); end cang:=abs(xiadan800988)-max(hold,0); if cang>0 then begin tbuyshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开空 %.0f',cang); end end hold:=cc800988;
|