示例模板如下,只实现了多头部分的止盈和月底平仓操作。建议您笑话示例逻辑后,尝试实现剩余部分的逻辑。
[PEL] 复制代码 DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA :=EMA(DIFF,9);
MACD :2*(DIFF-DEA);
ll:=LLV(low,5);
hh:=HHV(HIGH,5);
BAR:SUMBARS(MONTH<>ref(MONTH,1),1);
//cond_bar等于0时,说明第一次成立。
ll_bar:BARSSINCE2(macd>ref(macd,1) , BAR);
hh_bar:BARSSINCE2(macd<ref(macd,1) , BAR);
//第一次成立时,5个周期内的最低价
XX:VALUEWHEN(ll_bar=0,ll);
yy:VALUEWHEN(hh_bar=0,hh);
if CROSS(close,XX)=1 AND VALID(BAR)=1 THEN BEGIN
SELLSHORT(HOLDING<0,1,MARKETR);
buy(HOLDING=0,1,MARKETR);
END
if CROSS(yy,close)=1 AND VALID(BAR)=1 THEN BEGIN
SELL(HOLDING>0,1,MARKETR);
buySHORT(HOLDING=0,1,MARKETR);
END
IF (HHV(H,ENTERBARS)-CLOSE)/AVGENTERPRICE>=0.3 then begin
移动止盈:SELL(1,HOLDING,MARKET);
end
IF ISMONTHEND=1 then begin
SELLSHORT(HOLDING<0,1,MARKETR);
SELL(HOLDING>0,1,MARKETR);
END |