Страница 1 из 4
CurrentIndex
Добавлено: 16 ноя 2017, 13:35
Den
Добрый день !
Евгений , подскажите пожалуйста, где H ?
Код: Выделить всё
function Initialize()
{
IndicatorName = "C_Index";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
AddShadowSeries("D", DrawAs.Custom, Color.HotPink);
}
function Evaluate()
{
if (Input.High[0] >= CurrentIndex )
{
H[0] = Input1.High[0];
}
if (Input.Low[0] <= CurrentIndex )
{
L[0] = Input1.Low[0];
}
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 4, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 4, Color.Lime, 100);
}
Re: CurrentIndex
Добавлено: 16 ноя 2017, 13:36
Den
а должно быть так
Re: CurrentIndex
Добавлено: 16 ноя 2017, 13:41
evge
Индекс бара и цену нет смысла сравнивать, т.к. он никакого отношения к цене не имеет.
CurrentIndex – возвращает значение текущего индекса бара в момент вызова функции Evaluate(). Используется для ограничения начального интервала расчета.
Re: CurrentIndex
Добавлено: 16 ноя 2017, 13:44
Den
это да конечно, но как сделать, чтобы появились Н ?
Re: CurrentIndex
Добавлено: 16 ноя 2017, 13:45
evge
написать другое условие, которое будет выполнимо и задаст значение для H

Re: CurrentIndex
Добавлено: 16 ноя 2017, 13:52
Den
CurrentIndex тут в качестве Last (чтобы, индикатор проставлял H[0] = Input[0] )
В общем я хотел вас спросить, как указать вот этот High[0] ?
Не получается чёто у меня
Re: CurrentIndex
Добавлено: 16 ноя 2017, 13:59
Den
Не хочет показывать

Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
}
function Evaluate()
{
var lastLVal = MY.C_I(Input1).GetLastValues ("L", 1)[0];
var lastHVal = MY.C_I(Input1).GetLastValues ("H", 1)[0];
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.C_I(Input1).GetLastValues ("H", 1)[0].Y) )
if (MY.C_I(Input1).GetLastValues ("H", 10)[0].Y == LAST)
if ((MY.C_I(Input1).GetLastValues ("H", 1)[0].Y > MY.C_I(Input1).GetLastValues ("H", 1)[1].Y))
H[1] = MY.С_I(Input1).GetLastValues ("H", 1)[0].Y;
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.C_I(Input1).GetLastValues ("L", 1)[0].Y) )
if (MY.C_I(Input1).GetLastValues ("L", 1)[0].Y == LAST )
if ((MY.C_I(Input1).GetLastValues ("L", 1)[0].Y > MY.C_I(Input1).GetLastValues ("L", 1)[1].Y))
L[1] = MY.C_I(Input1).GetLastValues ("L", 1)[0].Y;
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 10, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 10, Color.Lime, 100);
}
Re: CurrentIndex
Добавлено: 16 ноя 2017, 14:12
evge
опишите лучше словами "что требуется" на скриншоте графика, а я покажу пример как сделать, если это возможно.
Re: CurrentIndex
Добавлено: 16 ноя 2017, 14:17
Den
Так я ж говорю, указать Н, который помечен стрелкой.
Вот он далее
Это, как вы видите, S-фрейм
В коде выше в указан Н с первой картинки, но он не желает

Re: CurrentIndex
Добавлено: 16 ноя 2017, 14:24
evge
и какое услови(е,я) для его показа?