Servizi. Sono già in funzione? - pagina 5

 
Probabilmente dovremo tutti aspettare un esempio concreto per illustrare lo scopo esatto di questa nuova funzione.
 
Icham Aidibe:
Probabilmente dovremo tutti aspettare un esempio concreto per illustrare lo scopo esatto di questa nuova funzione.

Sì, dobbiamo aspettare che ci vengano mostrati i compiti dei servizi:

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Servizi. Sta già lavorando?

Renat Fatkhullin, 2018.12.18 09:20

Iservizi vengono eseguiti continuamente, comunicando con il terminale tramite una speciale coda di compiti. Riveleremo i compiti più tardi.

I servizi non sono esperti o gestori di eventi grafico/timer/prezzo. I modelli di eventi non sono necessari per i processi continui, il cui scopo è non interrompere mai e non dipendere da conti/server.

I servizi sono funzionalmente separati dagli esperti, in modo che la gente non crei dei Frankenstein. I servizi hanno il loro campo di applicazione.


 
Questa cosa sarà utile: calcoli pesanti in background usando il multithreading, lavoro con operazioni lunghe (caricamento di notizie dal sito, operazioni su file con grandi quantità di dati...), implementazione di programmi (rapporto settimanale sulle transazioni,...).
 
Nikolai Semko:
È corretto supporre che le capacità grafiche dei servizi siano pari a zero?
O è un fenomeno temporaneo per il momento?
Si può accedere a tutti i grafici e gestire gli oggetti, ma non ci sono e non ci saranno notifiche di grafici.

Cioè, è possibile costruire cose visive.
 
Vladimir Karputov :

Oui, vous devez attendre que les tâches des services vous soient présentées:


Sì, grazie!

È già stato creato qualcosa che può essere usato come servizio: il calendario forex - ma non sono sicuro che questo sia davvero il modo di usare questa nuova caratteristica - immagino che possa ricevere informazioni sui calendari e fornirle a tutto il terminale (tutti i grafici, tutte le IA, tutti gli indicatori possono essere serviti in questo modo) - aspetterò i futuri miglioramenti.

 
Renat Fatkhullin:
Tutti i grafici sono accessibili, gli oggetti possono essere gestiti, ma non ci sono e non ci saranno notifiche di grafici.

Cioè, è possibile costruire cose visive.

Un'interfaccia senza interazione con l'utente?

 
Renat Fatkhullin:
Tutti i grafici sono accessibili, gli oggetti possono essere gestiti, ma le notifiche dei grafici non lo sono e non lo saranno.

Cioè, è possibile costruire cose visive.

Grazie! Non ho ancora capito come lanciare Kanvas.
Non riesco a vedere il grafico. Continuo a ricevere un errore ERR_CHART_WRONG_ID.

E come ho anche capito - il debugger e il profiling non funzionano nei servizi? O è solo temporaneo?

 

Recentemente c'è una nuova descrizione (Versione Beta di MetaTrader 5 build 1995: Calendario economico, programmi MQL5 come servizi e API per il linguaggio R)

Terminale: Aggiunto un nuovo tipo di programmi MQL5 - Servizi. Ti permettono di creare le tue fonti di dati sui prezzi per il terminale - per trasmettere i prezzi da sistemi esterni in tempo reale, come fanno i server di trading dei broker.

A differenza di Expert Advisors, indicatori e script, i servizi non sono legati a un grafico specifico. Funzionano in background e iniziano a lavorare automaticamente quando il terminale viene lanciato (se non sono stati fermati forzatamente).

Nel Navigator è stata aggiunta una sottosezione separata per la gestione dei servizi:





Creazione di servizi
Per creare un modello di servizio, usate l'opzione corrispondente nelWizard MQL5. I servizi hanno un punto di ingressoOnStart, simile agli script. Lì si può organizzare un ciclo infinito di ricezione ed elaborazione dei dati utilizzando lefunzioni di rete.

Servizi in esecuzione
Per eseguire diverse copie di un Expert Advisor o di un indicatore con diversi parametri, è sufficiente applicarli a diversi grafici. In questo caso, vengono create istanze separate del programma, che lavorano indipendentemente l'una dall'altra. I servizi non sono legati ai grafici, quindi viene fornito un meccanismo separato per creare istanze di essi.

Selezionate un servizio nel navigatore e cliccate su "Add service" nel suo menu contestuale. Questo aprirà una finestra di dialogo standard del programma MQL5, dove è possibile abilitare/disabilitare il trading e l'accesso ai segnali, così come impostare i parametri.




Per avviare e fermare un'istanza di un servizio, usate il suo menu. Per gestire tutte le istanze, usate il menu di servizio.

 
I commenti non pertinenti a questo argomento sono stati spostati in "Comunicare con gli sviluppatori tramite Service Desk!".
 
Quindi questi sono script che non sono legati a un programma specifico, chiamati da OnStart una volta all'avvio del terminale ed eseguiti in un thread separato?
Motivazione: