本方案由EasyQuant AI量化助手提供。
问题背景
双均线策略是 TB 开拓者入门时最常见的趋势策略之一:短期均线上穿长期均线时买入,短期均线下穿长期均线时卖出。它的逻辑直观,适合学习 TB 简语言中的参数、变量、均线函数和交叉判断。
完整示例代码
Params Numeric FastLength(5); Numeric SlowLength(20); Numeric Lots(1); Vars Numeric FastMA; Numeric SlowMA; // 计算短期和长期均线 FastMA = Average(Close, FastLength); SlowMA = Average(Close, SlowLength); // 金叉:短期均线上穿长期均线 If CrossOver(FastMA, SlowMA) Then Begin Buy(Lots, Open); Commentary("短期均线上穿长期均线,执行买入"); End; // 死叉:短期均线下穿长期均线 If CrossUnder(FastMA, SlowMA) Then Begin Sell(Lots, Open); Commentary("短期均线下穿长期均线,执行卖出"); End;加入趋势过滤
可以要求价格同时站上长期均线,再执行金叉买入,减少部分震荡行情中的无效信号:
If CrossOver(FastMA, SlowMA) And Close > SlowMA Then Begin Buy(Lots, Open); Commentary("金叉且价格站上长期均线,执行买入"); End;参数说明
FastLength:短期均线周期,例如 5 日。SlowLength:长期均线周期,例如 20 日。Average(Close, N):计算 N 周期收盘价均线。CrossOver(A, B):A 上穿 B 时返回真。CrossUnder(A, B):A 下穿 B 时返回真。Open:以当前 K 线开盘价作为示例下单价格。
注意事项
均线策略在震荡行情中可能频繁出现假突破,可叠加成交量、趋势或止损过滤。
长周期均线需要足够历史 K 线,回测时应设置合理的预热数据长度。
示例用于学习策略结构,实际交易还应加入仓位控制、手续费、滑点和风险管理。
参数不能只根据单一历史区间优化,应在不同市场阶段验证稳定性。
总结
TB 开拓者双均线策略的核心是Average()、CrossOver()和CrossUnder()。通过短长均线交叉构建买卖信号,可以快速掌握 TB 简语言的基本策略编写方式。