编写一个 TB 开拓者(TradeBlazer)的日内交易策略,核心在于解决两个问题:“怎么进出场”(交易逻辑)和“怎么保证当天平仓”(风控逻辑)。
为了让你能快速上手,我整理了一个经典的“双均线+强制日盘平仓”策略模板。这个策略既包含了基础的开仓逻辑,也包含了日内交易最重要的“收盘前强制平仓”代码。
入场信号:
做多:5日均线(快线)上穿 20日均线(慢线),形成“金叉”。
做空:5日均线(快线)下穿 20日均线(慢线),形成“死叉”。
日内风控(核心):
无论盈亏,在每天收盘前(例如 15:00 或 23:00)强制平掉所有仓位,不持仓过夜,规避隔夜跳空风险。
止损保护:
加入简单的固定点数止损,防止单边行情爆仓。
// 策略名称: TB_Intraday_MA_Strategy
// 策略类型: 日内双均线趋势策略
Params
// 1. 参数设置段
Numeric FastLength(5); // 快速均线周期
Numeric SlowLength(20); // 慢速均线周期
Numeric StopLossPoints(30); // 固定止损点数(例如30跳)
Numeric CloseTime(1500); // 强制平仓时间(15:00,如果是夜盘品种可改为2300)
Vars
// 2. 变量定义段
NumericSeries FastMA; // 定义快线变量
NumericSeries SlowMA; // 定义慢线变量
Numeric MinPoint; // 最小变动价位(用于计算止损金额)
Begin
// 3. 初始化计算
MinPoint = MinMove * PriceScale; // 获取当前合约的最小跳动值
FastMA = AverageFC(Close, FastLength); // 计算快线
SlowMA = AverageFC(Close, SlowLength); // 计算慢线
// 绘图辅助(可选,方便在图表上看线)
PlotNumeric("FastMA", FastMA);
PlotNumeric("SlowMA", SlowMA);
// ==========================================
// 4. 交易逻辑段
// ==========================================
// --- 开仓逻辑 ---
// 金叉买入:快线上穿慢线,且当前空仓
If (CrossOver(FastMA, SlowMA) And MarketPosition == 0)
{
Buy(1, Open); // 下一根K线开盘价买入
}
// 死叉卖出:快线下穿慢线,且当前空仓
If (CrossUnder(FastMA, SlowMA) And MarketPosition == 0)
{
SellShort(1, Open); // 下一根K线开盘价卖出
}
// --- 止损逻辑 ---
// 多单止损:当前价格跌破(开仓价 - 止损点数)
If (MarketPosition == 1 And Low <= AvgEntryPrice - StopLossPoints * MinPoint)
{
Sell(1, Open);
}
// 空单止损:当前价格突破(开仓价 + 止损点数)
If (MarketPosition == -1 And High >= AvgEntryPrice + StopLossPoints * MinPoint)
{
BuyToCover(1, Open);
}
// --- 日内强制平仓逻辑(核心) ---
// 如果当前时间 >= 设定的平仓时间,且持有仓位,则市价全平
// Time 是TB内置函数,返回当前K线的时间(格式如 1500 代表 15:00)
If (Time >= CloseTime And MarketPosition <> 0)
{
// 如果是多单,卖出平仓
If (MarketPosition == 1) Sell(1, Close);
// 如果是空单,买入平仓
If (MarketPosition == -1) BuyToCover(1, Close);
}
End
这个模板是一个标准的日内策略框架,仅仅作为教学使用,你可以先拿它去跑一下历史数据(比如螺纹钢或铁矿石),看看效果如何,再根据回测结果调整参数。
如果你对量化策略调试和编写不太熟悉,或者希望跳过策略调试直接使用量化工具,可以通过其他渠道获取现成的指标,比如广发期货官方公众号【广发期货量化宝】,就提供了由专业投研团队开发的高级量化指标,这些指标经过实测信号清晰,用户无需自己编写和调试代码就能使用。
发布于2026-3-13 17:25 北京



分享
注册
1分钟入驻>

+微信
秒答
电话咨询
18270025212 

