请教代码问题

// 简称: 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);缺少分号。试过多种办法,无解。请赐教,谢谢!

新手请教代码问题
请教代码问题
请教代码问题
请教代码问题
代码问题请教
请教老师该代码哪里有问题
请教各位代码问题
新手请教代码老师回测问题
请教一个代码问题
请教下代码问题

这段代码是AI写的吗?不符合TB的语法啊