Страница 1 из 1

DeltaDay: соотношение ask/bid в течение дня

Добавлено: 27 апр 2020, 15:35
BugsDigger
Модификация DeltaDay, когда-то раньше представленного oxi.
Добавлена возможность отображения накапливаемой разницы 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);
}


DeltaDay.png

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 30 апр 2020, 10:51
66rus
Добрый день. Интересует пару вопросов.
Я так понял идет рассчет именно рыночных объемов на покупку и продажу?
Начало расчета с 10-00 и каждый день начинается по новой?
Это я к чему все спрашиваю. Сравниваю свой вариант, который реализован трансляцией из квика обезличенных сделок
в эксель. И в нем идет онлайн расчет. И цифры не совпадают с индикатором.
Заранее спасибо за ответ. ;)

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 30 апр 2020, 14:49
BugsDigger
Ну по исходнику вроде все очевидно: от начала дня суммируется Ask-Bid.
Если есть разница - приведите несколько цифр от начала дня, попробуем выяснить, откуда она берется.

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 01 май 2020, 07:23
66rus
BugsDigger писал(а):Ну по исходнику вроде все очевидно: от начала дня суммируется Ask-Bid.
Если есть разница - приведите несколько цифр от начала дня, попробуем выяснить, откуда она берется.

Вот за вчерашний день собранные данные обезличенных сделок https://cloud.mail.ru/public/5Msr/4NohqF2nU

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 01 май 2020, 17:38
BugsDigger
Умм... А с чем сравнивать?
Я никогда фьючерсов не касался, даже не знаю, что там.
Писал/тестировал на SBER. вижу в терминале "человеческие" значения объемов в заданном таймфрейме.
Если, скажем, выбираю RTS, то там объемы выглядят как-то странно, значения какие-то в них дикие: практически все "60", ну и несколько "58". Чепуха какая-то.

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 01 май 2020, 19:49
66rus
BugsDigger писал(а):Умм... А с чем сравнивать?
Я никогда фьючерсов не касался, даже не знаю, что там.
Писал/тестировал на SBER. вижу в терминале "человеческие" значения объемов в заданном таймфрейме.
Если, скажем, выбираю RTS, то там объемы выглядят как-то странно, значения какие-то в них дикие: практически все "60", ну и несколько "58". Чепуха какая-то.

Я в программировании индюков не очень силен. Но вроде расчет идентичный с моим.
Если расчеты одинаковы, то наводит на мысль, что ленты сделок разные в квике и в альфадиректе.
А есть возможность идентичный для квика сделать индюк? Чтобы сравнить.

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 02 май 2020, 07:06
BugsDigger
Я только в АД играю, сорри.

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 17 май 2020, 18:10
66rus
BugsDigger писал(а):Я только в АД играю, сорри.

Приветствую. А можешь добавить вариант, чтобы считал за неделю?

Re: DeltaDay: соотношение ask/bid в течение дня

Добавлено: 17 май 2020, 18:27
66rus
Похоже сам разобрался

Код: Выделить всё

function Initialize()
{
 IndicatorName = "DeltaDayWeek";
 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).DayOfWeek<BarDate(-1).DayOfWeek || CurrentIndex<1) accdlt=accvol=b=0.0;
 else b=(r ? 0.0 : DeltaDay[-1]);
 
 if(Relative!=0)
 {
  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);
}