 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
// 定义变量
VARIABLE: HHV_PRICE:=0, LLV_PRICE:=0, CONTAINED:=0;
// 判断前一个K线是否为阳线
IS_UP:=REF(CLOSE, 1) > REF(OPEN, 1);
// 判断当前K线是否被包含
IS_CONTAINED:=OPEN <= REF(HIGH, 1) AND OPEN >= REF(LOW, 1) AND CLOSE <= REF(HIGH, 1) AND CLOSE >= REF(LOW, 1);
// 初始化包含K的处理
temp1:=HHV(HIGH, 2);
temp2:=LLV(LOW, 2);
IF IS_UP AND IS_CONTAINED THEN BEGIN
HHV_PRICE:=temp1; // 取前两个K线的最高价
LLV_PRICE:=temp2; // 取前两个K线的最低价
CONTAINED:=1; // 标记为包含K
END;
// 持续处理包含K
temp1:=HHV(HIGH, CONTAINED + 1); // 更新最高价
temp2:=LLV(LOW, CONTAINED + 1); // 更新最低价
IF CONTAINED = 1 THEN BEGIN
// 判断当前K线是否仍然被包含
IF OPEN <= HHV_PRICE AND OPEN >= LLV_PRICE AND CLOSE <= HHV_PRICE AND CLOSE >= LLV_PRICE THEN BEGIN
HHV_PRICE:=temp1; // 更新最高价
LLV_PRICE:=temp2; // 更新最低价
CONTAINED:=CONTAINED + 1; // 增加包含K的计数
END ELSE BEGIN
CONTAINED:=0; // 结束包含K的处理
END;
END;
// 输出结果
aa:HHV_PRICE;
bb:LLV_PRICE; |
|