DRAFT: This module has unpublished changes.

function [day_index fastSMA_xing_point_value flag]=x_point(x,y1,y2)
GREEN=-1;
RED=1;
delta=0.0001;
diff=sign(y1-y2);
if (diff(1)==-1 | diff(1)==0) & diff(2)==1
y11=interp1(x(1:2),y1(1:2),x(1):delta:x(2));
y21=interp1(x(1:2),y2(1:2),x(1):delta:x(2));
d=y11-y21;
for i=1:length(d)
if d(i)>=-0.0002 & d(i)<=0.0002
xp_index=i;
break;
end
end
day_index=x(1)+(xp_index-1)*delta;
fastSMA_xing_point_value=y11(xp_index);
flag=GREEN;
elseif (diff(1)==1 | diff(1)==0) & diff(2)==-1
y11=interp1(x(1:2),y1(1:2),x(1):delta:x(2));
y21=interp1(x(1:2),y2(1:2),x(1):delta:x(2));
d=y11-y21;
for i=1:length(d)
if d(i)>=-0.0002 & d(i)<=0.0002
xp_index=i;
break;
end
end
day_index=x(1)+(xp_index-1)*delta;
fastSMA_xing_point_value=y11(xp_index);
flag=RED;
else
day_index=0;
fastSMA_xing_point_value=0;
flag=0;
end

DRAFT: This module has unpublished changes.