为啥返回不了数据
Params Numeric weeksAgo(2); // 默认取2周前的收盘价Vars Series<Numeric> weekClose; // 存储每周最后一个交易日的下午收盘价 Series<Numeric> dailyClose; // 每日下午收盘价 Series<Numeric> lastMonday(0); // 记录每周一的日期标识 BoolSeries newWeekFlag(False); // 标记是否进入新周Begin //--- 记录每日下午收盘价(15:00)--- If (Time == 1500) { dailyClose = Close; // 当前Bar是下午收盘K线 } Else { dailyClose = dailyClose[1]; // 继承前值 } //--- 判断是否为新周(以周一为起始)--- Numeric currentWeekday = Weekday(Date); // 假设1=周一,7=周日 Numeric prevWeekday = Weekday(Date[1]); // 检测逻辑:当今天为周一且前一天不是周一(跨越周末) If (currentWeekday == 1 && prevWeekday > 1) { newWeekFlag = True; // 标记新周开始 weekClose = dailyClose[1]; // 记录上周最后一个下午收盘价 } Else { newWeekFlag = False; weekClose = weekClose[1]; // 维持上周数据 } //--- 返回指定周数前的收盘价 --- If (weeksAgo == 0) { Return weekClose; // 当前周收盘价(实际为上周记录值) } Else If (CurrentBar >= weeksAgo) { Return weekClose[weeksAgo]; // 通过序列偏移直接访问历史数据 } Else { Return InvalidNumeric; // 数据不足时返回无效值 }End