// 策略名称:价格通道突破空头策略
// 核心逻辑:创新高后反向突破入场 + ATR跟踪止损
Params
Numeric ChannelLength(20); // 通道计算周期(默认20根Bar)
Numeric ATRLength(14); // ATR计算周期(默认14)
Numeric EntryMultiplier(2); // 入场ATR倍数(例如2倍)
Numeric ExitMultiplier(1.5); // 止损ATR倍数(例如1.5倍)
Vars
NumericSeries HighestHigh; // N周期最高价通道
NumericSeries ATRValue; // ATR值
BoolSeries LastBarNewHigh; // 上一根Bar是否创新高
Numeric EntryHigh; // 空单进场后的最高价(用于跟踪止损)
Numeric TrailingStopPrice; // 动态跟踪止损价
Begin
// === 1. 计算指标 ===
HighestHigh = Highest(High, ChannelLength); // N周期最高价
ATRValue = AvgTrueRange(ATRLength); // ATR波动率
// === 2. 判断上一根Bar是否创新高 ===
LastBarNewHigh = (High[1] == HighestHigh[1]); // 前一根是通道高点
// === 3. 入场条件 ===
If (MarketPosition == 0 And LastBarNewHigh) Then
Begin
// 当前Bar最高价突破:前收盘 + ATR*倍数
If (High > Close[1] + ATRValue[1] * EntryMultiplier) Then
Begin
SellShort(1, Open); // 做空
EntryHigh = High; // 记录进场时的最高价
End;
End;
// === 4. 出场条件(跟踪止损) ===
If (MarketPosition == -1) Then
Begin
// 更新进场后的最高价(用于止损计算)
EntryHigh = Max(EntryHigh, High);
// 计算动态止损价:最高价 - ATR*倍数
TrailingStopPrice = EntryHigh - ATRValue * ExitMultiplier;
// 价格跌破止损价则平仓
If (Low <= TrailingStopPrice) Then
BuyToCover(0, Open);
End;
End
老师帮忙看一上Then变量没有被声明怎样修改。
代码谁写的,出了问题就找谁。
ai写的就问ai。
ai瞎写的东西,别人也处理不了
AI写的吧
得自己学了TB语言 或者参照系统代码修改
或者置顶帖有收费代编,把你的需求按照帖子要求提交