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

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
слегка улучшенная версия советника TradePanel
В заголовке формы название инструмента [1], вместо надписи продать и купить на кнопках текущие котировки [2], а сами формы 'уже [3] и "прилипают" к границам экрана. Прилипание - сторонний софт https://www.nurgo-software.com/products/aquasnap
Если бы кто добавил в сам .sln функцию примагничивания, было бы вообще здорово
При запуске советника он спросит, где лежит TradePanel.dll, чтобы не указывать это в коде
Rafil, разобрались в чем была проблема?
решил также как вы, добавил перечисление в mql
Приветствую. Подскажите, пожалста. Что я делаю не так? При включении советника форма не появляется. Ошибок в журнале нет.
Приветствую. Подскажите, пожалста. Что я делаю не так? При включении советника форма не появляется. Ошибок в журнале нет.
Привет! А для какой версии .NET собрана библиотека и приложение с формой? MT4 и MT5 не поддерживают .NET Core 3(младшие версий не проверял), .NET 5 и .NET 6, ни для библиотеки ни для приложения с формой.
Конечно могу ошибаться но у меня тоже не запускалась форма на этих версиях. Сам смог запустить при сборке под .NET Framework 4.8
Так же если вы пытаетесь импортировать в МT4 то там требуется немного изменить код библиотеки, т.к. есть проблемы с передачей параметров по ссылке.
Не работает:
GuiController скачал с репозитория. Установил Visual Studio 2022, создал форму с кнопкой, запускаю в MetaTrader 5, получаю ошибку:
Результат команды clrver:
PS C:\Development\Visual Studio Community 2022\C Sharp\GuiMt> clrver
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation. All rights reserved.
Versions installed on the machine:
v2.0.50727
v4.0.30319
С чем может быть связана ошибка?
Не работает:
GuiController скачал с репозитория. Установил Visual Studio 2022, создал форму с кнопкой, запускаю в MetaTrader 5, получаю ошибку:
Результат команды clrver:
PS C:\Development\Visual Studio Community 2022\C Sharp\GuiMt> clrver
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation. All rights reserved.
Versions installed on the machine:
v2.0.50727
v4.0.30319
С чем может быть связана ошибка?
GuiController устарел и требует перекомпиляции.
С октября 2018 года MQL5 стал нативно поддерживать интеграцию с библиотеками Net Framwork
Добрый день. Подскажите пожалуйста, где можно почитать официальную информацию о поддержке C#. В документации что-то не нашел такого, есть информация по подключению VS, по использованию MT как компилятора, по работе с Питоном, но по шарпу инфы не увидел. Буду признателен за ссылочку на официальную доку, чтобы ознакомиться со всеми возможностями.
Пример дан в анонсе https://www.metatrader5.com/ru/releasenotes/terminal/1898
MQL5
Для работы с функциями .NET библиотеки достаточно импортировать саму DLL без указания конкретных функций. MetaEditor автоматически импортирует все функции, с которыми возможна работа:
Для вызова функций из библиотеки просто импортируйте ее:
C# код функции Inc класса TestClass выглядит следующим образом:
В результате выполнения скрипт вернет значение 42.
Работа над поддержкой .NET библиотек продолжается, в будущих версиях планируется расширить возможности их использования.
Функции WinAPI сгруппированы в отдельных файлах по назначению:
Обвязка работает только с 64-битной архитектурой.
Не работает:GuiController скачал с репозитория. Установил Visual Studio 2022, создал форму с кнопкой, запускаю в MetaTrader 5, получаю ошибку....
в Visual Studio community 2019 всё работает, как у автора,однако когда он пишет:
"Каждая форма имеет открытый список элементов, которая она содержит. Перебирая список элементов, метод находит те из них, что контроллер способен поддержать, и подписывается на нужные ему события. Если элемент на форме не поддерживается контроллером, то он просто будет проигнорирован. "
Увы, если разместить на тестовой форме SplitContainer или DataGridView, форма вообще не запускается не понятно почему, однако такой сложный компонент как Chart ЗАПУСКАЕТСЯ.
Прилагаю тестовый пример какие компоненты возможно использовать при доработке(хоть форма запускается!)
при попытке создать контроллер GuiController controller = new GuiController(assembly, form, m_global_events);
выдает Unexpected exception: Ключ с таким именем уже существует (для DataGridView) и контроллер НЕ СОЗДАЕТСЯ(форма же создается, наверное ее можно показать,но без контроллера как управлять?)
еще раз все ОК если нет компонентов SplitContainer и/или DataGridView