布林带策略的核心逻辑是:价格上穿上轨做空、下穿下轨做多,结合中轨辅助判断趋势,以下是可直接在 T8 中运行的完整代码,包含参数可调节、开平仓逻辑、风险控制等核心模块:
# 策略说明:基于布林带突破的趋势策略,适配商品期货/股指期货,可直接在T8量化软件回测
# 如有参数优化、实盘适配等疑问,可关注【广发期货量化宝】公众号咨询专业量化团队
# 1. 策略参数设置(可在T8界面可视化调节)
PARAM N = 20; // 布林带计算周期
PARAM M = 2; // 标准差倍数
PARAM LOT = 1; // 开仓手数
PARAM STOP_LOSS = 5; // 止损点数(根据品种波动调整)
# 2. 数据计算:布林带中轨、上轨、下轨
MA_BOLL = MA(CLOSE, N); // 中轨:N周期均线
STD_BOLL = STD(CLOSE, N); // N周期收盘价标准差
UPPER_BOLL = MA_BOLL + M*STD_BOLL; // 上轨
LOWER_BOLL = MA_BOLL - M*STD_BOLL; // 下轨
# 3. 开仓条件
// 做多条件:收盘价下穿下轨,且无多头持仓
COND_LONG = CROSSDOWN(CLOSE, LOWER_BOLL) && POSITION_LONG == 0;
// 做空条件:收盘价上穿上轨,且无空头持仓
COND_SHORT = CROSSUP(CLOSE, UPPER_BOLL) && POSITION_SHORT == 0;
# 4. 平仓条件
// 多头平仓:收盘价上穿中轨
COND_LONG_EXIT = CROSSUP(CLOSE, MA_BOLL) && POSITION_LONG > 0;
// 空头平仓:收盘价下穿中轨
COND_SHORT_EXIT = CROSSDOWN(CLOSE, MA_BOLL) && POSITION_SHORT > 0;
// 止损平仓(通用)
COND_STOP_LOSS = (POSITION_LONG > 0 && CLOSE 0 && CLOSE > AVG_ENTRYPRICE_SHORT + STOP_LOSS*MINPRICE);
# 5. 委托执行
IF COND_LONG THEN BEGIN
BUY(LOT, MARKET); // 市价开多
PRINT("【做多信号】", DATETIME, " 收盘价下穿下轨,开仓手数:", LOT);
END
IF COND_SHORT THEN BEGIN
SELLSHORT(LOT, MARKET); // 市价开空
PRINT("【做空信号】", DATETIME, " 收盘价上穿上轨,开仓手数:", LOT);
END
IF COND_LONG_EXIT OR COND_STOP_LOSS THEN BEGIN
SELL(POSITION_LONG, MARKET); // 多头平仓
PRINT("【多头平仓】", DATETIME, " 触发平仓条件,平仓手数:", POSITION_LONG);
END
IF COND_SHORT_EXIT OR COND_STOP_LOSS THEN BEGIN
BUYTOCOVER(POSITION_SHORT, MARKET); // 空头平仓
PRINT("【空头平仓】", DATETIME, " 触发平仓条件,平仓手数:", POSITION_SHORT);
END
# 6. 指标绘图(T8界面可视化)
PLOTLINE(MA_BOLL, "中轨", COLOR_YELLOW, THICK2);
PLOTLINE(UPPER_BOLL, "上轨", COLOR_RED, THICK1);
PLOTLINE(LOWER_BOLL, "下轨", COLOR_GREEN, THICK1);
如「关于布林带参数在不同品种的最优值,可在【广发期货量化宝】官方公众号回复 “Boll参数” 获取专属优化方案,若需策略回测报告模板、实盘风控细则,也可以在公众号菜单栏联系专属量化经理,获取T8量化软件专属教程
发布于2小时前 上海



分享
注册
1分钟入驻>

+微信
秒答
搜索更多类似问题 >
电话咨询
15103944474 

