Обсуждение статьи "Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#" - страница 12

 
Nikolai Karetnikov:

День добрый! )

Петр, что значит "были" и что значит "высокой"? Где-то дискуссия на эту тему была, что-ли

Добрый! ) 
Да, были дисскусии и немало. Оказалось, что при передаче данных из mql в шарповские таблицы на частоте таймера 25мс, они по неизвестной причине обновляются примерно раз в секудну. Удалось ли исправить автору или кому то еще, не знаю, но предпологаю, что Василий не стал продолжать серию статей потому что не решил проблему. 

П.С. (К слову, они считали, что после статьи Василия, весь мой язык разметки никому не будет нужен, но зато мои таблицы прекрасно работают, а подключение в разы удобнее и в Маркет можно выкладывать, потому что без ДЛЛ). :)
 
Реter Konow:
Добрый! ) 
Да, были дисскусии и немало. Оказалось, что при передаче данных из mql в шарповские таблицы на частоте таймера 25мс, они по неизвестной причине обновляются примерно раз в секудну. Удалось ли исправить автору или кому то еще, не знаю, но предпологаю, что Василий не стал продолжать серию статей потому что не решил проблему. 

П.С. (К слову, они считали, что после статьи Василия, весь мой язык разметки никому не будет нужен, но зато мои таблицы прекрасно работают, а подключение в разы удобнее и в Маркет можно выкладывать, потому что без ДЛЛ). :)

Понятно ))

Похоже вы правы, либо мы потеряли Василия, либо он потерял интерес к теме )

 

слегка улучшенная версия советника TradePanel

В заголовке формы название инструмента [1], вместо надписи продать и купить на кнопках текущие котировки [2], а сами формы 'уже [3] и "прилипают" к границам экрана. Прилипание - сторонний софт  https://www.nurgo-software.com/products/aquasnap 

Если бы кто добавил в сам .sln функцию примагничивания, было бы вообще здорово

При запуске советника он спросит, где лежит TradePanel.dll, чтобы не указывать это в коде


Window docking
Window docking
  • www.nurgo-software.com
Split your desktop in one easy gesture Drag and drop your windows to the sides or corners of the screen, and they'll automatically be resized to fit one half or one quarter of the screen. This feature is just like the built-in Aero Snap function of Windows 10 , but with more possibilities! This is especially useful on either a 4K monitor or...
Файлы:
TradePanel.zip  74 kb
 
Nikolai Karetnikov:

Rafil, разобрались в чем была проблема?

решил также как вы, добавил перечисление  в mql 

 
Здравствуйте, ВАСИЛИЙ СОКОЛОВ

Во-первых, большое спасибо за ваш образец и за то, что поделились своей идеей.

Я скачал и использую его.

Но у меня есть вопрос, почему для открытия winform в DLL нужно использовать "MtGuiController.dll"?

Можно ли просто импортировать "TradePanel.dll" и использовать его без "MtGuiController.dll"?

Если кто-нибудь знает, как это сделать, спасибо.

 

Здравствуйте!

Спасибо за вашу идею!

Я создал форму и использовал TabelLayoutPanel. Но если я нажму на кнопку в этой TabelLayoutPanel, то ничего не произойдет.

Может ли кто-нибудь помочь мне с этим?

PS: Та же кнопка работает без TabelLayoutPanel.

 

Контроллер великолепен, и вы получаете действительно хорошие идеи о том, что вы могли бы сделать, но у MT5 есть одна большая проблема:

Каждая *.dll, включенная в советник mq5, становится непригодной для других обращений, и контроллер не может передавать данные другим dll.

Вероятно, это связано с тем, что код C# компилируется напрямую, и поэтому различные вещи не могут быть сделаны.

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

Единственный способ обойти это - использовать элемент управления вкладками, в котором затем создавать различные нужные страницы, торговлю, сообщения, историю и т. д. Или придется прибегнуть к C++.

Или вам придется прибегнуть к C++, вы можете импортировать эти dll и должны импортировать отдельные функции.

 
Arturo Minor:

Вы можете использовать числовое представление каждого типа события:

Тип события ID
Исключение 0
ClickOnElement 1
TextChange 2
ScrollChange 3

Вот пример с функцией SendEvent (этот код взят из советника TardePanel):

Вы меняете представление события TextChange на его ID, который равен 2, и делаете это для всех функций, которым это необходимо.


Спасибо за решение проблемы. Однако ответ на первоначальный вопрос все еще интересен: почему перечисление недоступно из EA? Перечисление объявлено как публичное. Почему оно работает для других? (Или нет?)


Заранее спасибо за помощь.

 
sachnyc:

Кто-нибудь смог выяснить, почему возникает ошибка ниже?

Компилятор MQL выдает ошибку : "Undeclared Identifier" для любого из перечислений ниже.

Я также получаю ту же ошибку.


После нескольких тестов.


Для использования констант, связанных с перечислениями, определенными в файле MtGuiController.dll, необходимо использовать пространство имен MtGuiController перед любой константой.

Например, вместо TextChange нужно написать MtGuiController.TextChange.

 
Pete:

Я относительный новичок в MQL5 и многое узнал из этой статьи! Спасибо большое!


У меня есть один вопрос. Последние 2 дня я пытаюсь разобраться с тем, что написано ниже.


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


Компилятор MQL выдает сообщение : "Undeclared Identifier" для любого из перечислений ниже.


Если я "закомментирую" эти перечисления из MQL5, то все будет работать, что интересно, так как это означает, что код работает, но не может прочитать перечисления, что я и предполагаю?

Если кто-то сможет мне помочь, я буду очень признателен :)


Спасибо,


После нескольких тестов.


Для использования констант, связанных с перечислениями, определенными в файле MtGuiController.dll, необходимо использовать пространство имен MtGuiController перед любой константой.

Например, вместо TextChange нужно написать MtGuiController.TextChange.