Universal DDE

Il DDE (Dynamic Data Exchange) è un vecchio protocollo Windows utilizzato in passato per lo scambio dati tra applicazioni. Al giorno d’oggi è obsoleto. Tuttavia, diverse piattaforme di trading (specialmente quelle presenti sul mercato da molto tempo come Metatrader) utilizzano questo protocollo per inviare verso altre applicazioni i dati Real-Time (e SOLO real-time). Non è possibile usare il DDE per ricevere dati storici.

I dati trasmessi via DDE sono molto approssimativi e inadatti a qualsiasi analisi professionale. A meno di particolari esigenze, NON collegare Overcharts ad altre applicazioni via DDE.

Informazioni Generali #

Il protocollo DDE utilizza particolari stringhe di connessione (nel formato =SERVER|TOPIC!ITEM) che identificano univocamente i dati da ricevere dall’applicazione esterna. Nelle piattaforme di trading, i dati da ricevere sono generalmente: data, ora, last, bid, ask e relative quantità (size).

La stringa di connessione di ogni singolo dato ha il formato =SERVER|TOPIC!ITEM dove:

  • SERVER indica il nome del servizio DDE al quale connettersi
  • TOPIC e ITEM definiscono il dato da ricevere.

Esempio:

Nella piattaforma Metatrader 4, la stringa di connessione al prezzo BID dello strumento EURUSD (euro/dollaro) è: =MT4|BID!EURUSD dove MT4 rappresenta il Server, BID il Topic, e EURUSD l’Item.

Come puoi notare, all’interno della stringa di connessione è presente il simbolo dello strumento (EURUSD). In tal caso, nella configurazione della connessione DDE in Overcharts, andremo a sostituire il simbolo dello strumento con la stringa $$$. Questo permette di rendere generale la configurazione della connessione. L’alternativa (da non prendere nemmeno in considerazione!) è quella di configurare una connessione DDE per ogni singolo strumento.

Nel nostro esempio la stringa di connessione al prezzo BID sarà: =MT4|BID!$$$

In Overcharts è già presente la connessione preconfigurata alla Metatrader 4.

In generale, i componenti della stringa di connessione variano da applicazione ad applicazione. Fai riferimento alla documentazione dell’applicazione che vuoi connettere o chiedi direttamente al loro supporto). Noi non conosciamo in dettaglio le altre applicazioni e non possiamo aiutarti in questo.

Configurazione Connessione #

Prima di proseguire, se non conosci il protocollo DDE, fai qualche ricerca su Internet per approfondire l’argomento.

Per connettere Overcharts ad una applicazione esterna via DDE, segui questi passi:

1. Accertati che l’applicazione esterna utilizzi il protocollo DDE per esportare i dati real-time. Se il servizio è supportato, di solito è necessario attivarlo. Fai riferimento alla documentazione dell’applicazione che vuoi connettere o chiedi direttamente al loro supporto). Noi non conosciamo in dettaglio le altre applicazioni e non possiamo aiutarti in questo.

2. Se il protocollo DDE è supportato, crea una nuova connessione Universal DDE dalla Tab ‘Connessioni‘ della finestra principale di Overcharts.

3. Imposta le seguenti proprietà:

DATA & ORA

Data: (facoltativo) configura questa proprietà con la relativa stringa di connessione SOLO se il servizio DDE che stai connettendo fornisce la data corrente e SOLO se la data viene fornita separatamente dall’ora. Seleziona poi il giusto formato data tra quelli disponibili. Se non trovi il giusto formato tra quelli disponibili, seleziona ALTRO e definisci manualmente la relativa stringa di formattazione.

Ora (facoltativo): configura questa proprietà con la relativa stringa di connessione SOLO se il servizio DDE che stai connettendo fornisce l’ora corrente e SOLO se l’ora viene fornita separatamente dalla data. Seleziona poi il giusto formato ora tra quelli disponibili. Se non trovi il giusto formato tra quelli disponibili, seleziona ALTRO e definisci manualmente la relativa stringa di formattazione.

Data/Ora (sullo stesso campo): (facoltativo) configura questa proprietà con la relativa stringa di connessione SOLO se il servizio DDE che stai connettendo fornisce la data/ora corrente in un unico campo (in tal caso, le proprietà Data e Ora precedenti NON vanno configurate). Seleziona poi il giusto formato data/ora tra quelli disponibili. Se non trovi il giusto formato tra quelli disponibili, seleziona ALTRO e definisci manualmente la relativa stringa di formattazione.

Se la data/ora NON è fornita dal servizio DDE, non impostare le proprietà precedenti. La data/ora sarà quella locale del PC.

TRADE

Last (prezzo): definisci la stringa di connessione al prezzo LAST (ultimo trade eseguito). Se il servizio DDE che stai connettendo NON fornisce questo dato, allora imposta questa proprietà con la stringa di connessione del prezzo Bid o Ask.

Last Size (volume): (facoltativo) definisci la stringa di connessione all’ultima quantità eseguita. Se il servizio DDE che stai connettendo NON fornisce questo dato, lascia il campo vuoto.

BID

Bid: (facoltativo) definisci la stringa di connessione al prezzo BID corrente. Se il servizio DDE che stai connettendo NON fornisce questo dato, lascia il campo vuoto.

Bid Size (volume): (facoltativo) definisci la stringa di connessione alla quantità BID corrente. Se il servizio DDE che stai connettendo NON fornisce questo dato, lascia il campo vuoto.

ASK

Ask: (facoltativo) definisci la stringa di connessione al prezzo ASK corrente. Se il servizio DDE che stai connettendo NON fornisce questo dato, lascia il campo vuoto.

Ask Size (volume): (facoltativo) definisci la stringa di connessione alla quantità ASK corrente. Se il servizio DDE che stai connettendo NON fornisce questo dato, lascia il campo vuoto.

FORMATO

Separatore decimale: definisci il carattere utilizzato come separatore decimale (normalmente il punto ‘.’)

Separatore delle migliaia: definisci il carattere utilizzato come separatore delle migliaia (di solito non viene utilizzato > in tal caso lascia vuoto)

Moltiplicatore del prezzo: necessario solo se i prezzi sono espressi senza il separatore decimale (es. 1055 rappresenta in realtà 10.55)

Moltiplicatore del volume: necessario solo se i volumi sono espressi senza il separatore decimale (es. 1055 rappresenta in realtà 10.55)

STRUMENTO

Account di Simulazione: seleziona l’account di simulazione di default della connessione.

AGGIUSTAMENTO QUOTAZIONI

Fuso Orario dei Dati: definisci il fuso orario del campo data/ora SOLO se unico per tutti gli strumenti (quindi anche nel caso in cui la data/ora NON sia fornita via DDE, ma sia quella locale del PC), altrimenti lascia l’impostazione di default: ‘come specificato nella configurazione del mercato/strumento‘. Dovrai poi definire il giusto fuso orario a livello di mercato/strumento.

Parte Decimale espressa come: definisci il formato della parte decimale dei prezzi (default: decimale).

4. Completa gli eventuali altri campi obbligatori.

5. Salva.

6. Avvia la connessione dalla Tab Connessioni premendo il bottone CONNETTI o con un doppio-click sulla connessione. Se il pallino che compare nella colonna Real-Time affianco alla connessione è rosso significa che i parametri di configurazione della connessione non sono corretti. Posizionati con il mouse sopra l’iconcina con la ‘i‘ di info (accanto al pallino rosso) per leggere un messaggio di errore più dettagliato.

Purtroppo la connessione DDE può risultare connessa (pallino verde) anche quando effettivamente non lo è. Un pallino verde NON è sufficiente ad indicare se sei connesso o meno al DDE. E’ sempre necessario verificare la ricezione dei dati real-time aprendo il grafico di uno strumento. Ricordati anche di avviare l’applicazione e/o il servizio DDE.

Specifiche sul formato data/ora #

Per le proprietà data/ora è necessario definire anche il formato della data/ora selezionando la formattazione corretta tra quelle predefinite. Nel caso in cui non sia presente la formattazione desiderata scegli la voce Altro e definisci la formattazione rispettando queste regole:

Caratteri per data: y = anno; m = mese; d = giorno

Caratteri per ora: h = ora; m = minuti; s = secondi; f = millisecondi; c = microsecondi; @pm = post meridiem (da utilizzare solo se l’ora è espressa nelle 12 ore)

Carattere jolly: se una delle parti che compongono la data/ora è di lunghezza variabile, inserisci prima del carattere che rappresenta l’anno, mese, giorno, ora, minuti ecc. il carattere jolly * (asterisco). Se invece è di lunghezza fissa, ripeti il carattere tante volte quanto è lunga la parte in questione. Per esempio, se l’anno è espresso sempre con 4 cifre, il formato corretto per la componente anno è: yyyy

Separatori vari: Spazio – / . : ecc.

Esempi di formattazione:

20220614yyyymmdd
06 Feb 22dd mmm yy
2022-1-27yyyy-*m-dd
22-01-27*y-*m-*d
17:25:13.000hh:mm:ss.fff
17:25:13.000*h:*m:*s.*f
5:25:13pm*h:mm:ss@pm
16-02-2014 14:30:13.332dd-mm-yyyy hh:mm:ss.fff
16-02-2014 14:30:13.332.547dd-mm-yyyy hh:mm:ss.fff.ccc
11:30hh:mm
11:30:23hh:mm:ss