Сервисы. Уже работают? - страница 22

 
Что печатает этот Сервис, когда открытых чартов в Терминале нет?
#property service

void OnStart()
{
  Print(ChartID());
}
 
В Сервисах получить хендл Терминала тяжело.
// Получение хендла Терминала в Сервисе.

#property service

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

void OnStart()
{
  printf("%X", MTTESTER::GetTerminalHandle());
}
 
Основная проблема Сервисов все же не в Хендле Терминала - это все маржинальные случаи применения.
Более важная сфера - построение бэк-офисных систем поддержки торговли (проводящих расчеты собственных ГО,  показателей  риска по всему портфелю т.д.) требует наличия событий типа OnTradeTransaction etc - сейчас таких аккаунт-специфичных событий нет вообще; это странно и неприятно, что их забыли добавить.
Добавление данных событий в функционал Сервисов должно быть в первом приоритете развития этого вида обьекта МТ5, так как так как базовый десктопный функционал МТ5 по сути это фронт-офис, бэка нет вообще, и разбирающимся в торговых стратегиях трейдерам приходится бэк делать своими руками.
 
Sergey Lebedev:
Основная проблема Сервисов все же не в Хендле Терминала - это все маржинальные случаи применения.
Более важная сфера - построение бэк-офисных систем поддержки торговли (проводящих расчеты собственных ГО,  показателей  риска по всему портфелю т.д.) требует наличия событий типа OnTradeTransaction etc - сейчас таких аккаунт-специфичных событий нет вообще; это странно и неприятно, что их забыли добавить.
Добавление данных событий в функционал Сервисов должно быть в первом приоритете развития этого вида обьекта МТ5, так как так как базовый десктопный функционал МТ5 по сути это фронт-офис, бэка нет вообще, и разбирающимся в торговых стратегиях трейдерам приходится бэк делать своими руками.

Ничего не понял.

 
fxsaber:

Ничего не понял.

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

 
Roman:

В сервисах нужны дополнительные функции событий, а лучше одна функция для кастомных событий.

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

 
fxsaber:

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

Первое что пришло на ум, из свеженького.
Смотри, к примеру в соседних биржевых ветках не понимают, почему изменяется баланс с непонятной записью.
Потому что серверная сторона МТ не рассчитывает чистый результат клирингового перерасчёта долларовых инструментов.
С помощью сервиса, можно это дело всё самому рассчитать с чистым результатом, и вести свой баланс накопленных средств и ГО, с учётом клиринговых перерасчётов. 
Это и есть бэк-офис, т.е. те действия которые должен выполнять, или брокер или функционал терминала, но по тем или иным причинам этого не делается.

 
Roman:

Первое что пришло на ум, из свеженького.
Смотри, к примеру в соседних биржевых ветках не понимают, почему изменяется баланс с непонятной записью.
Потому что серверная сторона МТ не рассчитывает чистый результат клирингового перерасчёта долларовых инструментов.
С помощью сервиса, можно это дело всё самому рассчитать с чистым результатом, и вести свой баланс накопленных средств и ГО, с учётом клиринговых перерасчётов. 
Это и есть бэк-офис, т.е. те действия которые должен выполнять, или брокер или функционал терминала, но по тем или иным причинам этого не делается.

Не понятно, как это выглядит. Допустим, реализовано задуманное. Пользователь запустил. Дальше что будет происходить?

 
Sergey Lebedev:
Основная проблема Сервисов все же не в Хендле Терминала - это все маржинальные случаи применения.
Более важная сфера - построение бэк-офисных систем поддержки торговли (проводящих расчеты собственных ГО,  показателей  риска по всему портфелю т.д.) требует наличия событий типа OnTradeTransaction etc - сейчас таких аккаунт-специфичных событий нет вообще; это странно и неприятно, что их забыли добавить.
Добавление данных событий в функционал Сервисов должно быть в первом приоритете развития этого вида обьекта МТ5, так как так как базовый десктопный функционал МТ5 по сути это фронт-офис, бэка нет вообще, и разбирающимся в торговых стратегиях трейдерам приходится бэк делать своими руками.
С таким уровнем понимания, Вы можете все события передавать в сервис из советника через ресурсы. А теперь, еще и через базу данных. 
 
fxsaber:

Не понятно, как это выглядит. Допустим, реализовано задуманное. Пользователь запустил. Дальше что будет происходить?

А дальше, уже ведёшь свою чистую статистику баланса и ГО по открытым позициям. С учётом всех ежедневных перерасчётов клиринга.
Пишешь к примеру эту статистику в базу Sqlite, и потом используешь её для отображения, или в других своих расчётах.
Проблема перерасчёта клиринга в мт5 на биржевом рынке, это что первое пришло на ум.
А так можно собирать любые доступные данные с сайта биржи, или по выделенным каналам, и вести свою статистику и расчёты для алго-торговли.
Кастомные события в сервисе, как раз были бы удобны, для получения подобного рода информации из вне, не блокируя основной цикл сервиса.

Картинка для понимания, как это выглядит сейчас в терминале. (взято в биржевой ветке)
Терминал не рассчитывает чистый результат клирингового перерасчёта, накопленного дохода и ГО по открытым позициям.

b

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