你好,我想实现一个“开盘后前3根K线区间”的功能,但目前代码计算出来的最高价、最低价与实际K线不一致。
H_PREV := REF(HIGH, 1);
L_PREV := REF(LOW, 1);
IF TIME <> OR_LAST THEN BEGIN
OR_LAST := TIME;
IF TIME = 130000 OR TIME = 173000 OR TIME = 10000 THEN BEGIN
OR_HIGH := 0;
OR_LOW := 99999;
OR_BARS := 0;
END ELSE IF OR_BARS < 3 THEN BEGIN
IF H_PREV > OR_HIGH THEN OR_HIGH := H_PREV;
IF L_PREV < OR_LOW THEN OR_LOW := L_PREV;
OR_BARS := OR_BARS + 1;
END
END
OR_BREAK_UP := OR_BARS >= 3 AND CLOSE > OR_HIGH;
OR_BREAK_DN := OR_BARS >= 3 AND CLOSE < OR_LOW;
GLOBALVARIABLE:3HIGH:=0,3LOW:=0;//记录最高价,记录最低价(后台程序化)
//VARIABLE:3HIGH:=0,3LOW:=0;//记录最高价,记录最低价(想在图上显示,图表程序化)
H3:=HHV(HIGH,3);
L3:=LLV(LOW,3);
//夜盘开盘
IF TODAYBAR=3 THEN BEGIN
3HIGH:=H3;
3LOW:=L3;
END
//第二节
IF TIMETOT0(REF(TIME,3))=TIMETOT0(CLOSETIME(1)) THEN BEGIN
3HIGH:=H3;
3LOW:=L3;
END
//最后一节
IF TIMETOT0(REF(TIME,3)) =TIMETOT0(153000) THEN BEGIN
3HIGH:=H3;
3LOW:=L3;
END