Объект "Поле ввода" - OBJ_EDIT

 

Будет ли возможность в Объекте "Поле ввода" выбирать цвет, выбирать дату... выбирать один из вариантов перечисления (enum)... так, как это сделано в окне редактирования параметров индикаторов (советников). Хотелось бы иметь такую возможность.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 

Для чего это необходимо.

В МТ4 можно было запустить несколько экземпляров одного индикатора (говорю про ZUP) на одном графике. Каждый экземпляр отображал графические построения со своего выбранного  таймфрейма.

Сейчас некоторые возможности уже нельзя реализовать в индикаторе. Придется делать советник. ХОТЯ ЭТО БУДЕТ ИНДИКАТОР, А НЕ СОВЕТНИК!!!!!!!!!!!!!!!

Но сейчас в МТ5 нет возможности запускать несколько советников на одном графике. Новый советник выгружает уже запущенный ранее советник.

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

Правда, здесь также не все гладко. В МТ4 можно было через шаблон выводить все индикаторы на график с выбранными настройками. А вот как через шаблон выводить настройки для объектов (ООП). Параметров в том понимании, как они были ранее, уже не будет. 

 Либо необходимо добавить программные возможности по изменению окна редактирования параметров и добавить новые возможности для этого окна, каких пока сейчас нет.

--------------------------

Иначе многие разработки, ранее созданные для МТ4, в МТ5 реализовать не удастся. 

 
nen:

Для чего это необходимо.

В МТ4 можно было запустить несколько экземпляров одного индикатора (говорю про ZUP) на одном графике. Каждый экземпляр отображал графические построения со своего выбранного  таймфрейма.

Сейчас некоторые возможности уже нельзя реализовать в индикаторе. Придется делать советник. ХОТЯ ЭТО БУДЕТ ИНДИКАТОР, А НЕ СОВЕТНИК!!!!!!!!!!!!!!!

А какие возможности нельзя реализовать? Объекты в индикаторах мы давно разрешили - они работают нормально.

Я не уверен, что в поле ввода мы сделаем выбор других параметров, это надо обсуждать.

 

1) В индикаторе нельзя получить доступ к нескольким таймфреймам одновременно.

У меня есть такие индикаторы в МТ4, которые анализируют  одновременно несколько таймфреймов и делают графические построения по данным соответствующего таймфрейма.

Renat:

А какие возможности нельзя реализовать? Объекты в индикаторах мы давно разрешили - они работают нормально.

Я не уверен, что в поле ввода мы сделаем выбор других параметров, это надо обсуждать.

 

А почему нельзя сделать в поле ввода выбор других параметров?  Это открывает большие возможности. В принципе, и сецчас через поле ввода можно будет вводить тот же цвет.  Если задать переменную для ввода строкову и вводить цвет в виде наименования. А потом функция преобразовывает его к нужному виду. Но это чрезвычайно неудобно.

2) Слава сказал, что не будет открыта возможность использования  OnChartEvent в индикаторах. Почему? В чем проблема?

Также есть индикаторы в МТ4, в которых напрашиваются функции семейства OnChartEvent. Сейчас в МТ4 очень коряво сделано. Чрезвычайно неудобно. Но приходится мириться. А возможность применения OnChartEvent сильно упрощает работу с индикаторами и открывает поистине фантастические возможности.

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

Сейчас есть в метатрейдере встроенные инструменты графического анализа. Например, Вилы Эндрюса в самом примитивном виде. На самом деле, Вилы Эндрюса дополнительно должны иметь большое количество надстроек, чтобы был полный комплект. Кстати, в других торговых платформах этот полный комплект почти полностью реализован. Почти. Но не полностью. Полностью этот комплект реализован в ZUP - в индикаторе для МТ4. На примере вил Эндрюса поясню, для чего необходима функция OnChartEvent. Допустим, мы вывели на график вилы с линиями реакции и другими надстройками. Бывает необходимо оперативно перестороить этот комплект и привязать к другим точкам. Если использовать в функции OnChartEvent  CHARTEVENT_OBJECT_DRAG, то можно просто потянуть за одно точку привязки вил. Привязать эту точку вил к другому месту на графике и все добавленные инструменты вил, входящие в комплект автоматически перестроятся сразу. Получается оперативно. Красиво. В других торговых платформах не уверен, что такое реализовано. А если и реализовано, то скорее всего примитивно. А в МТ5 можно такое реализовать.

И таких построений множество.

Один такой индикатор стал переделывать из кода МТ4. Его реализую в виде советника. В советнике можно использовать CHARTEVENT_OBJECT_DRAG. Стал делать интерфейс для управления с помощью мыши. И споткнулся о невозможность использования в поле ввода выбора цвета. И получается опять костыли. Часть выбирать с помощью мыши через кнопки управления. А часть  - выбор цвета - через панель редактирования параметров ИНДИКАТОРА (реализованного как советник). Можно, конечно, создать несколько кнопок разного цвета. И этими цветами ограничить выбор цвета. Но это сильное ограничение. Получаются полумеры. Вроде бы сделали в МТ5 много интереснейших возможностей. Но эти возможности либо нельзя применить, либо можно, но криво и, скорее всего, это будет воспринято использующими такие индикаторы, как неграмотно сделанная работа.

Когда создаешь что-то, чего ранее никто не делал, хочется сделать красиво, чтобы люди, использующие твою разработку удивлялись и радовались открывающимся возможностям. И ради такой работы стоит тратить свое время. А делать что-то примитивное не интересно. Это пустая трата времени. 

 

Использование выбора в поле ввода добавляет много интересных возможностей. Полагаю, что это сделать возможно. И это не навредит МТ5. Не перегрузит его. Это не излишество. А интересная возможность. Есть ли где-то еще такая возможность? А в МТ5 эта возможность можно создать. И это может явиться своеобразной изюминкой языка MQL5.

 

Можно будет делать ИНДИКАТОРЫ, используя возможности советников (Я имею в виду - делать так, как сейчас сделано. Пишем советник. Но функционально - это индикатор.). Но все равно необходимо проработать лучше идеологию разделения советников и индикаторов. Как-то необходимо доработать эту идеологию. То есть, пусть это будет ИНДИКАТОР, реализованный в виде советника. Но он должен быть более четко позиционирован. Например, в верхнем правом углу не выводить метку советника. Еще ввести какие-то изменения. Этот вопрос требут дополнительной проработки. Иначе получается какой-то непонятный студень.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

1) Не совсем понял в чем может быть проблема. Доступ к другим таймфреймам из индикатора есть.

Можете подробнее описать?

Функционал поля ввода будем обсуждать.

2) То есть, Вы предлагаете события чартов бродкастом раздавать всем активным скриптам чарта. Мы это завтра обсудим.
 
Renat:

1) Не совсем понял в чем может быть проблема. Доступ к другим таймфреймам из индикатора есть.

Можете подробнее описать?

Функционал поля ввода будем обсуждать.

2) То есть, Вы предлагаете события чартов бродкастом раздавать всем активным скриптам чарта. Мы это завтра обсудим.

 

1) Доступ необходим к нескольким таймфреймам одновременно. В индикаторе можно через онкалькуляте к одному таймфрейму обратиться. Об этом не стоит сильно беспокоиться. Это и через советник можно сделать. Просто это один из моментов, которые заставляют использовать возможности советника. Или же я что-то недогоняю? Есть возможность доступа к нескольким тф в индикаторе? Пусть не через онкалькуляте. Надо почитать первоисточник - хэлп еще раз и посмотреть примеры...

2)  А почему нельзя раздавать события чарта? Со стороны трудно судить. Но если такие возможности не будут "напрягать" терминал, то почему нельзя?

Про поле ввода не забудьте обсудить. Пусть не сразу прямо сейчас это сделаете. А как появится время. Понимаю, что у Вас большая загрузка сейчас. 

 
Попробуйте немного изменить пример для функции CopyHigh(), чтобы получать данные с любого таймфрейма.

 
Ограничений по доступу через Copy функции нет.

 
Rosh:
Попробуйте немного изменить пример для функции CopyHigh(), чтобы получать данные с любого таймфрейма.

Да, я уже понял это. Спасибо.
 

В эпоху тотального дефицита, то бишь, во времена СССР, дефицит даставали через заднее крыльцо, задний ход, одним словом, через задний проход...

Раз нам не дают возможность использования  OnChartEvent в индикаторах, и непонятно, почему не дают, и неизвестно обсуждалось ли это в высших кругах, то...

можно это обойти следующим образом. Создаем советник, который обрабатывает все, что запрещено в индикаторах, и через глобальные переменные или еще каким-то хитрым способом передает это в индикаторы. Криво, в общем, через задний проход. Но работать должнО. О! 

=======

Советник назвать Ж... сокращенно, чтобы много места на экране не занимал. 

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