 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
// 参数设置
INPUT:BOLL_PERIOD(20,5,100,1); // BOLL周期
INPUT:BOLL_WIDTH(2,1,10,0.1); // BOLL宽度参数
INPUT:MACD_SHORT(12,5,40,1); // MACD短周期
INPUT:MACD_LONG(26,10,100,1); // MACD长周期
INPUT:MACD_M(9,2,60,1); // MACD信号周期
INPUT:VOL_DAYS(5,1,20,1); // 成交量比较天数
CLOSEPOSMODE:1;
// BOLL指标计算
MID := MA(CLOSE,BOLL_PERIOD);
STD1 := STD(CLOSE,BOLL_PERIOD);
UPPER := MID + BOLL_WIDTH*STD1;
LOWER := MID - BOLL_WIDTH*STD1;
BANDWIDTH := (UPPER-LOWER)/MID*100; // 布林带宽度指标
// MACD指标计算
DIFF := EMA(CLOSE,MACD_SHORT) - EMA(CLOSE,MACD_LONG);
DEA := EMA(DIFF,MACD_M);
MACD := 2 * (DIFF - DEA);
// 成交量比较
VOL_MA5:MA(VOL,VOL_DAYS);
VOL_COND := VOL = hhv(VOL,5); // 成交量5日新高
// 买入条件
// 1. 阳线实体突破BOLL中轨
条件1 := ISUP AND CLOSE>MID AND OPEN<MID;
// 2. MACD水上金叉(DIFF>0)
条件2 := CROSS(DIFF,DEA)=1 AND DIFF>0;
// 3. 成交量放大
条件3 := VOL_COND=1;
买入信号 := 条件1 AND 条件2 AND 条件3;
// 卖出条件
// 1. BOLL缩口
条件A := BANDWIDTH < REF(BANDWIDTH,1);
// 2. K线回踩BOLL中轨
条件B := ABS(CLOSE-MID)/MID < 0.01; // 1%范围内视为回踩
// 3. MACD死叉
条件C := CROSS(DEA,DIFF)=1;
卖出信号 := 条件A AND 条件B AND 条件C;
// 交易执行
老仓:=holding-dayholding;
BUY(买入信号 AND HOLDING=0,100,MARKET);
SELL(卖出信号 AND 老仓>0,老仓,MARKET); |
|