请教代码问题
// 简称: GB5FZYJ// 名称: 顾比5分钟预警// 类别: 公式应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------Vars // ===== 5分钟周期变量 ===== Series<Numeric> LC; Series<Numeric> RSI; Series<Numeric> E3; Series<Numeric> E5; Series<Numeric> E8; Series<Numeric> E10; Series<Numeric> E12; Series<Numeric> E15; Series<Numeric> E30; Series<Numeric> E35; Series<Numeric> E40; Series<Numeric> E45; Series<Numeric> E50; Series<Numeric> E60; Series<Numeric> H11; Series<Numeric> L1; Series<Numeric> H22; Series<Numeric> L2; Series<Numeric> L1_Pre; Series<Numeric> H22_Pre; // ===== 日线变量 ===== Series<Numeric> Day_RSI; Series<Numeric> Day_LC; Series<Numeric> Day_H11; Series<Numeric> Day_L1; Series<Numeric> Day_H22; Series<Numeric> Day_L2; Series<Numeric> Day_L2_Pre; // ✅ 新增 Series<Numeric> Day_H22_Pre; // ✅ 新增 // ===== 小时变量 ===== Series<Numeric> Hour_H11; Series<Numeric> Hour_L1; Series<Numeric> Hour_H22; Series<Numeric> Hour_L2; Series<Numeric> Hour_L1_Pre; // ✅ 新增 Series<Numeric> Hour_H22_Pre; // ✅ 新增 // ===== 条件变量 ===== Bool DayLong; Bool DayShort; Bool HourLong; Bool HourShort;Events onBar(ArrayRef<Integer> indexs) { // ============================================================ // 1. 先计算 5分钟 (Data0) 的数据 // ============================================================ LC :=Ref(Close, 1); RSI := SMA(Max(Close - LC, 0), 14, 1) / SMA(Abs(Close - LC), 14, 1) * 100; E3 := EMA(Close, 3); E5 := EMA(Close, 5); E8 := EMA(Close, 8); E10 := EMA(Close, 10); E12 := EMA(Close, 12); E15 := EMA(Close, 15); H11 := Max(Max(Max(Max(Max(E3, E5), E8), E10), E12), E15); L1 := Min(Min(Min(Min(Min(E3, E5), E8), E10), E12), E15); E30 := EMA(Close, 30); E35 := EMA(Close, 35); E40 := EMA(Close, 40); E45 := EMA(Close, 45); E50 := EMA(Close, 50); E60 := EMA(Close, 60); H22 := Max(Max(Max(Max(Max(E30, E35), E40), E45), E50), E60); L2 := Min(Min(Min(Min(Min(E30, E35), E40), E45), E50), E60); // 保存上一根K线的值,用于判断交叉 L1_Pre := Ref(L1, 1); H22_Pre := Ref(H22, 1); // ============================================================ // 2. 计算 日线 (Data2) 的数据 (跨周期引用) // ============================================================ Day_LC := Ref(Data2.Close, 1); // ✅ 修正:用 Ref() 代替 [1] Day_RSI := SMA(Max(Data2.Close - Day_LC, 0), 14, 1) / SMA(Abs(Data2.Close - Day_LC), 14, 1) * 100; // 日线 EMA Day_H11 := Max(Max(Max(Max(Max(EMA(Data2.Close, 3), EMA(Data2.Close, 5)), EMA(Data2.Close, 8)), EMA(Data2.Close, 10)), EMA(Data2.Close, 12)), EMA(Data2.Close, 15)); Day_L1 := Min(Min(Min(Min(Min(EMA(Data2.Close, 3), EMA(Data2.Close, 5)), EMA(Data2.Close, 8)), EMA(Data2.Close, 10)), EMA(Data2.Close, 12)), EMA(Data2.Close, 15)); Day_H22 := Max(Max(Max(Max(Max(EMA(Data2.Close, 30), EMA(Data2.Close, 35)), EMA(Data2.Close, 40)), EMA(Data2.Close, 45)), EMA(Data2.Close, 50)), EMA(Data2.Close, 60)); Day_L2 := Min(Min(Min(Min(Min(EMA(Data2.Close, 30), EMA(Data2.Close, 35)), EMA(Data2.Close, 40)), EMA(Data2.Close, 45)), EMA(Data2.Close, 50)), EMA(Data2.Close, 60)); // 日线交叉判断 Day_L2_Pre := Ref(Day_L2, 1); Day_H22_Pre := Ref(Day_H22, 1); // ============================================================ // 3. 计算 1小时 (Data1) 的数据 (跨周期引用) // ============================================================ Hour_H11 := Max(Max(Max(Max(Max(EMA(Data1.Close, 3), EMA(Data1.Close, 5)), EMA(Data1.Close, 8)), EMA(Data1.Close, 10)), EMA(Data1.Close, 12)), EMA(Data1.Close, 15)); Hour_L1 := Min(Min(Min(Min(Min(EMA(Data1.Close, 3), EMA(Data1.Close, 5)), EMA(Data1.Close, 8)), EMA(Data1.Close, 10)), EMA(Data1.Close, 12)), EMA(Data1.Close, 15)); Hour_H22 := Max(Max(Max(Max(Max(EMA(Data1.Close, 30), EMA(Data1.Close, 35)), EMA(Data1.Close, 40)), EMA(Data1.Close, 45)), EMA(Data1.Close, 50)), EMA(Data1.Close, 60)); Hour_L2 := Min(Min(Min(Min(Min(EMA(Data1.Close, 30), EMA(Data1.Close, 35)), EMA(Data1.Close, 40)), EMA(Data1.Close, 45)), EMA(Data1.Close, 50)), EMA(Data1.Close, 60)); // 小时交叉判断 Hour_L1_Pre := Ref(Hour_L1, 1); Hour_H22_Pre := Ref(Hour_H22, 1); // ============================================================ // 4. 判断多空条件 // ============================================================ DayLong := RSI < 50 AND Close < Day_L2; DayShort := RSI > 50 AND Close > Day_H22; HourLong := RSI < 50 AND Close < Hour_L2; HourShort := RSI > 50 AND Close > Hour_H22; // ============================================================ // 5. 开仓预警输出 (Alert) // ============================================================ // 开多预警:日线多 + 小时多 + L1上穿H22 If (DayLong AND HourLong AND CrossOver(L1, H22)) Then Begin Alert("【开多预警】日线+小时共振,L1上穿H22!"); End; // ✅ 修正:加分号 // 开空预警:日线空 + 小时空 + H11下穿L2 If (DayShort AND HourShort AND CrossUnder(H11, L2)) Then Begin Alert("【开空预警】日线+小时共振,H11下穿L2!"); End }编译公式,显示LC :=Ref(Close, 1);缺少分号。试过多种办法,无解。请赐教,谢谢!