大致处理结构如下所示,由于每次价差都是基于第一次开仓时的开仓价差,那么价差范围相对是固定的。因此N倍价差就代表当前应该处于的档位
[PEL] 复制代码 VARIABLE:num:=0,oneprice=-1;
//跳动价位
diff:=50;
ma5:ma(c,5);
ma10:ma(c,10);
kd:cross(ma5,ma10);
pd:cross(ma10,ma5);
//首次开仓时记录开仓时是的价格
if kd and holding=0 then begin
buy(kd and holding=0,1,marketr);
oneprice:=ENTERPRICE;
num:=1;//开启加仓模式
end
//加仓处理
if oneprice-c>diff*num*MINDIFF and num>0 and num<11 and holding>0 THEN
加仓:buy(1,1,marketr);
num:=num+1;
end
//减仓处理
if oneprice-c<diff*num*MINDIFF and oneprice-c>diff*(num-1)*MINDIFF and num>1 and holding>0 THEN
begin
sell(1,holding,marketr);
num:=num-1;
end
if pd=1 and num=1 and holding>0 THEN
begin
sell(1,holding,marketr);
num:=0;
end
|