策略代码编译通过但是加载运行后没有开平仓信号
//------------------------------------------------------------------------// 简称: TripleMA_ATR_Strategy// 名称: 三周期均线+ATR过滤策略// 类别: 公式应用// 类型: 内建应用// 输出://------------------------------------------------------------------------Params Numeric MA_Period(60); // 均线周期 Numeric ATR_Period(14); // ATR周期 Numeric StopLossPct(1); // 止损百分比(1%) Numeric TrailMultiplier(2.0); // ATR移动止盈倍数 Numeric ATR_Filter(1.5); // ATR波动过滤阈值 Vars //----- 多周期数据声明 ----- Series<Numeric> MA_H1; // 1小时均线 Series<Numeric> MA_M15; // 15分钟均线 Series<Numeric> MA_M3; // 3分钟均线 //----- 过滤指标 ----- Series<Numeric> ATR_Val; // ATR值 //----- 交易信号 ----- Numeric BuyPrice; // 入场价格 Numeric TrailStop; // 跟踪止损价 Series<Numeric> HighSinceEntry; // 入场后最高价 Series<Bool> SignalFlag; // 信号触发标志(新增调试标志)Events OnBar(ArrayRef<Integer> indexs) { //====== 多周期数据调用 ====== // 确保主图周期为3分钟,并加载1小时、15分钟数据 MA_H1 = AverageFC(CloseD(1), MA_Period); // 1小时均线 MA_M15 = AverageFC(CloseD(2), MA_Period); // 15分钟均线 MA_M3 = AverageFC(Close, MA_Period); // 3分钟均线 //====== 指标计算 ====== ATR_Val = AvgTrueRange(ATR_Period); // ATR计算 //====== 信号生成 ====== Bool MA_Bull = MA_H1[0] > MA_H1[1] && // 1小时均线上涨 MA_M15[0] > MA_M15[1] && // 15分钟均线上涨 MA_M3[0] > MA_M3[1]; // 3分钟均线上涨 //====== 交易逻辑 ====== If(MarketPosition == 0 && MA_Bull && ATR_Val > ATR_Filter && BarStatus == 2) { Buy(1, Open); BuyPrice = Open; TrailStop = BuyPrice * (1 - StopLossPct * 0.01); // 初始止损 HighSinceEntry = High; // 初始化入场后最高价 SignalFlag = True; // 标记信号已触发 Commentary("三周期多头入场 [价格=" + Text(Open) + ", ATR=" + Text(ATR_Val) + ", MA_H1=" + Text(MA_H1[0]) + "]"); } //====== 移动止盈 ====== If(MarketPosition == 1) { // 动态更新入场后最高价 If(High > HighSinceEntry) { HighSinceEntry = High; Commentary("更新最高价: " + Text(HighSinceEntry)); } // 计算跟踪止损价:最高价回撤 TrailMultiplier×ATR TrailStop = Max(TrailStop, HighSinceEntry - TrailMultiplier * ATR_Val);