Рисование квадрата или прямоугольника. Очень нужна помощь... - страница 7

 
evillive:

Для замены галочки на другой символ - OBJ_ARROW и ARROW_CODE.

Тут я понял как сделать. Получилось.
 
AlexeyVik:

А чем не нравится

DRAW_SECTION

1

Отрезки между непустыми значениями линии

Тем, что рисует она в том индикаторе неправильно, в том виде, как теперь представлен индикатор, линия через индикаторный буфер будер отрисовываться не на каждом Н4, а на каждом баре того ТФ, на котором запущен индикатор. Чтобы от этого уйти, нужно или серьёзно переработать код, или нарисовать линии объектами, что проще.

 
evillive:

Тем, что рисует она в том индикаторе неправильно, в том виде, как теперь представлен индикатор, линия через индикаторный буфер будер отрисовываться не на каждом Н4, а на каждом баре того ТФ, на котором запущен индикатор. Чтобы от этого уйти, нужно или серьёзно переработать код, или нарисовать линии объектами, что проще.

Я не настаиваю, каждому своё. Но вертикальная разметка и линия индикатора прекрасно уживаются в одном коде.

Единственное что меня смущает, это чтобы объяснить надо полностью сделать. А так я не помогаю из принципа. Потому я и бросил подсказывать.

 

Первая точка привязки есть, она в принципе и была.

Как найти вторую точку привязки? 

   datetime t_Line = iTime(Symbol(),PERIOD_H4,i);         //--- В ПЕРЕМ t_Line Будет Присваиваться значение времени открытия бара
   CopyRates(_Symbol, PERIOD_H4, t_Line, 1, mqlRates);    //--- Структура для хранения информации 
   
   High_A = mqlRates[0].high; // глоб перем     Первая точка
   Time_A = t_Line;           // глоб перем
   
   High_B = mqlRates[0].high + mqlRates[0].high; // глоб перем      Вторая точка    (значение не правельное)
   Time_B = t_Line + t_Line;                      // глоб перем

    //+------------------------ Рисуем трендовые линии -----------------------------------------------------+                 
   ObjectCreate (Name_TLine + " TLine" + DoubleToStr(i,0),OBJ_TREND,0,Time_A,High_A,Time_B,High_B);         //--- Создаём обьект вертикальную линию
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_STYLE,2);              //--- Со стилем
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_COLOR,DimGray);        //--- Со цветом  
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_WIDTH,0);              //--- С  толщиной
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_BACK,0);               //--- С типом отображения. Объект на заднем плане
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_RAY_RIGHT, false); 

 

В таком варианте линия рисуется целиком, но прямая.

"А нужно чтобы конец линии был привязан к хаю Следующей Н4 свечи" 

 

         ObjectCreate    (0,Name_Obj + " V_Line" + DoubleToStr(i,0), OBJ_TREND, 0, t_Line, mqlRates[0].high, t_Line,mqlRates[0].low);
 
AlexeyVik:

Единственное что меня смущает, это чтобы объяснить надо полностью сделать. А так я не помогаю из принципа. Потому я и бросил подсказывать. 

Эта то понятно, но как понять не обращаться за помощью. К тому же совсем не обязательно писать полностью.

А Данное общение "между прочим упрощает" изучение языка. Для новичков есть задачи, которые без помощи ну, не решить. 

 
AlexeyVik:

Я не настаиваю, каждому своё. Но вертикальная разметка и линия индикатора прекрасно уживаются в одном коде. 


Вопрос в том, как понять этот процесс. К тому же не на все вопросы можно найти ответ в справке.

 
Alex_Profit:


Вопрос в том, как понять этот процесс. К тому же не на все вопросы можно найти ответ в справке.

Я дал пример работающего скрипта, туда надо добавить отрисовку стрелок и трендовых, да переделать под Н4, вместо месяца. Стоит лишь отойти от концепции индикатора, да взглянуть на проблему под другим углом.

Не вижу практической пользы от такой разметки, ну забор, а что с него поиметь можно?

 
evillive:

Не вижу практической пользы от такой разметки, ну забор, а что с него поиметь можно?

Каждый видит забор по своему. 

"Я смотрю на дырки в заборе" образно говоря. 

 
Alex_Profit:


Вопрос в том, как понять этот процесс. К тому же не на все вопросы можно найти ответ в справке.

Именно чтение справки помогает изучить язык программирования. А потом, если что-то из этой справки не понятно можно задавать вопросы.

А как можно подсказывать человеку который вообще не читал документацию и не имеет представления где должно находиться SetIndexStyle(0, DRAW_SECTION); и вставляет это в OnCalculate с недоумением

Alex_Profit:

Почему-то без изменений

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