Serviços. Eles já estão em funcionamento? - página 22

 
O que este Serviço imprime quando não há gráficos abertos no Terminal?
#property service

void OnStart()
{
  Print(ChartID());
}
 
Em Serviços, obter o Cabo Terminal é difícil.
// Получение хендла Терминала в Сервисе.

#property service

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

void OnStart()
{
  printf("%X", MTTESTER::GetTerminalHandle());
}
 
O principal problema dos Serviços não é o Cabo Terminal - são todos os casos de uso marginal.
Uma área mais importante - a construção de sistemas de apoio comercial de back-office (realização de cálculos de REs próprios, indicadores de risco para toda a carteira, etc.) requer eventos como a OnTradeTransaction, etc. - agora não existem eventos específicos de contas; é estranho e desagradável que tenham sido esquecidos para serem adicionados.
Adicionar estes eventos na funcionalidade de Serviços deve estar na primeira prioridade do desenvolvimento de objetos MT5, porque afuncionalidade básica do MT5 é de fato o front-office, não há back at all, e os comerciantes que conhecem as estratégias de negociação têm que fazer o back by hand.
 
Sergey Lebedev:
O principal problema com Serviços não é o Cabo Terminal - são todos os casos de aplicação de margem.
Uma área mais importante - a construção de sistemas de apoio comercial de back-office (execução de cálculos dos próprios GOs, indicadores de risco em toda a carteira etc.) requer eventos como OnTradeTransaction etc. - agora não há nenhum evento específico de conta; é estranho e frustrante que eles tenham sido esquecidos para serem adicionados.
Adicionar estes eventos à funcionalidade Serviços deve ser a primeira prioridade no desenvolvimento deste tipo de objeto MT5, uma vez quea funcionalidade básica do MT5 é essencialmente o front-office, não há back-end, e os comerciantes que conhecem as estratégias de negociação têm que fazer o back-end à mão.

Eu não entendo.

 
fxsaber:

Eu não entendi nada.

Os serviços precisam de funções adicionais de eventos, ou de preferência uma função para eventos personalizados.
E estes eventos não devem ser constantes do terminal, para que o usuário possa definir eventos personalizados para esta função.

 
Roman:

Os serviços precisam de funções adicionais para eventos, e de preferência uma função para eventos personalizados.

Provavelmente é melhor escrever primeiro cenários para o uso de Serviços. Por exemplo, o que é"construir sistemas de apoio ao comércio de back-office".

 
fxsaber:

Provavelmente é melhor escrever primeiro cenários para o uso de Serviços. Por exemplo, o que é"construir sistemas de apoio ao comércio de back-office".

A primeira coisa que me vem à mente é uma coisa recente.
Veja, por exemplo, nos ramos de câmbio vizinhos, eles não entendem porque o equilíbrio muda com uma entrada obscura.
Porque o lado do servidor MT não calcula o resultado líquido do recálculo de compensação dos instrumentos em dólares.
Com o serviço, é possível calcular o resultado líquido e manter seu saldo de fundos acumulados e CS, levando em conta os recálculos de compensação.
Este é o back office, ou seja, aquelas ações que devem ser feitas ou pelo corretor ou pela funcionalidade do terminal, mas por uma razão ou outra não é feito.

 
Roman:

A primeira coisa que me veio à mente, a mais nova.
Veja, por exemplo, nos ramos de estoque vizinhos, eles não entendem por que equilibrar mudanças com entradas pouco claras.
Porque o lado do servidor MT não calcula o resultado líquido do recálculo de compensação dos instrumentos em dólares.
Com o serviço, é possível calcular o resultado líquido e manter seu saldo de fundos acumulados e CS, levando em conta os recálculos de compensação.
Este é o back office, ou seja, aquelas ações que devem ser feitas ou pelo corretor ou pela funcionalidade do terminal, mas por uma razão ou outra não é feito.

Não está claro como isto se parece. Digamos que a idéia é implementada. O usuário inicia o processo. O que acontecerá em seguida?

 
Sergey Lebedev:
O principal problema dos Serviços não é o Cabo Terminal - são todos os casos de uso marginal.
Uma área mais importante - a construção de sistemas de apoio comercial de back-office (execução de cálculos dos próprios GOs, indicadores de risco em toda a carteira etc.) requer eventos como OnTradeTransaction etc. - agora não há nenhum evento específico de conta; é estranho e frustrante que eles tenham sido esquecidos para serem adicionados.
Adicionar estes eventos à funcionalidade Serviços deve ser a primeira prioridade no desenvolvimento deste tipo de objeto MT5, uma vez quea funcionalidade básica do MT5 é essencialmente o front-office, não há back-end, e os comerciantes que conhecem as estratégias de negociação têm que fazer o back-end à mão.
Com este nível de compreensão, você pode transferir todos os eventos para o serviço a partir da EA através de recursos. E agora, também através do banco de dados.
 
fxsaber:

Não está claro como isto se parece. Digamos que a idéia é implementada. O usuário inicia o processo. O que acontece em seguida?

E então, você mantém seu próprio saldo líquido e estatísticas de CS para posições abertas. Incluindo todos os recálculos diários de compensação.
Por exemplo, escreva estas estatísticas no banco de dados Sqlite, e depois use-o para exibição ou outros cálculos.
O problema da compensação do recálculo em mt5 na bolsa de valores é a primeira coisa que me vem à mente.
Mas você pode coletar quaisquer dados disponíveis no site de intercâmbio, ou através de canais dedicados, e manter suas próprias estatísticas e cálculos para algo-trading.
Eventos personalizados em serviço seriam convenientes para receber este tipo de informação do exterior sem bloquear o ciclo principal de serviço.

Aqui está uma foto para entender como fica no terminal. (retirado de um ramo de intercâmbio)
O terminal não calcula o resultado líquido da compensação do recálculo, da renda acumulada e da CS sobre as posições abertas.

b