Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2383

 
Tretyakov Rostyslav #:
Для себя я делал так

Свечки я уже сделал, получается точная копия оригинальных если/когда необходимо.

Tretyakov Rostyslav #:
Думаю через канвас можно

Похоже это непростая задача, для начала увеличу толщину вертикальных отрезков, а дальше время покажет.
За идею Спасибо!

 
Tretyakov Rostyslav #:

Думаю через канвас можно, а больше никак.

Для себя я делал так


По-быстрому написал черновой вариант индикатора, повесил его поверх баров МТ4 => небо и земля, получилось просто замечательно.
ПС Было бы неплохо если бы в МТ4/МТ5 увеличили толщину баров.
ПС 2 На картинках качество изображения заметно ниже чем в реальности на мониторе.











 

Здравствуйте! Может кто-нибудь поделиться кодом или скинуть ссылку на видео, как узнать количество баров внутри созданного пользователем прямоугольника? 


 
Igor168 #:

Здравствуйте! Может кто-нибудь поделиться кодом или скинуть ссылку на видео, как узнать количество баров внутри созданного пользователем прямоугольника? 


Получите координаты времени

long  ObjectGetInteger(
   long     chart_id,         // идентификатор графика
   string   object_name,      // имя объекта
   int      prop_id,          // идентификатор свойства
   int      prop_modifier=0   // модификатор свойства, если требуется
   );

Потом получите количество баров между двумя датами

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период
   datetime         start_time,      // с какой даты
   datetime         stop_time        // по какую дату
   );
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
 
Igor168 #:

Здравствуйте! Может кто-нибудь поделиться кодом или скинуть ссылку на видео, как узнать количество баров внутри созданного пользователем прямоугольника? 

int bar=int(MathAbs(ObjectGetInteger(0,"Rectangle",OBJPROP_TIME1)-ObjectGetInteger(0,"Rectangle",OBJPROP_TIME2))/(_Period*60));
 
Спасибо!
 

Ростислав убирает конкурентов .... несколько лет подряд даёт неверные советы

кол-во баров между двумя отметками времени это разница iBarShift(), ни никак не времени. Или просто Bars()

 
Tretyakov Rostyslav #:

При переходе между неделями добавятся бары выходных дней :)

 
Maxim Kuznetsov #:

Ростислав убирает конкурентов .... несколько лет подряд даёт неверные советы

кол-во баров между двумя отметками времени это разница iBarShift(), ни никак не времени. Или просто Bars()

А как тогда таким образом узнать количество баров внутри прямоугольника?

Заменить 

OBJPROP_TIME1

на iBarsShift()??

 
Igor168 #:

А как тогда таким образом узнать количество баров внутри прямоугольника?

Заменить 

на iBarsShift()??

int bar=int(MathAbs(iBarShift(_Symbol,_Period,ObjectGetInteger(0,"Rectangle",OBJPROP_TIME1))-iBarShift(_Symbol,_Period,ObjectGetInteger(0,"Rectangle",OBJPROP_TIME2))));
Причина обращения: