也顺便想问下 如何取得特定时间段内最高最低点 例如 每个交易日 9:15------12:00 整的最高最低点 13:00------16:00 最高最低点 万分感谢
R1:=VALUEWHEN(TIME=091500,BARPOS);
R2:=VALUEWHEN(TIME=120000,BARPOS);
R3:=VALUEWHEN(TIME=130000,BARPOS);
R4:=VALUEWHEN(TIME=160000,BARPOS);
H12:=VALUEWHEN(TIME=120000,HHV(H,R2-R1));
L12:=VALUEWHEN(TIME=120000,LLV(L,R2-R1));
H16:=VALUEWHEN(TIME=140000,HHV(H,R4-R3));
L16:=VALUEWHEN(TIME=140000,LLV(L,R4-R3));
供参考,自己调试一下。
再一个方法,把K线划分成2根线,上午一根,下午一根;
用STKINDIEX去读K线的H,L,这样就可以实时读取了,可能你要的是这个!
K线切分不行 外盘 还有国内夜盘的期货 很多都不是整数 或者 每个周期都不相等 不像A股 上下午都是2个小时
R1:=VALUEWHEN(TIME=091500,BARPOS);R2:=VALUEWHEN(TIME=120000,BARPOS);
R3:=VALUEWHEN(TIME=130000,BARPOS);
R4:=VALUEWHEN(TIME=160000,BARPOS);
H12:=VALUEWHEN(TIME=120000,HHV(H,R2-R1));
L12:=VALUEWHEN(TIME=120000,LLV(L,R2-R1));
H16:=VALUEWHEN(TIME=140000,HHV(H,R4-R3));
L16:=VALUEWHEN(TIME=140000,LLV(L,R4-R3));
试过了 这个不行 可以通过编译 但无效
VARIABLE:HS:=O;
VARIABLE:LS:=O;
IF TIME=091500 OR TIME=130000 THEN
BEGIN
HS:=O;
LS:=O;
END
IF H>HS THEN HS:=H;
IF L<LS THEN LS:=L;
逐K线模式
[此贴子已经被作者于2020/1/18 18:14:28编辑过]
VARIABLE:m1:=0,m2:=0;
if time=41600 then m1:=1;else if time<>41600 then m1:=0;
if time=80100 then m2:=1;else if time<>80100 then m2:=0;
hh1:=VALUEWHEN(time<=70000 and time>=41600,hhv(h,BARSLAST(m1=1)+1));
ll1:=VALUEWHEN(time<=70000 and time>=41600,llv(l,BARSLAST(m1=1)+1));
h1:hh1,NODRAW;// 最近一个 9:16 到 12:00之间的最高值。
l1:ll1,NODRAW;// 最近一个 9:16 到 12:00之间的最低值。
hh2:=VALUEWHEN(time<=130000 and time>=80100,hhv(h,BARSLAST(m2=1)+1));
ll2:=VALUEWHEN(time<=130000 and time>=80100,llv(l,BARSLAST(m2=1)+1));
h2:hh2,NODRAW;// 最近一个 13:00 到 16:00之间的最高值。
l2:ll2,NODRAW;// 最近一个 13:00 到 16:00之间的最低值。
试下呢。 不过这个只能在指定时间段之后的位置取到值。比如现在是10点 那只能取到昨天9:15-12:00 之间的统计。
工具 》 选项 》 常规中,设置的是什么类型的时间,返回的就是那个类型时间
此主题相关图片如下:temp.png
