Страница 1 из 2
DeltaCumOfDay – кумулятивная Дельта за день
Добавлено: 08 фев 2016, 09:35
evge
Индикатор
кумулятивная Дельта рассчитывается как сумма разниц объемов сделок, совершенных по Bid и Ask и показывает агрессивность покупателей или продавцов. В обычной ситуации при падении рынка больше агрессивных продавцов, а при росте – покупателей.
Delta > 0 больше агрессивных покупателей (зеленый цвет)
Delta < 0 больше агрессивных покупателей (красный цвет)
Сигналы Индикатор является вспомогательным. Обращать внимание на переходы через 0 и статистически большие значения при боковом движении.
Пример:

- DeltaCumOfDay-00.png (39.73 КБ) 62493 просмотра
Исходный текст:Код: Выделить всё
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 (38.4 КБ) 62349 просмотров
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.
В том то и дело, что визуализация разная, так какой тогда применять лучше? Ведь индикаторы на графике читаются визуально. Какой меньше врет?

.