 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
EMA8 := EMA(CLOSE, 8);
EMA21 := EMA(CLOSE, 21);
EMA55 := EMA(CLOSE, 55);
BOLL_MID := MA(CLOSE, 20);
UPPER := BOLL_MID + 2 * STD(CLOSE, 20); // 布林带上轨
LOWER := BOLL_MID - 2 * STD(CLOSE, 20); // 布林带下轨
LC:=REF(CLOSE,1);
RSI14:=SMA(MAX(CLOSE-LC,0),9,1)/SMA(ABS(CLOSE-LC),9,1)*100;
MACD_DIFF := EMA(CLOSE, 12) - EMA(CLOSE, 26);
MACD_DEA := EMA(MACD_DIFF, 9);
MACD_HIST := 2 * (MACD_DIFF - MACD_DEA); // MACD柱状线
TR1 : MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR14 : MA(TR1,14);
//======= 条件判断 =======//
// 买入条件(多头开仓)
买入条件 := EMA8 > EMA21 AND EMA21 > EMA55 // 趋势确认:EMA8 > EMA21 > EMA55
AND LOW <= LOWER // 价格位置:当日最低价 ≤ 布林带下轨
AND VOL > MA(VOL, 5) // 成交量 > 5日均量
AND RSI14 < 40; // RSI(14) < 40
// 卖出条件(空头开仓)
卖出条件 := EMA8 < EMA21 AND EMA21 < EMA55 // 趋势确认:EMA8 < EMA21 < EMA55
AND HIGH >= UPPER // 价格位置:当日最高价 ≥ 布林带上轨
AND MACD_HIST < REF(MACD_HIST, 1) // MACD柱状线斜率转负
AND ATR14 > 1.5 * MA(ATR14, 14); // ATR(14) > 平均水平的1.5倍
// 平仓规则
趋势反转 := (HOLDING > 0 AND (EMA8 < EMA21 OR EMA21 < EMA55)) // 多头持仓趋势反转
OR (HOLDING < 0 AND (EMA8 > EMA21 OR EMA21 > EMA55)); // 空头持仓趋势反转
移动止盈 := (HOLDING > 0 AND CLOSE < HHV(HIGH, ENTERBARS) * 0.95) // 多头移动止盈
OR (HOLDING < 0 AND CLOSE > LLV(LOW, ENTERBARS) * 1.05); // 空头移动止盈
轨道止盈 := (HOLDING > 0 AND CLOSE >= UPPER) // 多头触及布林带上轨
OR (HOLDING < 0 AND CLOSE <= LOWER); // 空头触及布林带下轨
固定止损 := (HOLDING > 0 AND CLOSE < ENTERPRICE * 0.92) // 多头固定止损
OR (HOLDING < 0 AND CLOSE > ENTERPRICE * 1.08); // 空头固定止损
波动止损 := (HOLDING > 0 AND CLOSE < ENTERPRICE - 2.5 * ATR14) // 多头波动止损
OR (HOLDING < 0 AND CLOSE > ENTERPRICE + 2.5 * ATR14); // 空头波动止损
//======= 交易逻辑 =======//
IF 趋势反转 OR 移动止盈 OR 轨道止盈 OR 固定止损 OR 波动止损 THEN BEGIN
IF HOLDING > 0 THEN SELL(1, holding,MARKET); // 平多单
IF HOLDING < 0 THEN SELLSHORT(1, holding,MARKET); // 平空单
END
ELSE IF HOLDING = 0 THEN BEGIN // 无持仓
IF 买入条件 THEN BEGIN
BUY(1,1, MARKET); // 开多单
END;
IF 卖出条件 THEN BEGIN
BUYSHORT(1,1, MARKET); // 开空单
END;
END;
|
|