Добавлена возможность отображения накапливаемой разницы ask-bid в процентах к общему объему сделок в течение дня.
Код: Выделить всё
function Initialize()
{
IndicatorName = "DeltaDay";
AddInput("Input", Inputs.Candle);
PriceStudy=false;
AddParameter("Relative", 0);
AddSeries("DeltaDay", DrawAs.Custom, Color.Gray);
AddSeries("DeltaOpen", DrawAs.Custom, Color.Transparent);
AddLevel(0, Color.Black, "DeltaDay");
AddGlobalVariable("accdlt", Types.Double, 0.0);
AddGlobalVariable("accvol", Types.Double, 0.0);
}
function Evaluate()
{
// AlfaDirect 2014 (Исправлено 2016).
// Кумулятивная Дельта Дневная - интеграл разниц между объемами покупателей и продавцов за день
// BugsDigger (2020): добавлена возможность отображения накапливаемой разницы в процентах к общему объему сделок
bool r=(Relative!=0);
double d=Input.VolumeAsk[0]-Input.VolumeBid[0];
double b;
if(BarDate(0)>BarDate(-1) || CurrentIndex<1) accdlt=accvol=b=0.0;
else b=(r ? 0.0 : DeltaDay[-1]);
if(r)
{
d+=accdlt; accdlt=d;
double v=Input.Volume[0];
v+=accvol; accvol=v;
if(v!=0.0) d=d/v*100.0;
DeltaDay=d;
}
else DeltaDay=b+d;
DeltaOpen=b;
Color c=(d>=0.0 ? Color.Green : Color.Red);
DeltaDay.DrawHistogram(DeltaOpen, c, Line.Solid, 1, c, 100);
}