Dienstleistungen. Sind sie schon einsatzbereit? - Seite 22

 
Was druckt dieser Dienst, wenn im Terminal keine Charts geöffnet sind?
#property service

void OnStart()
{
  Print(ChartID());
}
 
Bei den Dienstleistungen ist es schwierig, den Terminal-Handle zu bekommen.
// Получение хендла Терминала в Сервисе.

#property service

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

void OnStart()
{
  printf("%X", MTTESTER::GetTerminalHandle());
}
 
Das Hauptproblem bei den Diensten ist nicht der Terminal-Handle, sondern die vielen kleinen Anwendungsfälle.
Ein wichtigerer Bereich - der Aufbau von Back-Office-Handelsunterstützungssystemen (Durchführung von Berechnungen der eigenen REs, Risikoindikatoren für das gesamte Portfolio usw.) erfordert Ereignisse wie OnTradeTransaction usw. - jetzt gibt es überhaupt keine solchen kontospezifischen Ereignisse; es ist seltsam und unangenehm, dass vergessen wurde, sie hinzuzufügen.
Das Hinzufügen dieser Ereignisse in die Dienste-Funktionalität sollte in der ersten Priorität der MT5-Objektentwicklung sein, weil diegrundlegende Desktop-Funktionalität von MT5 in der Tat Front-Office ist, es gibt überhaupt keine Rückseite, und Händler, die über Handelsstrategien wissen, müssen die Rückseite von Hand machen.
 
Sergey Lebedev:
Das Hauptproblem bei den Diensten ist nicht der Terminal-Handle - es sind die vielen Randanwendungen.
Ein wichtigerer Bereich - der Aufbau von Back-Office-Handelsunterstützungssystemen (Berechnung eigener GOs, portfolioübergreifende Risikoindikatoren usw.) erfordert Ereignisse wie OnTradeTransaction usw. - jetzt gibt es überhaupt keine solchen kontospezifischen Ereignisse; es ist seltsam und frustrierend, dass vergessen wurde, sie hinzuzufügen.
Das Hinzufügen dieser Ereignisse zur Funktionalität der Dienste sollte die erste Priorität bei der Entwicklung dieser Art von MT5-Objekten sein, dadie grundlegende MT5-Desktop-Funktionalität im Wesentlichen ein Front-Office ist, es gibt überhaupt kein Back-Office, und Händler, die sich mit Handelsstrategien auskennen, müssen das Back-Office von Hand erledigen.

Das verstehe ich nicht.

 
fxsaber:

Ich habe gar nichts verstanden.

Die Dienste benötigen zusätzliche Ereignisfunktionen, oder vorzugsweise eine Funktion für benutzerdefinierte Ereignisse.
Und diese Ereignisse sollten keine Konstanten des Terminals sein, damit der Benutzer eigene Ereignisse für diese Funktion definieren kann.

 
Roman:

Die Dienste benötigen zusätzliche Ereignisfunktionen und vorzugsweise eine Funktion für benutzerdefinierte Ereignisse.

Es ist wahrscheinlich am besten, zuerst Szenarien für die Nutzung von Diensten zu schreiben. Was ist zum Beispiel der"Aufbau von Back-Office-Systemen zur Unterstützung des Handels"?

 
fxsaber:

Es ist wahrscheinlich am besten, zuerst Szenarien für die Nutzung von Diensten zu schreiben. Was ist zum Beispiel der"Aufbau von Back-Office-Systemen zur Unterstützung des Handels"?

Das erste, was mir dazu einfällt, ist ein aktuelles Thema.
In benachbarten Wechselstuben verstehen sie zum Beispiel nicht, warum sich der Saldo bei einer unklaren Buchung ändert.
Denn die MT-Serverseite berechnet nicht das Nettoergebnis der Clearing-Neuberechnung von Dollar-Instrumenten.
Mit diesem Dienst ist es möglich, das Nettoergebnis zu berechnen und das Gleichgewicht zwischen den angesammelten Geldern und der CS zu halten, wobei die Neuberechnungen des Clearings berücksichtigt werden.
Hierbei handelt es sich um das Back-Office, d. h. um die Aktionen, die entweder vom Makler oder von der Terminalfunktionalität ausgeführt werden sollten, aber aus dem einen oder anderen Grund nicht ausgeführt werden.

 
Roman:

Das Erste, was mir in den Sinn kam, war das Neueste.
Schauen Sie zum Beispiel in benachbarte Lagerzweige, sie verstehen nicht, warum sich der Saldo bei unklarer Eingabe ändert.
Denn die MT-Serverseite berechnet nicht das Nettoergebnis der Clearing-Neuberechnung von Dollar-Instrumenten.
Mit dem Dienst können Sie das Nettoergebnis berechnen und Ihren eigenen kumulierten Saldo und CS behalten, unter Berücksichtigung der Clearing-Neuberechnungen.
Hierbei handelt es sich um das Back-Office, d. h. um die Aktionen, die entweder vom Makler oder von der Terminalfunktionalität ausgeführt werden sollten, aber aus dem einen oder anderen Grund nicht ausgeführt werden.

Es ist nicht klar, wie das aussehen soll. Nehmen wir an, die Idee wird umgesetzt. Der Benutzer startet das Programm. Was wird als nächstes passieren?

 
Sergey Lebedev:
Das Hauptproblem bei den Diensten ist nicht der Terminal-Handle, sondern die vielen kleinen Anwendungsfälle.
Ein wichtigerer Bereich - der Aufbau von Back-Office-Handelsunterstützungssystemen (Berechnung eigener GOs, portfolioweiter Risikoindikatoren usw.) erfordert Ereignisse wie OnTradeTransaction usw. - jetzt gibt es überhaupt keine solchen kontospezifischen Ereignisse; es ist seltsam und frustrierend, dass vergessen wurde, sie hinzuzufügen.
Das Hinzufügen dieser Ereignisse zur Funktionalität der Dienste sollte die erste Priorität bei der Entwicklung dieser Art von MT5-Objekten sein, dadie grundlegende MT5-Desktop-Funktionalität im Wesentlichen ein Front-Office ist, es gibt überhaupt kein Back-End, und die Händler, die sich mit Handelsstrategien auskennen, müssen das Back-End von Hand machen.
Mit diesem Kenntnisstand können Sie alle Ereignisse aus dem EA über Ressourcen an den Dienst übertragen. Und jetzt auch über die Datenbank.
 
fxsaber:

Es ist nicht klar, wie das aussehen soll. Nehmen wir an, die Idee wird umgesetzt. Der Benutzer startet das Programm. Wie geht es weiter?

Und dann führen Sie Ihre eigene Nettobilanz und CS-Statistik für offene Positionen. Einschließlich aller täglichen Neuberechnungen der Verrechnung.
Schreiben Sie diese Statistiken zum Beispiel in die Sqlite-Datenbank und verwenden Sie sie dann für die Anzeige oder andere Berechnungen.
Das Problem der Clearing-Neuberechnung in mt5 auf dem Aktienmarkt ist das erste, was mir in den Sinn kam.
Sie können jedoch alle verfügbaren Daten von der Börsen-Website oder über spezielle Kanäle sammeln und Ihre eigenen Statistiken und Berechnungen für den Algo-Handel erstellen.
Benutzerdefinierte Ereignisse im Dienst wären praktisch, um diese Art von Informationen von außen zu erhalten, ohne den Hauptdienstzyklus zu blockieren.

Hier ist ein Bild, um zu verstehen, wie es im Terminal aussieht. (entnommen aus einer Wechselstube)
Das Terminal berechnet nicht das Nettoergebnis der Clearing-Neuberechnung, der kumulierten Erträge und der CS auf offenen Positionen.

b