yesterdayLength:=abs(CALLSTOCK('',vtclose,6,-1)-CALLSTOCK('',vtopen,6,-1));
iszd:=yesterdayLength<ma(yesterdayLength,10)*0.3 || CALLSTOCK('',vtvol,6,-1)<ma(CALLSTOCK('',vtvol,6,-1),10)*0.6;
我的五分钟模型 调用昨天的开盘收盘数据做判定。按理说这一天之内,iszd应该是稳定的要么是1要么是0, 可为什么开盘运行了半个小时后,iszd从1变成了0呢
你可以分别输出ma(yesterdayLength,10)*0.3和CALLSTOCK('',vtvol,6,-1)<ma(CALLSTOCK('',vtvol,6,-1),10)*0.6,这两个条件的值看下,看条件是否满足。本地测试,在当个交易日内,值是会发生变化的,导致条件满足发生变化。
为什么会发生变化呢,我引用的都是昨天的开盘收盘数据啊,无论今天什么时间,都是昨天开收盘数据,为啥变化?
那么请问如何改成不变化的
调试发现,这是因为ma(yesterdayLength,10)这个值发生变化造成的,这个10周期均线是在5分钟周期上计算的,在开盘后10根K线之内,是加上上一个交易日内的yesterdayLength的值来计算均值的,所以在晚上9点-9:50之间,ma(yesterdayLength,10)这个值是在变化的,在9点50之后,这个均值才稳定下来。你可以在夜盘开始的K线上输出ma(yesterdayLength,10)的值。
程序调试技巧:http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=1246