金字塔自动化交易源代码
(2014-10-24 16:45:34)
标签:
股票 |
分类: 程序化交易 |
只要把此模板放在 模型的最后面,就可以后台全自动化交易了。
有个性化需求的,也可在此模板上的基础上定制。
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
end
cang:=xiadan800988+min(hold,0);
if cang>0 then begin
end
end
if xiadan800988<-0.5 then begin
cang:=min(abs(xiadan800988),abs(hold));
if hold>0 then begin
end
cang:=abs(xiadan800988)-max(hold,0);
if cang>0 then begin
end
end
hold:=cc800988;
完整实例如下:
实例一、 K线走完模式的模型
Globalvariable:hold=drawnull;
cc800988:=holding;//这句放在信号稳定的地方
//蓝色部分改为你自己的模型(K线走完模型)
buycond:=count(c>o,2)=2;
sellcond:=count(c
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
end
cang:=xiadan800988+min(hold,0);
if cang>0 then begin
end
end
if xiadan800988<-0.5 then begin
cang:=min(abs(xiadan800988),abs(hold));
if hold>0 then begin
end
cang:=abs(xiadan800988)-max(hold,0);
if cang>0 then begin
end
end
hold:=cc800988;
实例二、即时下单模型(固定时间间隔)
Globalvariable:hold=drawnull;
//蓝色部分改为你自己的模型
buycond:=h>ref(hhv(h,10),1);
sellcond:=l
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
end
cang:=xiadan800988+min(hold,0);
if cang>0 then begin
end
end
if xiadan800988<-0.5 then begin
cang:=min(abs(xiadan800988),abs(hold));
if hold>0 then begin
end
cang:=abs(xiadan800988)-max(hold,0);
if cang>0 then begin
end
end
hold:=cc800988;
--------------------------------
leevolvo原创