金字塔 一根K线只出现一次同方向的平开 的源码[金字塔模型]
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
tbuy(1,ss,mkt);
extgbdataset('t1_position',1);
extgbdataset('t1_holding',ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
if spk then begin
tbuyshort(1,ss,mkt);
extgbdataset('t1_position',-1);
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 begin
tsellshort(1,ss,mkt);
tbuy(1,ss,mkt);
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 begin
tsell(1,ss,mkt);
tbuyshort(1,ss,mkt);
extgbdataset('t1_position',-1);
extgbdataset('t1_holding',-ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
END//if ISLASTBAR
if time>=151300 then begin
tsell(extgbdata('t1_holding')>0,ss,mkt);
tsellshort(extgbdata('t1_holding')<0,ss,mkt);
extgbdataset('t1_position',0);
extgbdataset('t1_holding',0);
end
continueline@ 资产: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: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容