// IC
FUND:=10000000; //资金
TC:=INTPART(FUND*0.4/(C*MARGIN*UNIT+FEE));//计算开仓手数
N:=BARSLAST(DATE<>REF(DATE,1))+1;//当天的k线根数
HH:=REF(HHV(H,N),N);//昨天的高点
LL:=REF(LLV(L,N),N);//昨天的低点
HH1:=REF(HHV(H,N*2),N);//前天的高点
LL1:=REF(LLV(L,N*2),N);//前天的低点
CC:=REF(C,N);//昨天的收盘价
CH:=MAX(REF(REF(C,N),N),CC);//取前天收盘价和昨天收盘价二者的最大值
CL:=MIN(REF(REF(C,N),N),CC);//取前天收盘价和昨天收盘价二者的最小值
RANGE1:=MAX(MAX(MAX(HH-CC,CC-LL),ABS(HH1-CH)),ABS(LL1-CL));//求昨天的高点减去昨天的收盘价,昨天的收盘价减去昨天的最低点,二者的最大值,得出的这个最大值与前天的高点减去CH的绝对值比较,取二者最大值,再用这个最大值与前天的低点减去CL的绝对值比较,取最大值
OO:=VALUEWHEN(N=1,O);//今天的开盘价
TOP:=OO+0.5*RANGE1;//今天的开盘价加上0.5倍的RANGE1
BOTTOM:=OO-0.7*RANGE1;//今天的开盘价减去0.7倍的RANGE1
CROSS(C,TOP),BPK(TC);//最新价上穿TOP,做多
CROSSDOWN(C,BOTTOM),SPK(TC);//最新价下穿BOTTOM,做空
EVERY(NOT(ISUP),3),SP(BKVOL);//连续三根k线都不是阳线,卖平
EVERY(NOT(ISDOWN),3),BP(SKVOL);//连续三根k线都不是阴线,买平
|