Services. Sont-ils déjà opérationnels ? - page 22

 
Qu'imprime ce service lorsqu'il n'y a pas de graphiques ouverts dans le terminal ?
#property service

void OnStart()
{
  Print(ChartID());
}
 
Dans les services, il est difficile d'obtenir la poignée du terminal.
// Получение хендла Терминала в Сервисе.

#property service

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

void OnStart()
{
  printf("%X", MTTESTER::GetTerminalHandle());
}
 
Le principal problème des services n'est pas le Terminal Handle - ce sont tous les cas d'utilisation marginaux.
Un domaine plus important - la mise en place de systèmes d'aide au trading en back-office (calcul des RE propres, indicateurs de risque pour l'ensemble du portefeuille, etc.) nécessite des événements tels que OnTradeTransaction, etc. - il n'existe actuellement aucun événement de ce type spécifique au compte ; il est étrange et désagréable que l'on ait oublié de les ajouter.
L'ajout de ces événements dans la fonctionnalité des services devrait être la première priorité du développement de l'objet MT5, carla fonctionnalité de base du bureau de MT5 est le front-office, en fait, il n'y a pas de retour du tout, et les traders qui connaissent les stratégies de trading doivent faire le retour à la main.
 
Sergey Lebedev:
Le principal problème des services n'est pas le Terminal Handle, mais tous les cas d'application marginaux.
Un domaine plus important - la mise en place de systèmes de soutien au trading en back-office (exécution de calculs de GO propres, d'indicateurs de risque sur l'ensemble du portefeuille, etc.) nécessite des événements tels que OnTradeTransaction, etc. Actuellement, il n'existe aucun événement de ce type spécifique au compte ; il est étrange et frustrant que l'on ait oublié de les ajouter.
L'ajout de ces événements à la fonctionnalité des services devrait être la première priorité dans le développement de ce type d'objet MT5, car lafonctionnalité de base du bureau MT5 est essentiellement du front-office, il n'y a pas de back-end du tout, et les traders qui connaissent les stratégies de trading doivent faire le back-end à la main.

Je ne comprends pas.

 
fxsaber:

Je n'ai rien compris.

Les services ont besoin de fonctions d'événements supplémentaires, ou de préférence d'une fonction pour les événements personnalisés.
Et ces événements ne doivent pas être des constantes du terminal, afin que l'utilisateur puisse définir des événements personnalisés pour cette fonction.

 
Roman:

Les services ont besoin de fonctions supplémentaires pour les événements, et de préférence d'une fonction pour les événements personnalisés.

Il est probablement préférable d'écrire d'abord des scénarios pour l'utilisation des services. Par exemple, qu'est-ce que la"construction de systèmes d'appui au commerce de back-office".

 
fxsaber:

Il est probablement préférable d'écrire d'abord des scénarios pour l'utilisation des services. Par exemple, qu'est-ce que la"mise en place de systèmes d'appui au commerce de type back-office" ?

La première chose qui me vient à l'esprit est récente.
Voir, par exemple, dans les agences de change voisines, ils ne comprennent pas pourquoi le solde change avec une écriture incompréhensible.
Parce que le côté serveur de MT ne calcule pas le résultat net du recalcul de compensation des instruments en dollars.
Grâce à ce service, il est possible de calculer le résultat net et de conserver votre solde de fonds accumulés et de CS, en tenant compte des recalculs de compensation.
Il s'agit du back-office, c'est-à-dire des actions qui devraient être effectuées soit par le courtier, soit par la fonctionnalité du terminal, mais qui, pour une raison ou une autre, ne le sont pas.

 
Roman:

La première chose qui m'est venue à l'esprit, la plus récente.
Regardez, par exemple dans les branches voisines du stock, ils ne comprennent pas pourquoi le solde change avec une entrée peu claire.
Parce que le côté serveur de MT ne calcule pas le résultat net du recalcul de compensation des instruments en dollars.
Grâce à ce service, vous pouvez calculer le résultat net et conserver votre propre solde cumulé et votre CS, en tenant compte des recalculs de compensation.
Il s'agit du back-office, c'est-à-dire des actions qui devraient être effectuées soit par le courtier, soit par la fonctionnalité du terminal, mais qui, pour une raison ou une autre, ne le sont pas.

On ne sait pas très bien à quoi cela ressemble. Disons que l'idée est mise en œuvre. L'utilisateur le met en marche. Que va-t-il se passer ensuite ?

 
Sergey Lebedev:
Le principal problème des services n'est pas le Terminal Handle - ce sont tous les cas d'utilisation marginaux.
Un domaine plus important - la mise en place de systèmes d'aide au trading en back-office (calcul de ses propres GO, indicateurs de risque à l'échelle du portefeuille, etc.) nécessite des événements tels que OnTradeTransaction, etc. Or, il n'y a plus du tout d'événements spécifiques au compte ; il est étrange et frustrant que l'on ait oublié de les ajouter.
L'ajout de ces événements à la fonctionnalité des services devrait être la première priorité dans le développement de ce type d'objet MT5, car lafonctionnalité de base du bureau MT5 est essentiellement du front-office, il n'y a pas de back-end du tout, et les traders qui connaissent les stratégies de trading doivent faire le back-end à la main.
Avec ce niveau de compréhension, vous pouvez transférer tous les événements au service depuis l'EA via les ressources. Et maintenant, également par le biais de la base de données.
 
fxsaber:

On ne sait pas très bien à quoi cela ressemble. Disons que l'idée est mise en œuvre. L'utilisateur le met en marche. Que se passe-t-il ensuite ?

Et puis, vous tenez votre propre solde net et vos statistiques CS pour les postes ouverts. Y compris tous les recalculs quotidiens de la compensation.
Par exemple, écrire ces statistiques dans la base de données Sqlite, puis l'utiliser pour l'affichage ou d'autres calculs.
Le problème du recalcul de compensation dans mt5 sur le marché boursier est la première chose qui m'est venue à l'esprit.
Vous pouvez donc collecter toutes les données disponibles sur le site de la bourse, ou via des canaux dédiés, et conserver vos propres statistiques et calculs pour l'algo-trading.
Des événements personnalisés dans le service seraient pratiques pour recevoir ce type d'information de l'extérieur sans bloquer le cycle principal du service.

Voici une photo pour comprendre comment cela se présente dans le terminal. (extrait d'une branche d'échange)
Le terminal ne calcule pas le résultat net du recalcul de compensation, le revenu accumulé et le CS sur les positions ouvertes.

b