如果开盘价<=昨日收盘价,从9点30分开始判断涨幅,如果开盘价>昨日收盘价从9点31分开始判断涨幅。
我的意思是9点31分开始判断区间涨幅,不是判断日K线涨幅比如10分钟的涨幅,我写了if(time>093100 and time<300000,((C-REF(C,10))/REF(C,10))*100>1,0);和time>093100 and time<300000 and ((C-REF(C,10))/REF(C,10))*100>1;和
OPENMINUTES(TIME)>1 and ((C-REF(C,10))/REF(C,10))*100>1,输出都不对。
如果开盘价<=昨日收盘价,从9点30分开始判断涨幅,如果开盘价>昨日收盘价从9点31分开始判断涨幅。 |
if valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;
if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;
你这个涨幅是最新价和昨天收盘比较,还是0930以来的最高价和昨天收盘比较
1、老师这两个条件意思是不是这样?我理解的是if valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;如果开盘价小于等昨天收盘价,则从9点31的前值算起?
if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;如果开盘价大于昨日收盘价则从9点31分的前值算起,输出为否定的?不知道这么理解对不对,那从9点31分开始的怎么计算?
2、(1)我用在1分钟周期里,我的意思是如果开盘大于昨日收盘价,从9点31分开始判断10分钟的区间涨幅为多少,也就是从9点31分开始到9点41分的区间涨幅。
(2)如果开盘价小于等于昨日收盘价从9点30分开始判断区间涨幅,也就是从9点30分到9点40分的区间涨幅。
cond就是用来判断是否大于昨收的一个条件
如果是1就表示小于昨收
vairable:ss=0;
f valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;
if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;
if todaybar=1 then ss:=0;
if cond=1 and time = 0941 then ss:=(c-ref(c,10))/ref(c,10);
if cond=0 and time = 0942 then ss:=(c-ref(c,10))/ref(c,10);
ans:ss;
1.是的。5楼的代码就是你理解的那个意思。五楼那个就是处理了下对“开盘价<=昨日收盘价”的判断。
2.
这样试下呢。
if valuewhen(todaybar=1,open)<=ref(close,todaybar) then cond:=1;
if valuewhen(todaybar=1,open)>ref(close,todaybar) then cond:=0;
c1:=VALUEWHEN(TODAYBAR=1,c);
c2:=VALUEWHEN(TODAYBAR=2,c);
temp1:=if(cond,(c-c1)/c1,(c-c2)/c2);
result:if(cond,VALUEWHEN(time=94000,temp1),VALUEWHEN(time=94100,temp1));
可能是我没表述清楚,老师的意思是整体作为条件判断。
比如如果开盘大于昨天收盘价从9点31分开始计算至3点收盘10分钟之内的涨幅大于2的作为输出结果。也就是9点30分至9点31分这1分钟不计算这1分钟,排除在外。
如果开盘小于或者等于昨天收盘价,从9点30分开始计算至3点收盘,10分种之内出现过涨幅大于2的作为输出结果。
因为因为如果只写((C-REF(C,10))/REF(C,10))*100>2集合竞价高开的2%,后面没涨也计算在内了。我要的输出结果是实际10分钟之内有过涨幅大于2的输出。