Страница 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
и какое услови(е,я) для его показа?