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

DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 08 фев 2016, 09:35
evge
Индикатор кумулятивная Дельта рассчитывается как сумма разниц объемов сделок, совершенных по Bid и Ask и показывает агрессивность покупателей или продавцов. В обычной ситуации при падении рынка больше агрессивных продавцов, а при росте – покупателей.

Delta > 0 больше агрессивных покупателей (зеленый цвет)
Delta < 0 больше агрессивных покупателей (красный цвет)

Сигналы

Индикатор является вспомогательным. Обращать внимание на переходы через 0 и статистически большие значения при боковом движении.

Пример:

DeltaCumOfDay-00.png
DeltaCumOfDay-00.png (39.73 КБ) 43033 просмотра


Исходный текст:

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

function Initialize()
{
   IndicatorName = "DeltaCumOfDay";
   AddInput("Input", Inputs.Candle);
   PriceStudy = false;   
  AddSeries("DeltaCumDay", DrawAs.Custom, Color.Gray, AxisType.ZeroBased);   
}

function Evaluate()
{
// AlfaDirect 2014. OX
// Кумулятивная Дельта Дневная - интеграл разниц между объемами покупателей  и продавцов за день
  if ( CurrentIndex < 1 || BarTime() == AsTime(10, 0, 0) )
  {
     DeltaCumDay = Input.VolumeAsk[0] - Input.VolumeBid[0];
  }
  else
  {
     DeltaCumDay = DeltaCumDay[-1] + Input.VolumeAsk[0] - Input.VolumeBid[0];
    if (DeltaCumDay > DeltaCumDay[-1] )
       DeltaCumDay.DrawHistogram(Color.Green, 100);
    else
       DeltaCumDay.DrawHistogram(Color.Red, 100);
  }
}

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 11 май 2016, 12:28
richmoney
А можно переделать чучуть индикатор?что бы не день был, а период,например 20 баров.

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 11 май 2016, 14:20
evge
может так?

Но будет проблема начальной точки отсчета. Сдвигаясь на свечку график индикатора будет меняться.
Особо не проверял. Если что не так пишите.

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

function Initialize()
{
   IndicatorName = "DeltaCumPeriod";
   AddInput("Input", Inputs.Candle);
   PriceStudy = false;   
   
   AddParameter("Period", 100, 1);
  AddSeries("DeltaCumDay", DrawAs.Custom, Color.Gray, AxisType.ZeroBased);   
}

function Evaluate()
{
// AlfaDirect 2014. OX
// Кумулятивная Дельта Дневная - интеграл разниц между объемами покупателей  и продавцов за день
  if ( (MaxIndex - CurrentIndex) == Period )
  {
     DeltaCumDay = Input.VolumeAsk[0] - Input.VolumeBid[0];
  }
  else
  if (DeltaCumDay[-1] != 0)
  {
     DeltaCumDay = DeltaCumDay[-1] + Input.VolumeAsk[0] - Input.VolumeBid[0];
    if (DeltaCumDay > DeltaCumDay[-1] )
       DeltaCumDay.DrawHistogram(Color.Green, 100);
    else
       DeltaCumDay.DrawHistogram(Color.Red, 100);
  }
}

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 11 май 2016, 16:01
richmoney
Спасибо,посмотрел.Перерисовывает постоянно. Сейчас он считат последние бары. Нужно бар считать по предыдущим 100 ,тогда перерисовываться не будет. любой бар содержит данные о предыдущих - Period.

DeltaCumPeriod – кумулятивная Дельта за период

Добавлено: 11 май 2016, 18:47
richmoney
Ox на форуме альфа-директ сделал . Если кому то надо то код:

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

function Initialize()
{
IndicatorName = "DeltaCumPeriod";
AddInput("Input", Inputs.Candle);
PriceStudy = false;
AddParameter("Period", 100, 1);
AddSeries("DeltaCum", DrawAs.Custom, Color.Gray);
AddSeries("DeltaOpen", DrawAs.Custom, Color.Gray);
AddGlobalVariable("s", Types.DoubleList);
AddLevel(0, Color.Gray, "DeltaCum");
}

function Evaluate()
{
// AlfaDirect 2016. OX
// Кумулятивная Дельта за период
// Добавляем новую дельту в лист
var Delta = Input.VolumeAsk[0] - Input.VolumeBid[0];
s.Add(Delta);
// Если точек больше периода убираем первую дельту из листа
if ( CurrentIndex >= Period )
s.RemoveAt(0);
// Считаем сумму
DeltaCum = s.Sum();

// Рисование
if ( CurrentIndex > 0 )
{
DeltaOpen = DeltaCum[-1];
if ( DeltaCum > DeltaCum[-1] )
DeltaCum.DrawHistogram(DeltaOpen, Color.Green, Line.Solid, 1, Color.Green, 50);
else
DeltaCum.DrawHistogram(DeltaOpen, Color.Red, Line.Solid, 1, Color.Red, 50);
}


}

DeltaCumPeriod – кумулятивная Дельта за период

Добавлено: 20 май 2016, 12:43
evge
DeltaCumPeriod-01.png
DeltaCumPeriod-01.png (38.4 КБ) 42889 просмотров

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 27 май 2016, 08:23
Геннадий
Хочу разобраться в показаниях индикатора Кумулятивной дельты за период ( DeltaCumPeriod). В настройках индикатора я выбрал значение 100. Индикатор отобразился в виде столбиков. Теперь вопрос: в одном столбике индикатора подразумевается разница в покупках и продажах за 100 предыдущих свечей графика или как? Это берется одна свеча из 100, у нее определяется кого было больше, продавцов или покупателей и потом всё это суммируется в течение 100 свечек графика и отображается одним столбиком индикатора?

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 28 май 2016, 03:50
Геннадий
Мне стало любопытно, если поставить значение DeltaCumPeriod равным 1, то показания индикатора по идее должны совпадать с показаниями индикатора Delta. График SIM6 M30. Выводы делайте сами:

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 28 май 2016, 14:51
evge
Геннадий писал(а):Мне стало любопытно, если поставить значение DeltaCumPeriod равным 1, то показания индикатора по идее должны совпадать с показаниями индикатора Delta


Ну они и совпадают. Это смотря как смотреть. Визуализация разная.

В Delta от 0 точки. В DeltaCumPeriod рисуется разница от предыдущего значения, т.е. не от 0.

Re: DeltaCumOfDay – кумулятивная Дельта за день

Добавлено: 03 июн 2016, 08:58
Геннадий
evge писал(а):
Геннадий писал(а):Мне стало любопытно, если поставить значение DeltaCumPeriod равным 1, то показания индикатора по идее должны совпадать с показаниями индикатора Delta


Ну они и совпадают. Это смотря как смотреть. Визуализация разная.

В Delta от 0 точки. В DeltaCumPeriod рисуется разница от предыдущего значения, т.е. не от 0.


В том то и дело, что визуализация разная, так какой тогда применять лучше? Ведь индикаторы на графике читаются визуально. Какой меньше врет? :) .