как нарисовать прямоугольник... - страница 2

 
у тебя по ходу не правильно цикл построен.Значения не верно берутся или интерпретируются в качестве точек. Конкретней чтоб сказать разбираться надо
 
Azerus писал(а) >>



Голубая область внизу закрашена вручную.

В данном случае, зоны устанавливаются с началом первого часа новых суток и заканчиваются на последнем часе суток....


Я использую для вычисления номера бара функцию Hour()

Начало голубой зоны будет Time[Hour()+1+24]

Конец = Time[Hour()+1]

Попробуй так. На дгугих ТФ надо пересчитывать по кратности часу.

 
Techno >>:
у тебя по ходу не правильно цикл построен.Значения не верно берутся или интерпретируются в качестве точек. Конкретней чтоб сказать разбираться надо


Значения берутся верно.....
 
Aleks_Ivan >>:

Я использую для вычисления номера бара функцию Hour()

Начало голубой зоны будет Time[Hour()+1+24]

Конец = Time[Hour()+1]

Попробуй так. На дгугих ТФ надо пересчитывать по кратности часу.



Так не пойдет, т.к. не всегда в сутках 24 часа + что будет началом зоны в 3-00? Тоже 3-00...., а надо 00-00........
 
ну вот смотри, ты берешь показания с 4х буферов на одном баре, на y, получается они все в столбик будут друг под другом, а значит о прямоугольнике речи быть не может. Так, а начало отсчета прямоугольника должно всегда быть в начале дня?
 
Techno >>:
ну вот смотри, ты берешь показания с 4х буферов на одном баре, на y, получается они все в столбик будут друг под другом, а значит о прямоугольнике речи быть не может. Так, а начало отсчета прямоугольника должно всегда быть в начале дня?



ОК, речь идет о двух прямоугольниках друг под другом - так будет точнее......

Мы снимаем показания с дневного бара (в данном случае). Естественно, что  для отображения на Н1-чарте берутся бары 00-00 и 23-00. Если снимаем показания с W1-чарта и переносим на дневной, то началом-концом будут являться бары понедельника и пятницы; и т.д.

 

попробуй так на часовом. это для настоящего времени, остальное сам. А вообще использование таких методов для размножения фигур на истории сильно не корректно, будет масса проблем и мало толку

ObjectCreate("R-zone", OBJ_RECTANGLE, 0,Time[0]-(Hour()*3600), top_Rez[0], Time[0], bot_Rez[0]);
 

две страницы написано, но так толком и непонятно что нужно получить..

если ты сохраняешь ценовые координаты,

{
top_Rez[i] = iCustom(NULL,PERIOD_D1,"Zone",0,y);
bot_Rez[i] = iCustom(NULL,PERIOD_D1,"Zone",1,y);
top_Sup[i] = iCustom(NULL,PERIOD_D1,"Zone",2,y);
bot_Sup[i] = iCustom(NULL,PERIOD_D1,"Zone",3,y);
}

как написано ранее, то соответственно, должен быть и массив значений времени соответствующий ценовым координатам, т.е.

time[i] = iTime(NULL,PERIOD_D1,y); // время начала y дня

а дальше что нужно ?

получаемые в time[] временные координаты это 1-я или вторая координата ?

и на каком тф должны строиться прямоугольники ?

 
keekkenen >>:


time[i] = iTime(NULL,PERIOD_D1,y); // время начала y дня

а дальше что нужно ?

получаемые в time[] временные координаты это 1-я или вторая координата ?

и на каком тф должны строиться прямоугольники ?


Время начала дня - первая координата;

время окончания дня - вторая координата;

если текущий день  еще не закончился, то второй координатой должен быть текущий (последний) бар на младшем ТФ.

 timeBegin[i] = iTime(NULL,PERIOD_D1,y); - мне понравился.....

Как определить timeEnd[i] ???????????

 

По ТФ для построения - не должно иметь значения (хоть на М5 - и мы должны получить корректную зону на 288 барах....)

Причина обращения: