Общие вопросы по разработке > Как задавать и определять временные интервалы и тайм-фреймы в индикаторе

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
VDV
Сообщения: 6
Зарегистрирован: 11 май 2016, 18:42
Благодарил (а): 1 раз

Re: Как задавать и определять временные интервалы и тайм-фреймы в индикаторе

Непрочитанное сообщение VDV » 17 май 2016, 18:34

Последний вопрос по данной теме, или скорее просьба, написать простенький демонстрационный индикатор, который содержит в себе, то что не дают на курсах (вебинарах).
Суть индикатора:
1. Необходимо найти среднюю цену по инструменту за предыдущий период 1-3 дня, пересчитать ее для текущего ТФ графика и нарисовать ее в виде горизонтали в окне цены.
2. Необходимо найти средний объем за предыдущий период 1-3 дня, пересчитать его для текущего ТФ графика и нарисовать его в виде горизонтали в окне Объемов.
3. Обе горизонтали должны рассчитываться и перерисовываться для текущего ТФ графика.

По сути просто и наглядно. Идея именно в том, что бы взять предыдущий день-два-три, который будет получен в текущем ТФ графика, и на их основе рассчитать среднее. Формула расчета не принципиальна. Проблема в том, что другой ТФ выбираться при вызове индикатора и передачи ряда не может.

Только как будет отрабатываться левая граница полученного ряда?
Насколько она будет соответствовать реальности?

Может быть есть исходный код готового Индикатора похожего на описанный вариант, простой для понимания и наглядный, что бы визуально оценить его правдоподобность?

.

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

Re: Как задавать и определять временные интервалы и тайм-фреймы в индикаторе

Непрочитанное сообщение evge » 19 май 2016, 10:51

VDV писал(а):Может быть есть исходный код готового Индикатора похожего на описанный вариант, простой для понимания и наглядный, что бы визуально оценить его правдоподобность?


Last3D (Last Price) – уровень последней цены за 3 дня

и пример

Last6D от ox

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

function Initialize()
{
IndicatorName = "Last6D";   
AddInput("Input", Inputs.Candle);
PriceStudy = true;   
AddParameter("NeedBars", 520, 1);
AddGlobalVariable("ListClose", Types.DoubleList);
AddGlobalVariable("ListHigh", Types.DoubleList);
AddGlobalVariable("ListLow", Types.DoubleList);
AddGlobalVariable("ListOpen", Types.DoubleList);

AddGlobalVariable("High", Types.Double, 0.0);
AddGlobalVariable("Low", Types.Double, 100000000000);

AddSeries("Last", DrawAs.Line, Color.Red);
AddLevel(0, Color.Blue, LineStyles.Solid, 1, "Last");
AddLevel(0, Color.Blue, LineStyles.DashBig, 1, "Last");
AddLevel(0, Color.Blue, LineStyles.DashBig, 1, "Last");

AddLevel(0, Color.Green, LineStyles.DashSmall, 1, "Last");
AddLevel(0, Color.Green, LineStyles.DashSmall, 1, "Last");
AddLevel(0, Color.Green, LineStyles.DashSmall, 1, "Last");

AddLevel(0, Color.Coral, LineStyles.DashSmall, 1, "Last");
AddLevel(0, Color.Coral, LineStyles.DashSmall, 1, "Last");
AddLevel(0, Color.Coral, LineStyles.DashSmall, 1, "Last");

AddLevel(0, Color.Gray, LineStyles.DashSmall, 1, "Last");
AddLevel(0, Color.Gray, LineStyles.DashSmall, 1, "Last");
AddLevel(0, Color.Gray, LineStyles.DashSmall, 1, "Last");
}

function Evaluate()
{
// AlfaDirect. 2016. OX

if ( BarDate() != BarDate(-1) && CurrentIndex != 0 )
{
ListClose.Add(Input.Close[1]);
ListOpen.Add(Input.Open[0]);
ListHigh.Add(High);
ListLow.Add(Low);

High = Input.High[0];
Low = Input.Low[0];
}
else
{
if (Input.High[0] > High)
High = Input.High[0];
if (Input.Low[0] < Low)
Low = Input.Low[0];
}

if (CurrentIndex == MaxIndex)
{

for (var i = 0; i < 3; i++)
{
Levels[i].Level = ListClose[ListClose.Count - i - 1];
Levels[i+3].Level = ListHigh[ListHigh.Count - i - 1];
Levels[i+6].Level = ListLow[ListLow.Count - i - 1];
Levels[i+9].Level = ListOpen[ListOpen.Count - i - 1];
if ( i >= 2 )
break;
}

}

}
никогда такого не было и вот опять


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и 19 гостей