Nelle attività di trading vogliamo simulare un flusso di dati che arriva da un mercato cioè da un Exchange e quindi questo flusso di dati non arriva in istanti equispaziati e non arriva con una velocità che è tipica di quella di un loop. Arrivano dei tickdata costituiti da un time span e prezzo.
Potremmo avere un certo numero di tick al minuto, dipende da quanto è scambiato lo strumento. Per simulare questo tipo di situazione che è quella più realistica, non andiamo ad utilizzare un ciclo per rappresentare la nostra curva di prezzi, ma utilizziamo l'oggetto Timer per generare ad istanti casuali i nostri tickdata che di default generano istanti equispaziati.
CLASSE TIMER: consente l’implementazione di un timer che restituisce il tempo impiegato dal programma necessario ad eseguire l’operazione richiesta. Si tratta di una classe molto importante in quanto permette di scegliere l’algoritmo migliore (tra più algoritmi riferiti ad una stessa operazione) affinchè possa eseguire l’operazione nel minor tempo possibile. In particolare, implementa un timer con il quale viene generato un evento a intervalli definiti dall’utente. Questo timer è ottimizzato per l’uso in applicazioni Windows Forms e deve essere usato in una finestra.
BACKGROUND WORKER: consente di eseguire un’operazione su un thread separato dedicato. Le operazioni che richiedono molto tempo, come i download e le transazioni di database, possono comportare la mancata risposta dell’interfaccia utente come se fosse in esecuzione. Dunque, quando si desidera un’interfaccia utente reattiva e si devono affrontare lunghi ritardi associati a tali operazioni, questa classe fornisce una soluzione pratica. È possibile creare il BackgroundWorker a livello di codice oppure è possibile trascinarlo sul form dalla scheda componenti della casella degli strumenti. Se lo si crea nel Progettazione Windows Form, questo verrà visualizzato nella barra dei componenti e le relative proprietà verranno visualizzate nella Finestra Proprietà.
EXTENSION METHOD: I metodi di estensione consentono agli sviluppatori di aggiungere funzionalità personalizzate ai tipi di dati già definiti senza creare un nuovo tipo derivato. I metodi di estensione consentono di scrivere un metodo che può essere chiamato come se fosse un metodo di istanza del tipo esistente. Un metodo di estensione può essere solo una routine Sub o una procedura di Function. Non è possibile definire una proprietà, un campo o un evento di estensione. Tutti i metodi di estensione devono essere contrassegnati con l’attributo di estensione <Extension> dallo spazio dei nomi System.Runtime.CompilerServices e devono essere definiti in un modulo.
Nessun commento:
Posta un commento