Вопрос опытным разработчикам - как реализовать excel-подобный интерфейс в MT5?

 

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

То есть по строкам - конкретные стратегии, с разными параметрами. Каждая колонка - определённый параметр (числовой или строковый).

Прямо в этой таблице редактировать параметры реал-тайм, если надо. Колонок планируется до 50, строк - сотня-другая.

Сначала возникли мысли, что обработку таблицы надо делать на С++/С# и коннектить эту программу (DLL?) с MT5. То есть логика (обработка таблицы, как двумерного массива) вся в DLL, а вся торговля в MT5.

Логику я и сам смогу в дальнейшем менять хоть в VisualStudio, хоть в MT5, на это ума хватит. Но сконнектить одно с другим и обеспечить взаимодействие логики с торговлей - не смогу. Немного разобрался в MT5, когда-то чего-то кодил в VS (С++ и С#).

 

Однако меня всё же посетила здравая мысль спросить совета у опытных товарищей.

1. Как лучше реализовать подобное?

2. Можно ли подобный интерфейс работы сделать без С++/С#?

3. Есть ли уже какие решения или полуфабрикаты для подобной задачи?

4. Может у кого есть свои готовые подобные наработки, хоть по интерфейсу, хоть по коннекту?

5. Сколько такая работа может стоить во Фрилансе?

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

***

 
vito333:

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

То есть по строкам - конкретные стратегии, с разными параметрами. Каждая колонка - определённый параметр (числовой или строковый).

Прямо в этой таблице редактировать параметры реал-тайм, если надо. Колонок планируется до 50, строк - сотня-другая.

Сначала возникли мысли, что обработку таблицы надо делать на С++/С# и коннектить эту программу (DLL?) с MT5. То есть логика (обработка таблицы, как двумерного массива) вся в DLL, а вся торговля в MT5.

Логику я и сам смогу в дальнейшем менять хоть в VisualStudio, хоть в MT5, на это ума хватит. Но сконнектить одно с другим и обеспечить взаимодействие логики с торговлей - не смогу. Немного разобрался в MT5, когда-то чего-то кодил в VS (С++ и С#).

 

Однако меня всё же посетила здравая мысль спросить совета у опытных товарищей.

1. Как лучше реализовать подобное?

2. Можно ли подобный интерфейс работы сделать без С++/С#?

3. Есть ли уже какие решения или полуфабрикаты для подобной задачи?

4. Может у кого есть свои готовые подобные наработки, хоть по интерфейсу, хоть по коннекту?

5. Сколько такая работа может стоить во Фрилансе?

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

***

Всё это можно реализовать непосредственно в МТ5
 
prostotrader:
Всё это можно реализовать непосредственно в МТ5

как реализовать таблицу? 50х200? Пример? 

и цена вопроса? 

 

создаете .csv файл, читаете его по таймеру в боте. А если надо отредактировать открываете в экселе и редактируете в папке терминала, самый простой вариант :) дешево и сердито

ну или через класс для работы с визуальными панелями cAppDialog создать списки

 
На мой взгляд, вариант, предложенный
Maxim Dmitrievsky:

создаете .csv файл, читаете его по таймеру в боте. А если надо отредактировать открываете в экселе и редактируете в папке терминала, самый простой вариант :) дешево и сердито

Наиболее простой и наименее трудоемкий. Кстати и просматривать-редактировать csv-файл можно и удобнее всего  в том же Excel и сохранять как *.csv.

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

В конце концов пришлось перейти для записи и чтения ТС на базу данных. Вначале MS SQL Server, но оказался слишком тяжеловесным, MySQL аналогично тяжеловата, позже на MS Access, который легко перемещается, в котором легко работается и имеется на большинстве компьютеров.

Сейчас на слуху SQLite - совсем небольшая по софту БД с оч неплохими возможностями, но ее стабильность вызывает вопросы -  статья Работа с СУБД MySQL из MQL5 (MQL4)  Про SQLite см. в комментариях

 
vito333:

как реализовать таблицу? 50х200? Пример? 

и цена вопроса? 

sArray2D[50,200]
Или здесь https://www.mql5.com/ru/articles/2500
Графические интерфейсы VII: Элементы "Таблицы" (Глава 1)
Графические интерфейсы VII: Элементы "Таблицы" (Глава 1)
  • 2016.06.09
  • //www.mql5.com/ru/users/tol64">
  • www.mql5.com
В седьмой части серии статей о графических интерфейсах в терминалах MetaTrader будут представлены три типа таблиц: таблица из текстовых меток, таблица из полей ввода и нарисованная таблица. Ещё один важный и часто используемый элемент управления — вкладки, с помощью которых можно скрывать и делать видимыми группы других элементов управления, что позволяет пользователю делать компактные графические интерфейсы в своих MQL-приложениях.
 
pako:
sArray2D[50,200]
Или здесь https://www.mql5.com/ru/articles/2500

о, спасибо за наводку

и действительно, совсем недавно, получается, появилась такая возможность

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

ну и цена вопроса интересна 

 
В тестере такая графическая табличка не будет сильно тормозить процесс?
 
я думаю, в моих условиях не будет, так как основное назначение - просто хранить и отображать большое количество заданных параметров стратегий, а изменять их вручную и нечасто
Причина обращения: