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

 
Stanislav Korotky:

...дизайнить формы WPF, читать XAML в MQL.

Шедевриально! 

 
Stanislav Korotky:

Мда, статья хорошая, правда не уверен, читали ли её редакторы ;-). "Помимо" пишется вместе, а везде по тексту - раздельно. Бросилось в глаза, потому что более или менее внимательно читал, по сравнению с прочими статьями.

По сути, вроде с одной стороны - хорошо. А с другой - тянуть всю лабуду, связанную со Студией, только для визуального редактора форм - как-то громоздко. Если Студия уже стоит - не вопрос.

Я б делал всё на MQL, вместе с дизайнером (идеи есть, руки не доходят). И вроде имеется еще промежуточный вариант - со Студией, но без DLL - дизайнить формы WPF, читать XAML в MQL.

автор статьи показал пример как сделать "панель с кнопками" которая будет работать как онлайн, так и в тестере, сделать графику средствами MQL не сложно, но в тестере она не работает... мне лично иногда хочется чтобы мой проект работал один  в один как онлайн так и в тестере, с помощью статьи Василия можно сделать работающий пример в течении 2-3 часов имея лишь базовые знания по программированию

 
Stanislav Korotky:

...

Я б делал всё на MQL, вместе с дизайнером (идеи есть, руки не доходят). И вроде имеется еще промежуточный вариант - со Студией, но без DLL - дизайнить формы WPF, читать XAML в MQL.

А я б, запускал космические корабли в космос. Идей куча, вот только руки тоже не доходят.

А вообще это конгениально: студию сложно скачать, зато самому запилить XAML интерпритатор - ерунда, вот только руки не доходят.

 

Очень впечатлил уровень подключения dll.

Правильно ли понимаю, что подключить C#_dll гораздо проще, чем EX5-библиотеку, т.к. во втором случае нужно прописывать функции?

Доступны ли в EX5-библиотеках классы, перечисления, структуры? Судя по статье, ME все это видит в dll, как будто подключили mqh, но только есть доступ к сигнатурам, а не к исходникам.

 
Vasiliy Sokolov:
Все, ждем Петра. Посмотрим на его "экспертную оценку" предложенного мной решения:) 

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

 
fxsaber:

Очень впечатлил уровень подключения dll.

...

Меня тоже...

 

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

Можно какой-нибудь пример, что отправляю double-массив в C#, а он на основании какой-нибудь продвинутой в визуальном отношении библы строит график, который бы зумился, скролился и под мышкой показывал значения? Всякие диаграммы с обратной связью и т.д.


ЗЫ Уверен, что есть библы визуализации баров. Кто знает, покажите, как в форме получить свой полноценный ценовой чарт?

 
fxsaber:

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

Можно какой-нибудь пример, чтобы отправляю double-массив в C#, а он на основании какой-нибудь продвинутой в визуальном отношении библы строил график, который бы зумился, скролился и под мышкой показывал значения? Всякие диаграммы с обратной связью и т.д.

Это вы сами создать должны. Тут предлагается только адаптер подключения к простым элементам GUI шарповской формы. 

 
fxsaber:

Очень впечатлил уровень подключения dll.

Правильно ли понимаю, что подключить C#_dll гораздо проще

да, сейчас вообще не проблема в МТ5 подключить библиотеку от C#, если пока только разбираетесь с этой возможностью, тогда скачайте SharpDevelop (14 МБ)  (чтобы не качать VS2017 > 200 МБ ~ 1Гб)

вот краткую инструкцию писал https://www.mql5.com/ru/forum/293630/page57#comment_9851502

 и чтобы не углубляться в графику, выполните пример который рекомендовали разработчики МТ: https://www.mql5.com/ru/forum/285631

public class TestClass
{
   public static void Inc(ref int x)
   {
    x++;
   }
}

впечатлил уровень интеграции библиотек на С# в МТ5, после того как пропишешь директиву #import с именем dll, сразу будут доступны в подсказке сигнатуры функций из dll, пользуешься как родными инклудниками из поставки МТ


Реter Konow:

Это вы сами создать должны. Тут предлагается только адаптер подключения к простым элементам GUI шарповской формы. 

хотите к сложным подключите, но зачем? программа на Шарпе сама по себе работает, МТ5 сам по себе, пример обмена данными автор статью показал..... могу даже больше показать: при передаче массивов по ссылке из МТ5 в C# ,будут доступны не только данные, но и даже размеры массивов путем вызова стандартных ф-ций Шарпа .Length(), т.е. достаточно передать передать по ссылке лишь имя буфера, т.е.

int arr[100];
dllsharp(arr);

а в самом Шарпе можно узнать размер buf.Length() .... вот такие чудеса с интеграцией ;)

public class TestClass
{
   public static int tst(ref int[] a)
   {
    return a.Length();
   }
}
 
Igor Makanu:

...

а в самом Шарпе можно узнать размер buf.Length() .... вот такие чудеса с интеграцией ;)

Да, я все понимаю. Меня пугали, пугали C-шарпом...   :)))