Oggi è 29/03/2024, 9:21


Anticipare i movimenti del mercato...

  • Autore
  • Messaggio
Non connesso

Mauro

  • Messaggi: 628
  • Iscritto il: 22/10/2011, 1:32
  • Località: Roma

Re: Anticipare i movimenti del mercato...

Messaggio01/11/2011, 12:44

Una prima osservazione (non ho ancora fatto le modifiche ai collegamenti DDE). Premendo il tasto "Disattiva DDE" questo è il comportamento mostrato dal sistema: si ha un reset dei contatori, le colonnine grafiche scompaiono e, con esse, anche il grafico. Dopo un secondo circa, tuttavia, il processo di ricezione dati riprende pur senza aver premuto il tasto "Attiva DDE".
Non connesso

th.ch.

  • Messaggi: 166
  • Iscritto il: 29/09/2011, 8:59

Re: Anticipare i movimenti del mercato...

Messaggio01/11/2011, 12:57

Infatti. A conferma che è proprio la gestione del dde a crearci problemi.
Cercheremo di ovviare anche a questo.
Non connesso

LorenzoA

  • Messaggi: 27
  • Iscritto il: 27/10/2011, 10:46
  • Località: Viterbo

Re: Anticipare i movimenti del mercato...

Messaggio02/11/2011, 16:49

ciao thurio, mauro e chiunque segua,

ho avuto problemi a capire come funziona sto benedetto dde ed alla fine ne sono venuto a capo (credo)

allora, visto che non può poggiare tutto l'onere su Thurio, voglio indicare una soluzione per chi volesse mettersi un pò a smanettare

Thurio se non devo piu postare questi articoli, cazziami pure una volta per tutte e io non lo farò piu, ed elimina pure l'intervento. Il mio intento è quello di aiutare ma se dovesse essere di distrazione o confusione ... :sorry
:31

(piccola raccomandazione di lavorare su una copia giusto per non perdere eventuali faticosi settaggi gia presenti)

vediamo qual'è il problema,
se in una cella mettiamo il last_indice, in un'altra il percent_indice, poi di seguito continuiamo con last_future, percent_future, bid_opzione1, ask_opzione1, bid_opzione2, ask_opzione2 risulta che abbiamo attivato otto canali dde;

la matrice azDDE sarà quindi formata da 8 celle ed in ognuna di queste ( cioè azDDE(1), azDDE(2), ..., azDDE(8)) sarà contenuto ognuno degli 8 valori di cui sopra.

Io per esempio ho portato l'intera chain delle opzioni del mese sul foglio2, quindi ho circa 200 canali aperti (ora lo so, prima no!)

Dato che nelle celle C11,D11 e C15,D15 vanno messi esattamente i bid ed ask delle opzioni che noi vogliamo, per identificare precisamente quali ci interessano bisogna procedere in questo modo utilizzando il Debug.

Spero che dalla foto si capisca qualcosa:
- aprire l'ambiente di programmazione con Alt+F11, aprire il listato del modulo 1 e cliccare col mouse sinistro alla sinistra della riga indicata con la selezione rossa.
- Il pallino rosso che comparirà accanto alla riga significa che l'esecuzione del programma verrà sospesa in questo punto

- appena sotto questo punto d'interruzione , copiare questo codice di test sostituendo le attuali quattro righe simili

Codice: Seleziona tutto
        ActiveWorkbook.SetLinkOnData azDDE(1), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(2), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(3), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(4), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(5), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(6), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(7), "Macro1"
        ActiveWorkbook.SetLinkOnData azDDE(8), "Macro1"


    - salvare

    - portare in primo piano il foglio excel

    - schiacciare il pulsante "Attiva DDE"

    - quasi immediatamente verrà portato in primo piano il codice con la freccetta ferma sul punto di sospensione che avevamo impostato precedentemente col pallino rosso (vedi figura)

    - a questo punto passare (senza cliccare) il mouse su ognuno degli 8 "azDDE(n)" presenti sul codice e si accenderà la nuvoletta di suggerimento indicante quale valore degli otto è salvato dentro quella specifica cella. (guardare come esempio la figura che evidenzia il contenuto della cella azDDE(96)

    - Prendere nota delle righe che restituiscono il codice dde, bid e ask, delle opzioni che servono

    - eliminare le altre che non servono, a noi servono solo il bid e ask delle due opzioni prese in esame quindi devono rimanere quattro righe delle otto iniziali.


intanto si può stoppare il programma sia tramite il pulsante "disattiva dde" del foglio o tramite pulsante di stop nella barra degli strumenti dell'ambiente di programmazione si può togliere anche il punto d'interruzione cliccando di nuovo sul pallino rosso

A questo punto si noterà che tutte le righe sopravvissute terminano con "Macro1", queste chiamate vanno sostituite con questa sequenza:

[list=]
la riga che corrisponde al dde della Call Bid va sostituita con "Macro1"
la riga che corrisponde al dde della Call Ask va sostituita con "Macro2"
la riga che corrisponde al dde della Put Bid va sostituita con "Macro3"
la riga che corrisponde al dde della Put Ask va sostituita con "Macro4"
[/list]

spero di non aver aumentato la confusione
io ho ancora qualche problema col grafico ma sono ottimista :))
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Non connesso

th.ch.

  • Messaggi: 166
  • Iscritto il: 29/09/2011, 8:59

Re: Anticipare i movimenti del mercato...

Messaggio02/11/2011, 16:55

Lorenzo, altro che cazziare. Meriti un premio :13
(anzi: due. Uno per l'impegno ed uno per la soluzione).
Sto seguendo il forum con una specie di cellulare (sic!).
Stasera o domani mattina cercherò di mettere a frutto i tuoi suggerimenti.
Grazie...!
Non connesso

Mauro

  • Messaggi: 628
  • Iscritto il: 22/10/2011, 1:32
  • Località: Roma

Re: Anticipare i movimenti del mercato...

Messaggio02/11/2011, 17:23

Lorenzo, un bravo anche da parte mia. Ottimo davvero!
:thanks
Non connesso

LorenzoA

  • Messaggi: 27
  • Iscritto il: 27/10/2011, 10:46
  • Località: Viterbo

Re: Anticipare i movimenti del mercato...

Messaggio02/11/2011, 17:28

si fa quel che si può, io il VBA non lo conosco

comunque non capisco perche a volte il grafico va, a volte no. A secondo di come si attiva o disattiva
Adesso va!
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Non connesso

th.ch.

  • Messaggi: 166
  • Iscritto il: 29/09/2011, 8:59

Re: Anticipare i movimenti del mercato...

Messaggio02/11/2011, 18:03

Già... :20
Hai provato a schiacciare il tasto "attiva" per più di una volta, sino a quando non appaiono valori nella colonna AA?

Pare comunque che Microsoft stia meditando di abbandonare il dde.
Enrico Bagnoli (ing. e programmatore in VB) mi diceva che sarà sostituito da protocolli di comunicazione più evoluti.
Non connesso

th.ch.

  • Messaggi: 166
  • Iscritto il: 29/09/2011, 8:59

Re: Anticipare i movimenti del mercato...

Messaggio03/11/2011, 15:52

Ho dato il via alla versione corretta da Lorenzo ( :33 ) apportando ulteriori modifiche.
Il tutto allo scopo di snellire per quanto possibile le istruzioni.
Per ora pare che il grafico non crei problemi. Tengo sotto osservazione il foglio per poi eventualmente postarlo.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Non connesso

th.ch.

  • Messaggi: 166
  • Iscritto il: 29/09/2011, 8:59

Re: Anticipare i movimenti del mercato...

Messaggio03/11/2011, 16:37

Variazioni sul tema.

Come giustamente fatto osservare da Lorenzo, il foglio serve anche per monitorare lo spread tra Bid e Ask.
I primi esperimenti paiono incoraggianti.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Non connesso

th.ch.

  • Messaggi: 166
  • Iscritto il: 29/09/2011, 8:59

Re: Anticipare i movimenti del mercato...

Messaggio03/11/2011, 16:54

Quando il foglio è stato attivato l'indice era in guadagno di circa il 2%.
Nel punto centrale del grafico era salito a 2,63%. Nella parte finale era sceso a 2,46%.
PrecedenteProssimo

Torna a Excel fai da te



Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti

cron