
等级: 新手上路
- 注册:
- 2025-9-27
- 曾用名:
|
INPUT:
N1(3,1,100,1), // BBI参数1
N2(6,1,100,1), // BBI参数2
N3(12,1,100,1), // BBI参数3
N4(24,1,100,1); // BBI参数4
VARIABLE:
BBI(0), // BBI指标值
TrendFlag(0), // 趋势标志:1=上升,-1=下降
LastBBI(0); // 上一根K线的BBI值
// 计算BBI指标
BBI = (MA(CLOSE,N1) + MA(CLOSE,N2) + MA(CLOSE,N3) + MA(CLOSE,N4)) / 4;
// 判断BBI趋势方向
IF BBI > LastBBI THEN
TrendFlag = 1 // BBI上升趋势
ELSE IF BBI < LastBBI THEN
TrendFlag = -1 // BBI下降趋势
ELSE
TrendFlag = TrendFlag; // 保持原趋势
LastBBI = BBI; // 更新上一根BBI值
// 交易条件判断
IF MarketPosition <> 1 AND TrendFlag = 1 THEN BEGIN
// BBI上升趋势,只做多
IF C > BBI THEN BEGIN
BUY(2,1); // 收盘价高于BBI,买入2手多单
DEBUG('开多单:价格=',C,' BBI=',BBI);
END
END
IF MarketPosition = 1 THEN BEGIN
// 持有多单时的平仓条件
IF C < BBI THEN BEGIN
SELL(1,2); // 收盘价跌破BBI,平仓多单
DEBUG('平多单:价格=',C,' BBI=',BBI);
END
END
IF MarketPosition <> -1 AND TrendFlag = -1 THEN BEGIN
// BBI下降趋势,只做空
IF C < BBI THEN BEGIN
BUYSHORT(2,1); // 收盘价跌破BBI,卖出2手空单
DEBUG('开空单:价格=',C,' BBI=',BBI);
END
END
IF MarketPosition = -1 THEN BEGIN
// 持有空单时的平仓条件
IF C > BBI THEN BEGIN
SELLSHORT(1,2); // 收盘价高于BBI,平仓空单
DEBUG('平空单:价格=',C,' BBI=',BBI);
END
END
// 绘制BBI线
DRAWLINE1(BBI,COLORRED);
策略说明:
核心逻辑:
1. 趋势判断:通过比较当前BBI值与上一根K线的BBI值来判断趋势方向
2. 多单规则:BBI上升趋势时,收盘价上穿BBI开多单2手,收盘价跌破BBI平多单
3. 空单规则:BBI下降趋势时,收盘价下穿BBI开空单2手,收盘价上穿BBI平空单
参数设置:
· N1, N2, N3, N4:BBI指标的四个移动平均周期,可调整
· 默认设置为3,6,12,24,适合3分钟周期
功能特点:
· 使用DEBUG函数输出交易信号,便于调试
· 绘制BBI指标线,方便视觉分析
· 严格的趋势过滤,避免逆势交易
|
|