 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
//指定基准价
GLOBALVARIABLE:BASE_PRICE=7850;
//止损价
GLOBALVARIABLE:STOP_PRICE=-1;
//格子高度
B:50;
//当行情上穿当前基准价、并且无持仓时,执行开多
IF CROSS(CLOSE,BASE_PRICE)=1 AND tbuyholding(1)=0 THEN BEGIN
//按当前基准价委托下单
tbuy(1,1,lmt,BASE_PRICE);
//记录当前开多时的止损价格
STOP_PRICE:=BASE_PRICE-B;
END
//当前最新价与止损价之间的价格差
OFFSET:CLOSE-STOP_PRICE;
//计算最新价与止损价之间的价格差,相距个格子线数量
GRID_NUM:INTPART(OFFSET/B);
//当有多头持仓时,并且格子线大于2个以上,说明行情价格穿过开仓时的上格,此时止损价上移至n-1格。
IF tbuyholding(1)>0 AND OFFSET>2*B THEN BEGIN
STOP_PRICE:=STOP_PRICE+B*(GRID_NUM-1);
BASE_PRICE:=STOP_PRICE+B;
END
//最新价下穿止损价时,进入止损环节
IF CROSS(STOP_PRICE ,CLOSE)=1 AND tbuyholding(1)>0 THEN BEGIN
tsell(1,1,lmt,STOP_PRICE);
END
IF tbuyholding(1)=0 and OFFSET<=0 THEN BEGIN
//止损完成后,更新新的基准价,用于下次开仓的条件因子使用
STOP_PRICE:=STOP_PRICE-B*abs(GRID_NUM-1);
BASE_PRICE:=STOP_PRICE+2*B;
END
基准价:BASE_PRICE,COLORMAGENTA;
止损价:STOP_PRICE,COLORGREEN;
待突破:BASE_PRICE+B; |
|