function tir(PATHNAME, FILENAME,window,outfilename);
% Программа вычисляет тир с заданным окном и сохраняет ряд CumulativeA в
% указанный выходной файл.

% створюємо глобальну змінну TS, куди будуть записуватись дані
global TS; TS.index=0;
global TSTemp; TSTemp.index=0;
global Data_type; Data_type=1;
% визначаємо поточну розподільчу здатність, встановивши одиниці в PIXELS

% читаємо ім"я файла
    [NAMES,DATAS,DATES]=loadTS(PATHNAME,FILENAME);

    
    
    % повідомляємо про прочитаний файл
    TSTemp.index=TSTemp.index+1;
    TSTemp.data{TSTemp.index}.datas=DATAS;
    TSTemp.data{TSTemp.index}.names=NAMES
    TSTemp.data{TSTemp.index}.dates=DATES
    
    % отримуємо handle ListBox


index=1;%get(handles.ListBoxTS,'Value');
X=TSTemp.data{index}.datas;
X=X';
first=1;%str2num(get(handles.edit3,'String'));
last=length(X);%str2num(get(handles.edit4,'String'));
X=X(first:last,:);
%X=X';

minx=min(X);
if minx<0
    X=X-minx+10;
end

Data_type=1;
if Data_type==1,
    X1=X;
    X=price2ret(X);
    X=X/std(X);
elseif Data_type==2,
    X=X/std(X);
    X1=X;
elseif Data_type==3,
    for ii=2:length(X)
        X1(ii-1,1)=X(ii)-X(ii-1);
    end
    
    X1=X1/std(X1);
    X=X1;
end

    
%d=10;
tau=25;

wind=window;%str2num(get(handles.edit1,'String'));
Step=1;%str2num(get(handles.edit2,'String'));
k=1;

h=waitbar(0,'Calculating');
for ii=1:Step:length(X)-wind
    y=X(ii:ii+wind,1);
    [tau_plus,tau_minus,Ai,A_tau,Ai_plus,Ai_minus] = irrevers(y,tau,wind);
    Ai_din(k,1)=Ai;
    waitbar(ii/(length(X)-wind),h);
    Ai_din_plus(k,1)=Ai_plus;
    Ai_din_minus(k,1)=Ai_minus;
    
% Ai
%Ai_plus
%Ai_minus

    k=k+1;
end
close(h);
%sum_irr(1,1)=Ai_din_plus(1,1)-Ai_din_minus(1,1);
sum_irr(1,1)=Ai_din(1,1);

for ii=2:length(Ai_din)
 %sum_irr(ii,1)=sum_irr(ii-1,1)+Ai_din_plus(ii,1)-Ai_din_minus(ii,1) ;
 sum_irr(ii,1)=sum_irr(ii-1,1)+Ai_din(ii,1) ; 
 %if abs(sum_irr(ii,1))<abs(sum_irr(ii-1,1))
 %    sum_irr(ii)=0;
 %end
end

%sum_irr2(1,1)=Ai_din(1,1);
%for ii=2:length(Ai_din)
% %sum_irr(ii,1)=sum_irr(ii-1,1)+Ai_din_plus(ii,1)-Ai_din_minus(ii,1) ;
% sum_irr2(ii,1)=sum_irr2(ii-1,1)+Ai_din(ii,1) ; 
% if abs(sum_irr2(ii,1))<abs(sum_irr2(ii-1,1))
%     sum_irr2(ii)=0;
% end
%end

     
f=figure('Name','Dynamic of сumulative multiscale time irreversibility','NumberTitle','off');
 
subplot(3,1,1); plot(X1(wind+1:length(X1),1),'color','black','LineWidth',2)
 grid on
 xlim([1 length(X1)-wind])
 ylim([min(X1) max(X1)])
  ylabel('Index','FontSize',14,'FontName','Times New Roman')


subplot(3,1,2); plot(sum_irr,'color','red','LineWidth', 2)
 grid on
grid on
xlim([1 length(Ai_din)])
 MaxY=max(sum_irr); 
 MinY=min(sum_irr); 
 ylim([MinY MaxY])
  
  %h = legend('y\tau >0','y\tau <0',1); 
 set(gca,'FontName','Times New Roman','FontSize',14)
 
 

 ylabel('Cumulative A_i','FontSize',14,'FontName','Times New Roman')

 subplot(3,1,3); 
 
 plot(Ai_din_plus,'color','red','LineWidth', 2)
 grid on
 hold on
 plot(Ai_din_minus,'--','color','black','LineWidth',2)
 xlim([1 length(Ai_din)])
 MaxY=max(max(Ai_din_plus,Ai_din_minus)); 
 MinY=min(min(Ai_din_plus,Ai_din_minus)); 
 ylim([MinY MaxY])
 h = legend('\Sigma p ln p, if y\tau >0','\Sigma p ln p, if y\tau <0',1); 
 set(gca,'FontName','Times New Roman','FontSize',14)
 xlabel('Time, days','FontSize',14,'FontName','Times New Roman')
 
dlmwrite(outfilename,sum_irr,'\n');
plusfilename=strrep(outfilename,'.txt','_plus.txt');
dlmwrite(plusfilename,Ai_din_plus,'\n');
minusfilename=strrep(outfilename,'.txt','_plus.txt');
dlmwrite(minusfilename,Ai_din_plus,'\n');
