Scambio di dati tra due terminali MT4? - pagina 4

 

Facevo una connessione del genere tra terminali tramite WinAPI. L'elenco delle finestre aperte cercherebbe tutti i terminali MT4 in funzione. C'erano 2 opzioni per ottenere dei preventivi:


1. Leggere le quotazioni dal "Market Watch" (controllo di tipo ListView) dei terminali trovati. Può essere fatto solo da una DLL esterna.

2) Senza usare DLL esterne. In ogni terminale l'Expert Advisor che è stato avviato scrive le sue quotazioni (per il suo simbolo) nel descrittore di testo della sua finestra. E un Expert Advisor di un altro terminale trova questa finestra (con il suo nome di simbolo) e legge la quotazione.


C'è uno svantaggio: se la connessione con il server di trading su uno dei terminali viene interrotta, l'Expert Advisor sull'altro terminale non lo saprà. Per evitare una tale situazione, gli esperti di ogni terminale dovrebbero scrivere l'ora corrente in un descrittore di testo di qualche finestra (la seconda variante può essere scritta nelle loro finestre). Questo viene fatto dopo certi brevi intervalli di tempo (per esempio 0,5 sec.). L'Expert Advisor di un altro terminale legge questo tempo e lo confronta con il proprio tempo.

 
Meat:

Facevo una connessione del genere tra terminali tramite WinAPI. L'elenco delle finestre aperte cercherebbe tutti i terminali MT4 in funzione. C'erano 2 opzioni per ottenere dei preventivi:


1. Leggere le quotazioni dal "Market Watch" (controllo di tipo ListView) dei terminali trovati. Può essere fatto solo da una DLL esterna.

Potrebbe entrare un po' più nel dettaglio, è molto interessante. Te ne sarei molto grato.
 
Sergey_Murzinov писал (а): Un po' più di dettagli si può, è molto interessante. Te ne sarei molto grato.
Purtroppo non ho il codice sorgente della DLL (e della DLL stessa) al momento. Ma ho descritto l'algoritmo generale qui: https://www.mql5.com/ru/forum/107435/page3

Se avete bisogno di maggiori dettagli, potete trovare una costruzione già pronta sul web, usando un motore di ricerca (qualcosa come "get text from ListView").

 

Ho fatto un bind del genere tramite file (fino a 5 terminali), non ho visto alcun lag.

Il tempo necessario per eseguire un'operazione commerciale è di diversi ordini di grandezza più lungo del tempo necessario per scambiare informazioni.

 
komposter:

Ho fatto un bind del genere tramite file (fino a 5 terminali), non ho visto alcun lag.

Il tempo necessario per eseguire un'operazione commerciale è di diversi ordini di grandezza più lungo del tempo necessario per scambiare informazioni.

Capisco che è passato più di un mese, ma forse...

Hai menzionato l'argomento del binding del terminale tramite file, è quello che voglio implementare per me. Sono sul forum da due giorni, ma non ho ancora trovato la strada da seguire. Ho solo bisogno di copiare un file scritto da un terminale ad altri terminali (esperti/file). Non sono un programmatore, non so come fare. Ho trovato una funzione ShellExecuteA, può eseguire un'applicazione esterna da un indicatore, ma se è possibile c'è un modo per copiare i file da un EA a un altro (non MQL) senza creare un ulteriore bat-file. Per favore aiutatemi, forse c'è qualche link a script già pronti. Potrei avere difficoltà a capirlo io stesso, DLL e WinAMI sono ancora un argomento poco familiare per me. Grazie in anticipo.

 
Mi chiedo perché 2 DC, prendendo due coppie positivamente correlate, ottengano lo stesso risultato.
 
iskatel писал (а):П Mi rendo conto che è passato più di un mese, ma forse... Hai menzionato qui l'argomento del collegamento dei terminali tramite file, è qualcosa che voglio implementare per me stesso. Sono sul forum da due giorni, ma non ho ancora trovato la strada da seguire. Ho solo bisogno di copiare un file scritto da un terminale ad altri terminali (esperti/file). Non sono un programmatore, non so come fare. Ho trovato una funzione ShellExecuteA, può eseguire un'applicazione esterna da un indicatore, ma se è possibile c'è un modo per copiare i file da un EA a un altro (non MQL) senza creare un ulteriore bat-file. Per favore aiutatemi, forse c'è qualche link a script già pronti. Potrei avere difficoltà a capirlo io stesso, DLL e WinAMI sono ancora un argomento poco familiare per me. Grazie in anticipo.

Vedi come è implementato qui: 'Ottimizzazione automatica di un robot di trading nel trading reale'.

Copiare usando ShellExecuteA.

 
xrust:
Mi chiedo perché 2 DC, prendendo due coppie positivamente correlate, ottengano lo stesso risultato.

2 DC, questo è per esperienza di vita " non mettere tutte le uova in un paniere", qualunque cosa: problemi con il ritiro, il server si blocca. Sono sicuro che lei ne sa più di me su queste situazioni. Alla ricerca di script per automatizzare il loro lavoro. In realtà non ne ho 2, ne ho di più. Mi piace commerciare manualmente e pur ripetendo una e le stesse azioni si può sbagliare da qualche parte. E il computer su diversi terminali eseguirà le operazioni molto più velocemente di me. Ma sembra che io abbia già trovato quello che stavo cercando. Grazie per il vostro forum, buon lavoro.

A proposito, devo confessare che non so cosa siano le "coppie positivamente correlate". Da tutta la frase conosco solo la parola "risultato".

Grazie per le risposte.

 
Il sistema è stato implementato da tempo...
vuole ottenere con i dettagli... bussare stu_dent [@]mailcan.com
 
DentStu:
Il sistema è stato implementato da tempo...
vuole ottenere con i dettagli... bussare stu_dent [@]mailcan.com

Sì, l'ho già fatto. Ma grazie comunque.