var: yield,start,avgrend,avgrendnew,alpha,vol,zvar(2.326),znewvar(2.326),
ValueAtRiskLow,ValueAtRiskHigh,indzona1,indzona2,Indzona3,ErroriVar,volnew,Varplusneg,NewVarlow,
errorinewvarneg,yielderroripos, volnewpos,avgrendnewpos,yielderrorineg,Varpluspos,NewVarhigh,callput;
input: giorni(33);
alpha=1-2/(giorni-1);
yield=(c/c[1]-1)*100;
if start=0 then
avgrendnew=0;
avgrend=yield;
yielderrorineg=0;
vol=0;
volnew=0;
Varplusneg=0;
volnewpos=0;
callput=0;
endif;
if start>1 then
avgrend=avgrend[1]*alpha+yield*(1-alpha);
vol=sqrt((vol*vol)*alpha+(((yield-avgrend)*(yield-avgrend))*(1-alpha)));
avgrendnew=avgrendnew[1]*alpha+yielderrorineg*(1-alpha);
avgrendnewpos=avgrendnewpos[1]*alpha+yielderroripos*(1-alpha);
volnew=sqrt((volnew*volnew)*alpha+(((yielderrorineg-avgrendnew)*(yielderrorineg-avgrendnew))*(1-alpha)));
ValueAtRiskLow=-vol[1]*zvar;
ValueAtRiskHigh=vol[1]*zvar;
Varplusneg=-volnew*znewvar;
NewVarlow=ValueAtRiskLow+varplusneg[1];
volnewpos=sqrt((volnewpos*volnewpos)*alpha+(((yielderroripos-avgrendnewpos)*(yielderroripos-avgrendnewpos))*(1-alpha)));
varpluspos=volnewpos*znewvar;
NewVarhigh=ValueAtRiskhigh+varpluspos[1];
endif;
start=start+1;
If ValueAtRiskLow>yield then yielderrorineg=yield;
endif;
If ValueAtRiskLow<yield then yielderrorineg=0;
endif;
If yield>ValueAtRiskHigh then yielderroripos=yield;
endif;
If yield<ValueAtRiskHigh then yielderroripos=0;
endif;
If ValueAtRiskLow>yield then errorivar=errorivar+1;
endif;
If NewVarlow>yield then errorinewvarneg=errorinewvarneg+1;
endif;
If yield>ValueAtRiskHigh then yielderroripos=yielderroripos+1;
endif;
callput=newvarlow+newvarhigh;
//if callput>0 and c>c[100] then enterlong(nextbar,atopen); endif;
//if callput<0 and c<c[100] then entershort(nextbar,atopen); endif;
Indzona1 = CreateViewport(100, true, true);
Indzona2 = CreateViewport(400, true, true);
Indzona3 = CreateViewport(100, true, true);
PlotChart(yield, Indzona1, blue, solid, 2);
PlotChart(ValueAtRiskLow, Indzona1, red, solid, 2);
PlotChart(ValueAtRiskHigh, Indzona1, green, solid, 2);
PlotChart(NewVarlow, Indzona1, black, solid, 2);
PlotChart(NewVarhigh, Indzona1, purple, solid, 2);
PlotChart(errorivar, Indzona2, black, solid, 1);
PlotChart(errorinewvarneg, Indzona2, black, solid, 1);
PlotChart(callput, Indzona3, black, solid, 2);