[PEL] 复制代码 INPUT:T(3,1,200,1),DIF(0.005,0.001,100,1),SS(1000,1,100000,1);//T为高低价统计的时间,默认为开盘前三分钟;DIF为价差参数,默认为0.005;SS是手数参数
GLOBALVARIABLE:levelb:=-1,levels:=-1;//超全局变量用来记录最近一次 买和卖 时候的档位。
//开盘三分钟的最高最低价
H1:VALUEWHEN(TODAYBAR=1,ref(close,1));
L1:VALUEWHEN(TODAYBAR=1,ref(close,1));
if TODAYBAR=1 then //开盘初始化一次
begin
levelb:=-1;
levels:=-1;
end
level1:=FLOOR((H1-c)/DIF);//当前价格从最高点回落的 档位
level2:=FLOOR((c-l1)/DIF);//当前价格从最低点上涨的 档位
if levelb=-1 then levelb:=max(1,level1);
if levels=-1 then levels:=max(1,level2);
upprice:=H1-(max(levelb,level1))*DIF;//跌破这个价格买入,每次买后,levelb升一档。考虑到价格可能不连续变化,实际取(上次记录的档位,当前实际档位)最大值计算价格
dnprice:=L1+(max(levels,level2))*DIF;//突破这个价格卖出,每次卖后,levels升一档。
买:=c<=upprice and levelb>=0 ;
卖:=c>=dnprice and TBUYHOLDINGEX('','',1)>0 and levels>=0;
if 卖 and TODAYBAR>T then //开盘三分钟后才允许交易
begin
tsell(1,SS,mkt);
levels:=level2+1;
end
if 买 and TODAYBAR>T then
begin
tbuy(1,SS,mkt);
levelb:=level1+1;
end |