1.
[PEL] 复制代码 d:=STRLEFT(NUMTOSTR(time,0),2);//截取K线字符串前2位
cd1:(d='13' and not(ref(d='13',1)) and time>=130000 AND STRICMP(MARKETLABEL,'ZJ')<>0) or (TODAYBAR=1 and MARKETLABEL='ZJ');//白盘开盘位置
cd2:(d='17' and not(ref(d='17',1)) and STRICMP(MARKETLABEL,'ZJ')<>0) or (MARKETLABEL='ZJ' and d='13' and not(ref(d='13',1)) ) ;//下午盘开盘位置判断
cd3:ref(time,1)=CLOSETIME(4) and time<130000;//夜盘开盘位置判断
DRAWICON(cd2 or cd1 or cd3,H,1);
//仅国内期货品种下有效。未考虑其他市场的有效性
或者
[PEL] 复制代码 MarketType:=VALUEWHEN(BARPOS=1,STRICMP(MARKETLABEL,'ZJ')=0);//返回1 表示是中金所
N0:=TODAYBAR;
cd:=CLOSETIME(4)=CLOSETIME(0);//返回1表示有夜盘,否则没夜盘。仅限国内期货品种
t1:if(cd,2,1);
cd0:=BARSSINCE2(time>010000,N0)+1;//夜盘开盘位置
cd1:=BARSSINCE2(time>OPENTIME(t1),N0)+1;//白盘开盘位置
cd2:=BARSSINCE2(time>OPENTIME(t1+2),N0)+1;//下午盘开盘位置
if MarketType then
begin
cd2:=BARSSINCE2(time>OPENTIME(2),N0)+1;//中金下午盘开盘位置
end
2.实时的。
调用的写法上stk函数是不支持 因为参数冲突,但是你可以定义一个额外变量
lasthd:ref(holding,1);
然后你调用当前的lasthd就行了。 |