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

 
EVGENII SHELIPOV #:

Доброе время суток!!!!

Помогите изменить функцию которая калькулирует только убыток от убыточных ордеров в сетке ордеров 

Изменить нужно в функции - чтобы калькулировалась только минимальной части лота от каждого ордера сетки ордеров. Min Lot=0.01

Спасибо!!!!

Опишите более понятно, что вы хотите
 
Подскажите, пожалуйста, как управлять очередностью планов (передний, задний) графических объектов? Например, у меня есть небольшое квадратное инфополе, под которым график, а на само поле залезает линия тренда, и под поле прячется метка. 
 
Ivan Butko #:
Подскажите, пожалуйста, как управлять очередностью планов (передний, задний) графических объектов? Например, у меня есть небольшое квадратное инфополе, под которым график, а на само поле залезает линия тренда, и под поле прячется метка. 
  1. Установить объекту параметр OBJPROP_TIMEFRAMES в значение OBJ_NO_PERIODS
  2. Установить объекту параметр OBJPROP_TIMEFRAMES в значение OBJ_ALL_PERIODS
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Видимость объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Видимость объектов
  • www.mql5.com
Видимость объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin #:
  1. Установить объекту параметр OBJPROP_TIMEFRAMES в значение OBJ_NO_PERIODS
  2. Установить объекту параметр OBJPROP_TIMEFRAMES в значение OBJ_ALL_PERIODS

Артём, я наверное не совсем понял, может быть вопрос задал криво:

Есть три(четыре, пять...) рукотворных объекта  (ObjectCreate). Первый прячется за третьим, второй на переднем плане,. Как установить один на передний план, второй на второй, третий на задний. Чтобы первый объект при автоматическом перемещении был виден всегда, второй тоже всегда, но не за первым. Третий тоже всегда, но не за первым и вторым. Этакая очерёдность планов. 
Просто про ТФ не совсем понял.

 
Ivan Butko #:

Артём, я наверное не совсем понял, может быть вопрос задал криво:

Есть три(четыре, пять...) рукотворных объекта  (ObjectCreate). Первый прячется за третьим, второй на переднем плане,. Как установить один на передний план, второй на второй, третий на задний. Чтобы первый объект при автоматическом перемещении был виден всегда, второй тоже всегда, но не за первым. Третий тоже всегда, но не за первым и вторым. Этакая очерёдность планов. 
Просто про ТФ не совсем понял.

Поочерёдно делать так, как было описано выше, для каждого Вашего объекта. Очерёдность будет влиять на расположение. Самый последний, к которому будет применено такое действие, окажется самым верхним.

Как только определили, что на графике появился любой графический объект, который должен быть под Вашими объектами, поочерёдно делаете для каждого из Ваших объектов скрытие-отображение (как я написал выше). Такое действие выводит объект на передний план на графике. Первый Ваш объект, к которому применено такое действие, будет в самом низу (но выше любого другого графического объекта, нарисованного на графике уже после создания Ваших объектов), второй - над первым, третий - над первым и вторым, и так далее. При этом все объекты, к которым было применено скрытие-отображение, окажутся выше остальных графических объектов.

Т.е., порядок применения к Вашим объектам скрытия-отображения устанавливает их порядок расположения друг над другом. Но они все окажутся выше всего остального на графике.

Логика такая:

Если на графике появился какой-либо графический объект, который не должен наползать на Ваши объекты, делаете для каждого из Ваших объектов скрытие-отображение в том порядке, в каком они должны визуально располагаться (первый - в самом низу, последний - в самом верху). После выполнения скрытия-отображения для всех своих объектов делаете ChartRedraw().
Это важно - график перерисовываете только после того, как все Ваши объекты будут скрыты-отображены - чтобы визуально не было никакого мерцания на графике.

 
Artyom Trishkin #:

Поочерёдно делать так, как было описано выше, для каждого Вашего объекта. Очерёдность будет влиять на расположение. Самый последний, к которому будет применено такое действие, окажется самым верхним.

Как только определили, что на графике появился любой графический объект, который должен быть под Вашими объектами, поочерёдно делаете для каждого из Ваших объектов скрытие-отображение (как я написал выше). Такое действие выводит объект на передний план на графике. Первый Ваш объект, к которому применено такое действие, будет в самом низу (но выше любого другого графического объекта, нарисованного на графике уже после создания Ваших объектов), второй - над первым, третий - над первым и вторым, и так далее. При этом все объекты, к которым было применено скрытие-отображение, окажутся выше остальных графических объектов.

Т.е., порядок применения к Вашим объектам скрытия-отображения устанавливает их порядок расположения друг над другом. Но они все окажутся выше всего остального на графике.

Логика такая:

Если на графике появился какой-либо графический объект, который не должен наползать на Ваши объекты, делаете для каждого из Ваших объектов скрытие-отображение в том порядке, в каком они должны визуально располагаться (первый - в самом низу, последний - в самом верху). После выполнения скрытия-отображения для всех своих объектов делаете ChartRedraw().
Это важно - график перерисовываете только после того, как все Ваши объекты будут скрыты-отображены - чтобы визуально не было никакого мерцания на графике.

Ааааа, большое Вам спасибо! Теперь понял. Отлично 
 
Будьте добры, ещё такой момент: пересел с монитора с 2к на ноутбук 1080 и весь текст стал большой и заходить друг за друга. Подскажите, пожалуйста, как решить эту проблему
 
Ivan Butko #:
Будьте добры, ещё такой момент: пересел с монитора с 2к на ноутбук 1080 и весь текст стал большой и заходить друг за друга. Подскажите, пожалуйста, как решить эту проблему

Тут сложнее. Нужно использовать ресурсы для вывода графики. Читайте TextSetFont() - тут о размере шрифта в логических пикселях.

Соответственно и TextOut() - о выводе текста из ресурса. Ну и всё около этого - по ссылкам в документации.

Документация по MQL5: Графические объекты / TextSetFont
Документация по MQL5: Графические объекты / TextSetFont
  • www.mql5.com
TextSetFont - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin #:

Тут сложнее. Нужно использовать ресурсы для вывода графики. Читайте TextSetFont() - тут о размере шрифта в логических пикселях.

Соответственно и TextOut() - о выводе текста из ресурса. Ну и всё около этого - по ссылкам в документации.

Принял! Спасибо большое

 
Ivan Butko #:
Будьте добры, ещё такой момент: пересел с монитора с 2к на ноутбук 1080 и весь текст стал большой и заходить друг за друга. Подскажите, пожалуйста, как решить эту проблему
Средствами винды. Настройка графики большой маленький шрифт тоже должно настраивать.
Причина обращения: