Сервисы вообще живы или это фантастика? - страница 2

 
Maxim Kuznetsov #:

их не рисуют, их используют :-)

сам использую для 3-х целей: генерация Custom-символов (сервисы буквально сделаны для такого), панели-информеры (но тут весь GUI - в dll) и отчёты в SQL

всё просто до элементарного :

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

 
Alexey Viktorov #:

Алексей, сервис, это тот-же скрипт, только выполняется не набрасыванием на график, а при первом запуске и при каждом открытии МТ.

Запустил МТ — сервис отработал и в тину. Можно зациклить и он будет работать до остановки или закрытия терминала. Только не забыть вставить флаг принудительного закрытия.

Ага-а-а, еще крупинка знаний, спасибо! Жаль, что в справке этих крупинок ноль.

 
Просто я как-то еще давно разобрался с Windows services, там посложнее, но идеология схожая — сервис запускается при старте Винды и не привязан ни к какой программе. А программы и другие сервисы могут с ним взаимодействовать. Была задумка повесить на сервис общую математику, чтобы каждый советник не дублировал то, что сделано другими. А инфы 2 года назад, когда они появились, совсем не было, так и заглохло, теперь можно вернуться ). Странно, что в статьях на эту тему пусто.
 
Alexey Volchanskiy #:

Ага-а-а, еще крупинка знаний, спасибо! Жаль, что в справке этих крупинок ноль.

Вот напримар, когда ещё не разобрались как отключить показ всех сделок на чарте, я пользовал этот сервис

//+------------------------------------------------------------------+
//|                                                  ServiceTest.mq5 |
//|                                          © 2020, Alexey Viktorov |
//|                     https://www.mql5.com/ru/users/alexeyvik/news |
//+------------------------------------------------------------------+
#property service
#property copyright "© 2020, Alexey Viktorov"
#property link      "https://www.mql5.com/ru/users/alexeyvik/news"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart()
 {
  long currChart = ChartNext(0);
  while(currChart >= 0)
   {
    ObjectsDeleteAll(currChart, "autotrade");
    currChart = ChartNext(currChart);
   }
 }
//+------------------------------------------------------------------+
П ри запуске терминала перебирает все графики и удаляет все стрелки и трендовые если имя начинается на "autotrade"
 
Alexey Viktorov #:

Вот напримар, когда ещё не разобрались как отключить показ всех сделок на чарте, я пользовал этот сервис

П ри запуске терминала перебирает все графики и удаляет все стрелки и трендовые если имя начинается на "autotrade"

Да, действительно просто. И каждый сервис работает в своем потоке, я догадываюсь, так?

И еще вопрос. У меня сервис на выходе будет выдавать массив, возможно двухмерный. Как можно этот массив читать из советника?

 
Dmitriy Skub #:
Здесь имеются в виду не веб-сервисы (Вы про них подумали?), а тип MQL-программы, запускаемой под МТ5.

Тоже не про веб. Подумалось что в своём софте без МТ получаете все данные и т.п. и т.д. Т.е. реализовали свой терминал, вот и поинтересовался откуда данные получаете)

Постойте, постойте - Вы же пишете "нет привязки к графику", в МТ всё цепляется к "графикам")

Дочитал ветку/тему, понял, уже разбираюсь) Прозевал как-то этот момент от слова - совсем)

 
Alexey Volchanskiy #:

Да, действительно просто. И каждый сервис работает в своем потоке, я догадываюсь, так?

И еще вопрос. У меня сервис на выходе будет выдавать массив, возможно двухмерный. Как можно этот массив читать из советника?

Не занимался этим. Возможно так-же как между советниками.

 
Mikhail Mishanin #:

Тоже не про веб. Подумалось что в своём софте без МТ получаете все данные и т.п. и т.д. Т.е. реализовали свой терминал, вот и поинтересовался откуда данные получаете)

Постойте, постойте - Вы же пишете "нет привязки к графику", в МТ всё цепляется к "графикам")

Дочитал ветку/тему, понял, уже разбираюсь) Прозевал как-то этот момент от слова - совсем)

Тем не менее, Вы правильно угадали - терминал действительно свой (давно уже). Данные и торговые приказы через МТ5.
 
Dmitriy Skub #:
Тем не менее, Вы правильно угадали - терминал действительно свой (давно уже). Данные и торговые приказы через МТ5.

А зачем делать собственный терминал через МТ5? Робота я понимаю. В конце нулевых, когда МТ4 был, мягко говоря, не айс (убогий язык, даже без структур, редактор падал при каждом чихе), я весь робот делал в DLL C++, а в терминале крутился максимально простой советник. Тогда это имело смысл, для сложных многопоточных и использованием богатств .NET может иметь смысл и сейчас. Но терминал...?

 
Alexey Volchanskiy #:

А зачем делать собственный терминал через МТ5? Робота я понимаю. В конце нулевых, когда МТ4 был, мягко говоря, не айс (убогий язык, даже без структур, редактор падал при каждом чихе), я весь робот делал в DLL C++, а в терминале крутился максимально простой советник. Тогда это имело смысл, для сложных многопоточных и использованием богатств .NET может иметь смысл и сейчас. Но терминал...?

А зачем вообще терминалы делают? (Да, вопросом на вопрос))