如果用CALLSTOCK(STKLABEL,VTHIGH,6,-1)来求昨日高的话,得到的是金字塔时间的昨日高。但如果想求北京时间的昨日高,也就是北京时间09:00到当天日历日的夜盘结束时间的最高,要如何写?
昨日写的代码有问题,改了下:如下
VARIABLE:m:=0,n:=0;
VARIABLE:hh:=0;
if time=133000 then m:=1;else if time<>133000 then m:=0;//这里需要根据周期调整,反正就是取得该周期下第一个K的时间。
if time=30000 then n:=1;else if time<>30000 then n:=0;//夜盘结束时间自行调整
LatsN:=BARSLAST(n=1);//上次30000到现在
lastM:=SUMBARS(m,2);//上上次133000到现在的K线位置
t:=hhv(h,lastM);
if LatsN=0 then
begin
hh:=t;
end
else if then
begin
hh:=0;
end
上一北京时间最高价:ref(hh,BARSLAST(hh<>0)),NODRAW;
没发直接取得,只能从固定的时间上取得,还要考虑使用的周期问题。
代码先给你,你看下实现的思路,后续会测试和完善下细节。
测试了一下,结果不对啊,得不到昨最高。麻烦老师再研究一下。
另外,我的系统时间已经调整成了北京时间,m可否写成如下:
m:=DATE<>REF(DATE,1);
问题是n要如何写?
测试了一下,结果不对啊,得不到昨最高。麻烦老师再研究一下。
另外,我的系统时间已经调整成了北京时间,m可否写成如下:
m:=DATE<>REF(DATE,1);
问题是n要如何写?
昨天的代码不对,已经修改了,应用在不同周期下需要注意修改那个最后一个K的K线时间。不过你已经调成北京时区了?那就不需要上面的代码了啊。