[原创]轮询交易,信号反复,导致多次开平。我参考了个程序,看看能否行? [金字塔]
- 咨询内容:
WARNING_DISABLE:4;
ss:=1; //手数
extgbdataset('t1_position',0);
//0表示没有仓位,1表示持有多头, -1表示持有空头
extgbdataset('t1_holding',0);
//0表示没有仓位,>0表示持有多头, <0表示持有空头
extgbdataset('t1_enterbarpos',0);//记录其开仓的K线maa:ema(c,10);
bpk:=cross(c,maa);
spk:=cross(maa ,c);
//非最后一根K线退出
if not(islastbar) or workmode<>1 then exit;//如果当是最后一根k线,执行
IF islastbar and time<151000 then begin// 如果最后一根k线发生过开仓信号,则那一根k线不再交易
if extgbdata('t1_enterbarpos') = barpos then begin
goto continueline ;
end
//没有持仓状态
if extgbdata('t1_position')=0 and extgbdata('t1_holding')=0 then begin
if bpk then begin
buy(1,ss,c);
extgbdataset('t1_position',1);
extgbdataset('t1_holding',ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
endif spk then begin
buyshort(1,ss,c);
extgbdataset('t1_position',-1);//程序化交易 www.cxh99.com
extgbdataset('t1_holding',-ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
end//没有持仓状态
//持有仓位状态
//持有空头
if bpk and extgbdata('t1_position')=-1 and extgbdata('t1_holding')<0 then beginsellshort(1,ss,c);
buy(1,ss,c);
extgbdataset('t1_position',1);
extgbdataset('t1_holding',ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
//持有多头
if spk and extgbdata('t1_position')=1 and extgbdata('t1_holding')>0 then beginsell(1,ss,c);
buyshort(1,ss,c);
extgbdataset('t1_position',-1);
extgbdataset('t1_holding',-ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
END//if ISLASTBARif time>=151300 then begin
sell(extgbdata('t1_holding')>0,ss,c);
sellshort(extgbdata('t1_holding')<0,ss,c);
extgbdataset('t1_position',0);
extgbdataset('t1_holding',0);
endcontinueline@ 资产:tasset,linethick0;
position:=extgbdata('t1_position');
t1holding:=extgbdata('t1_holding');
debugfile('d:\debug\803555.txt','position=%.0f' ,position) ;
debugfile('d:\debug\803555.txt','t1holding=%.0f' ,t1holding) ;以上代码能在金子塔里测试吗?我用了,不能出信号。
- 金字塔客服: 要学会自己测试+调试
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容