 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
INPUT:MA5Period(5,1,100,1), MA20Period(20,1,100,1); // MA 均线周期参数
INPUT:MACDShortPeriod(12,1,100,1), MACDLongPeriod(26,1,100,1), MACDSignalPeriod(9,1,100,1); // MACD 参数
INPUT:VolumeMultiplier(3,1,10,1); // 成交量放量倍数
// MA 均线计算
MA5 := MA(CLOSE, MA5Period);
MA20 := MA(CLOSE, MA20Period);
// MACD 计算
DIFF := EMA(CLOSE, MACDShortPeriod) - EMA(CLOSE, MACDLongPeriod);
DEA := EMA(DIFF, MACDSignalPeriod);
MACD := DIFF - DEA;
// 成交量计算
AvgVolume5 := ma(VOL, 5);
CurrentVolume := VOL;
// 金叉条件
MACDGoldCross := CROSS(DIFF, DEA);
MA5GoldCross := CROSS(MA5, MA20);
// 死叉条件
MACDBearCross := CROSS(DEA, DIFF);
MA5BearCross := CROSS(MA20, MA5);
// 成交量放量条件
VolumeSurge := CurrentVolume > VolumeMultiplier * AvgVolume5;
// 开多条件
OpenLong := MA5GoldCross AND MACDGoldCross AND VolumeSurge;
// 平多条件
CloseLong := MA5BearCross AND MACDBearCross AND VolumeSurge;
// 下单模块
IF OpenLong AND HOLDING = 0 THEN BEGIN
BUY(1,1, MARKET); // 开多 1手
END
IF CloseLong AND HOLDING > 0 THEN BEGIN
SELL(1,HOLDING, MARKET); // 平多
END |
|