Отрисовка линий

 

Что не правильно?

ObjectCreate("line", OBJ_HLINE, WindowOnDropped(), iFractals(NULL, 0, MODE_UPPER, 1), 0);
не рисует не из индикатора, не из советника, не из скрипта...
 
Может, другие параметры линии тоже задать?
 
Zhunko писал(а) >>
Может, другие параметры линии тоже задать?

а как их задать? и куда?

OBJ_HLINE 1 Горизонтальная линия. Использует цену в качестве первой координаты, время игнорируется

так вроде 1 параметр должен быть... чет я не врублю в систему... сделал два параметра так как ругается редактор что мало параметров (((
 

В списке объектов смотрел? Может быть с таким именем уже есть?

Смотрим справку

ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

сопоставляем с твоим вызовом:

ObjectCreate("line", OBJ_HLINE, WindowOnDropped(), iFractals(NULL, 0, MODE_UPPER, 1), 0);

У тебя в аргументе time1 передается значение

iFractals(NULL, 0, MODE_UPPER, 1)

Хотя время для горизонтальной линии игнорируется.

А в price1 ты передаешь 0, получается что ты ставишь линию на цене 0. Вот и не видное её. Ты просто перепутал координату времени и цены местами.

И ещё ты берешь значение с 1го бара индикатора фракталов, но учти что если на этом баре нет фрактала то он вернет тебе 0. Я так понял тебе нужен последний фрактал.

 
Luptator писал(а) >>

В списке объектов смотрел? Может быть с таким именем уже есть?

Смотрим справку

ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

сопоставляем с твоим вызовом:

У тебя в аргументе time1 передается значение

Хотя время для горизонтальной линии игнорируется.

А в price1 ты передаешь 0, получается что ты ставишь линию на цене 0. Вот и не видное её. Ты просто перепутал координату времени и цены местами.

И ещё ты берешь значение с 1го бара индикатора фракталов, но учти что если на этом баре нет фрактала то он вернет тебе 0. Я так понял тебе нужен последний фрактал.

да, последний... наверное я не врубил про фракталы )) видимо там его просто нет и линия в 0 установилась, я просто и в Time и Price пытался влепить )

 

с уровнями понятно.... а как же фракталами оперировать? последний найти? все бары перебирать?

с перебором я лучше сам экстремумы отрисую )

 

Самому тоже придется цикл организовывать и по барам пройтись до первого фрактала.

Примерно так:

int i=1,fractal_bar=0;
for(int i=1;i<100;i++)
{
    if(iFractal(NULL,MODE_UPPER,i)>0||iFractal(NULL,MODE_LOWER,i)>0)
    {
       fractal_bar=i;
       break;
    }
}

Ищем последний любой(или верхний, или нижний) фрактал.

 
Luptator писал(а) >>

Самому тоже придется цикл организовывать и по барам пройтись до первого фрактала.

Примерно так:

Ищем последний любой(или верхний, или нижний) фрактал.

спасибо.. я уже так и сделал, только отдельно и на 500 баров ) думаю вычислить линии поддержки/сопротивления от ближайшых по цене фракталов

for (int i=1; i<500; i++) if (iFractals(NULL, 0, MODE_UPPER, i)>0) ObjectCreate("line"+i, OBJ_HLINE, 0, 0, iFractals(NULL, 0, MODE_UPPER, i));
Причина обращения: