参考下面写法:
D1:=DATE=190508&&TIME=0900;
D2:=DATE=190408&&TIME=0900;
VALUEWHEN(D1,HHV(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1));//最大
VALUEWHEN(D1,LLV(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1));//最小
VALUEWHEN(D1,HHVBARS(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1));//最大位置
VALUEWHEN(D1,LLVBARS(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1));//最小位置
2楼的时间段,是需要您自己选取一段时间,手动写入开始日期和结束日期的
您是想编写判断自己选取的两个日期是否是一个合约,如果不是,就返回空值?
参考:
D1:=DATE=190508&&TIME=0900;
D2:=DATE=190408&&TIME=0900;
COND:=VALUEWHEN(D1,NEXTDELIVERYDAY)=VALUEWHEN(D1,NEXTDELIVERYDAY);
IF(COND,VALUEWHEN(D1,HHV(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1)),NULL);//最大
IF(COND,VALUEWHEN(D1,LLV(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1)),NULL);//最小
IF(COND,VALUEWHEN(D1,HHVBARS(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1)),NULL);//最大位置
IF(COND,VALUEWHEN(D1,LLVBARS(VALUEWHEN(DAYBARPOS=1,O-REF(C,1)),BARSLAST(D2)+1)),NULL);//最小位置