-- 作者:wfzj
-- 发布时间:2015/1/14 10:45:00
-- 数值计算不正确 求助
想计算一下多空的周期,是这么写的、 dt:barslast(HIGH>=ref(hh,1) and LOW>=ref(ll,1)),NODRAW; kt:BARSLAST(HIGH<=ref(hh,1) and LOW<=ref(ll,1)),NODRAW;
此主题相关图片如下:qq图片20150114103555.jpg
在我截图的区域
第一根阳线的高低点是 3547.2 和3473.2 下一根阴线的高低点是3560.6 和 3473.3 up=hh down=ll 计算等于高低点
这个时候 高点上移 低点也上移 符合dt的标准 dt的值应该归零 kt应该继续计数。 但事实上dt没有归零 请问一下原因是什么 该怎么解决
[此贴子已经被作者于2015/1/14 10:46:37编辑过]
|
-- 作者:wfzj
-- 发布时间:2015/1/14 11:16:26
--
VARIABLE:hh=0,ll=0,oll=0,ohh=0,dth=0,dtl=0,kth=0,ktl=0,zs=0; dt:barslast(HIGH>=ref(hh,1) and LOW>=ref(ll,1)),NODRAW; kt:BARSLAST(HIGH<=ref(hh,1) and LOW<=ref(ll,1)),NODRAW;
dth:=hhv(h,dt+2); dtl:=hhv(l,dt+2); kth:=llv(h,kt+2); ktl:=llv(l,kt+2);
if hh=0 and ll=0 then begin hh:=high; ll:=low; end;
if kt<=dt then if hh<=high and ll>=low then BEGIN ll:=ktl; hh:=kth; end; if hh>high and ll<low then BEGIN hh:=kth; ll:=ktl; end; if hh<high and ll<low then begin hh:=high; ll:=low; end;
if hh>high and ll>low then begin hh:=high; ll:=low; end; if kt>dt then if hh<=high and ll>=low then begin hh:=dth; ll:=dtl; end; if hh>high and ll<low then begin ll:=dtl; hh:=dth; end; if hh<high and ll<low then begin hh:=HIGH; ll:=LOW; end;
if hh>high and ll>low then begin hh:=high; ll:=low; end; up:hh; down:ll;
|