Servizi. Sono già in funzione? - pagina 22

 
Cosa stampa questo servizio quando non ci sono grafici aperti nel terminale?
#property service

void OnStart()
{
  Print(ChartID());
}
 
Nei servizi, ottenere la maniglia del terminale è difficile.
// Получение хендла Терминала в Сервисе.

#property service

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

void OnStart()
{
  printf("%X", MTTESTER::GetTerminalHandle());
}
 
Il problema principale dei servizi non è il Terminal Handle - sono tutti i casi d'uso marginali.
Un'area più importante - la costruzione di sistemi di supporto al trading di back-office (esecuzione di calcoli dei propri RE, indicatori di rischio per l'intero portafoglio, ecc.) richiede eventi come OnTradeTransaction ecc. - ora non ci sono affatto questi eventi specifici dell'account; è strano e spiacevole che siano stati dimenticati per essere aggiunti.
L'aggiunta di questi eventi nella funzionalità dei servizi dovrebbe essere nella prima priorità dello sviluppo dell'oggetto MT5, perchéla funzionalità desktop di base di MT5 è front-office in effetti, non c'è affatto il back, e i trader che conoscono le strategie di trading devono fare il back a mano.
 
Sergey Lebedev:
Il problema principale dei servizi non è la maniglia del terminale, ma tutti i casi di applicazioni marginali.
Un'area più importante - la costruzione di sistemi di supporto al trading di back-office (facendo calcoli dei propri GO, indicatori di rischio a livello di portafoglio ecc.) richiede eventi come OnTradeTransaction ecc. - ora non ci sono affatto questi eventi specifici dell'account; è strano e frustrante che siano stati dimenticati per essere aggiunti.
Aggiungere questi eventi alla funzionalità dei servizi dovrebbe essere la prima priorità nello sviluppo di questo tipo di oggetto MT5, poichéla funzionalità di base del desktop MT5 è essenzialmente front-office, non c'è affatto un back-end, e i trader che conoscono le strategie di trading devono fare il back-end a mano.

Non capisco.

 
fxsaber:

Non ho capito niente.

I servizi hanno bisogno di funzioni aggiuntive per gli eventi, o preferibilmente una funzione per gli eventi personalizzati.
E questi eventi non dovrebbero essere costanti del terminale, in modo che l'utente possa definire eventi personalizzati per questa funzione.

 
Roman:

I servizi hanno bisogno di funzioni aggiuntive per gli eventi, e preferibilmente una funzione per gli eventi personalizzati.

Probabilmente è meglio scrivere prima gli scenari per l'uso dei servizi. Per esempio, cos'è"la costruzione di sistemi di supporto al commercio di back-office".

 
fxsaber:

Probabilmente è meglio scrivere prima gli scenari per l'uso dei servizi. Per esempio, cos'è la"costruzione di sistemi di supporto al commercio di back-office".

La prima cosa che mi viene in mente è una cosa recente.
Vedi, per esempio, nelle filiali di cambio vicine non capiscono perché il saldo cambia con una voce incomprensibile.
Perché il lato server MT non calcola il risultato netto del ricalcolo di compensazione degli strumenti in dollari.
Con il servizio, è possibile calcolare il risultato netto e mantenere il proprio saldo accumulato e CS, tenendo conto dei ricalcoli di compensazione.
Questo è il back office, cioè quelle azioni che dovrebbero essere fatte o dal broker o dalla funzionalità del terminale, ma che per un motivo o per l'altro non vengono fatte.

 
Roman:

La prima cosa che mi è venuta in mente, la più recente.
Guarda, per esempio nelle filiali di magazzino vicine, non capiscono perché l'equilibrio cambia con un'entrata poco chiara.
Perché il lato server MT non calcola il risultato netto del ricalcolo di compensazione degli strumenti in dollari.
Con il servizio, è possibile calcolare il risultato netto e mantenere il proprio saldo accumulato e CS, tenendo conto dei ricalcoli di compensazione.
Questo è il back office, cioè quelle azioni che dovrebbero essere fatte o dal broker o dalla funzionalità del terminale, ma che per un motivo o per l'altro non vengono fatte.

Non è chiaro come sia questo aspetto. Diciamo che l'idea è implementata. L'utente lo avvia. Cosa succederà dopo?

 
Sergey Lebedev:
Il problema principale dei servizi non è il Terminal Handle - sono tutti i casi d'uso marginali.
Un'area più importante - la costruzione di sistemi di supporto al trading di back-office (facendo calcoli dei propri GO, indicatori di rischio a livello di portafoglio ecc.) richiede eventi come OnTradeTransaction ecc. - ora non ci sono affatto questi eventi specifici dell'account; è strano e frustrante che siano stati dimenticati per essere aggiunti.
Aggiungere questi eventi alla funzionalità dei servizi dovrebbe essere la prima priorità nello sviluppo di questo tipo di oggetto MT5, poichéla funzionalità di base del desktop MT5 è essenzialmente front-office, non c'è affatto un back-end, e i trader che conoscono le strategie di trading devono fare il back-end a mano.
Con questo livello di comprensione, è possibile trasferire tutti gli eventi al servizio dall'EA tramite risorse. E ora, anche attraverso il database.
 
fxsaber:

Non è chiaro come sia questo aspetto. Diciamo che l'idea è implementata. L'utente lo avvia. Cosa succede dopo?

E poi, tieni il tuo bilancio netto e le statistiche CS per le posizioni aperte. Compresi tutti i ricalcoli giornalieri di compensazione.
Per esempio, scrivere queste statistiche nel database Sqlite, e poi usarle per la visualizzazione o altri calcoli.
Il problema del ricalcolo della compensazione in mt5 sul mercato azionario è la prima cosa che mi è venuta in mente.
E così è possibile raccogliere tutti i dati disponibili dal sito di scambio, o attraverso canali dedicati, e mantenere le proprie statistiche e calcoli per l'algo-trading.
Gli eventi personalizzati nel servizio sarebbero convenienti per ricevere questo tipo di informazioni dall'esterno senza bloccare il ciclo principale del servizio.

Ecco un'immagine per capire come appare nel terminale. (preso da una filiale di scambio)
Il terminale non calcola il risultato netto del ricalcolo della compensazione, il reddito accumulato e il CS sulle posizioni aperte.

b