Esperto Excel Cercasi x Ts Ciclico

Perfetto reef adesso ho capito devi leggere sempre l'ultimo valore e poi salvare quello che interessa, pensavo invece di poter chiedere al DDE una determinata quotazione ad un determinato orario....
Ora ci smanetto un po'
Grazie a presto!!!


Non mi risulta che il DDE Fineco permetta lo scarico degli storici.

Iwbank invece lo fa, ma se usi troppo spesso lo scarico degli storici invece di usare il flusso continuo, dopo un po' ti tagliano la connessione, perchè è pesante per i loro server.
:)

eccellente !!
complimenti :up::up:

Grazie :)
 
Ti passo le indicazioni per avere su un foglio ("DDE") i dati incrementali che arrivano ogni 5 sec e in un secondo foglio ("Storici") le chiusure ad un intervallo di tempo definito.
Con questa organizzazione puoi calcolarti banalmente anche i max e i min all'interno del time frame.

ISTRUZIONI

Devi creare un foglio che chiamerai DDE

Poi crei un pulsante "ATTIVA DDE" che colleghi a qusto codice:


==========================
Private Sub cmd_attivadde_Click()

Sheets("DDE").Range("b8").FormulaR1C1 = "=FDF|Q!'FIBZ0.NaE;Last"

Dim SorgentiDDE As Variant
SorgentiDDE = ActiveWorkbook.LinkSources(xlOLELinks)
Dim i As Integer
If Not IsEmpty(SorgentiDDE) Then
For i = 1 To UBound(SorgentiDDE)
ActiveWorkbook.SetLinkOnData SorgentiDDE(i), "SuArrivoDatiDDE"
Next i
Else
MsgBox "Nessuna Sorgente DDE Rilevata", vbExclamation, "Errore"
End If

End Sub
=================


Quando clicchi "ATTIVA DDE" nella cella B8 viene riportato il collegamento DDE, e vedi il dato che si aggiorna in tempo reale. Controlla il codice del dato "FDF|Q!'FIBZ0.NaE;Last" (FIB dicembre) che sia quello giusto, ora non posso testarlo.

Nella cella B9 metti la formula "=B8"

Per comodità fai anche un pulsante "DISATTIVA DDE" collegato a questo codice, serve a bloccare il flusso quando devi lavorarci su, altrimenti non capisci più nulla:

==================
Private Sub cmd_disattivadde_Click()
Sheets("DDE").Range("b8").FormulaR1C1 = ""
End Sub
==================


Fai un secondo foglio che chiamerai "Storici" che verrà automaticamente alimentato con i dati storici ogni 15 min, se vuoi altri TF devi cambiare la formula collegata al flag "fstor" e oldmin (al posto di 15 metti i minuti che vuoi). Puoi usare qualsiasi intervallo temporale.

Scrivi questa funzione nel modulo VBA del foglio:

========================
Public Sub SuArrivoDatiDDE()
Dim sTx As String
Static fstor, oldmin, oraold

'Ogni 5 sec salva il dato nella cella successiva
t = Time
riga = Second(t) \ 5
resto = Second(t) Mod 5
Sheets("DDE").Range("A11").FormulaR1C1 = oraold
ora5sec = TimeSerial(Hour(t), Minute(t), Second(t) - resto)

If (ora5sec > oraold) Then
Sheets("DDE").Range("A" & riga + 12).FormulaR1C1 = ora5sec
Sheets("DDE").Range("b" & riga + 12).FormulaR1C1 = Sheets("DDE").Range("b9").Value
oraold = ora5sec
End If

If (fstor = 1) And (Minute(t) \ 15 <> oldmin) Then fstor = 0
If fstor = 0 Then
riga = (Hour(t) - 8) * 60 + Minute(t)
If riga < 2 Then riga = 2
Sheets("Storici").Range("A" & riga).FormulaR1C1 = ora5sec
Sheets("Storici").Range("b" & riga).FormulaR1C1 = Sheets("DDE").Range("b9").Value
fstor = 1
oldmin = Minute(t) \ 15
End If

End Sub
===================

Già così dovresti avere tutto.

Se c'è altro chiedi pure. In bocca al lupo

1288251182ddefin.jpg

ciao reef

detto che capisco nulla di tutto quello che c'è scritto,
potrebbe funzionare con il dde di Sella?

grazie

cristina
 
ciao reef

detto che capisco nulla di tutto quello che c'è scritto,
potrebbe funzionare con il dde di Sella?

grazie

cristina

Certamente. L'unica cosa che devi modificare è la formula in rosso (qui sotto) che deve essere quella che collega la tua fonte dati. Purtroppo su Sella non ti posso aiutare perchè non la conosco.
In bocca al lupo :)

Sheets("DDE").Range("b8").FormulaR1C1 = "=FDF|Q!'FIBZ0.NaE;Last"
 
Certamente. L'unica cosa che devi modificare è la formula in rosso (qui sotto) che deve essere quella che collega la tua fonte dati. Purtroppo su Sella non ti posso aiutare perchè non la conosco.
In bocca al lupo :)

Sheets("DDE").Range("b8").FormulaR1C1 = "=FDF|Q!'FIBZ0.NaE;Last"


tante grazie Reef :)

hai un messaggio
 
Possiedo un Ts Ciclico sul Fib (Mensile, Settimanale, Giornaliero) abbastanza attendibile che in questi mesi mi ha dato entrate attendibili
Il problema è l'aggiornamento (servono solo le chiusure a 30 ; 15 ; 10 Minuti) che io eseguo purtroppo manualmente 1-2 volte al giorno, avendo la possibilità di usare il DDE Fineco volevo far si che l'aggiornamento avvenisse in automatico tramite il DDE Fineco .......ma nonostante l'impegno non sono ancora riuscito ha creare una tabella che si aggiorni dinamicamente.

In Pratica l'indicatore ciclico è pronto e funzionante, mi serve solo un'esperto di excel che mi imposti la formula (con Vb o altro..bhoo) per l'aggiornamento dinamico dal server DDE Fineco

In cambio posso cedere i diritti di utilizzo dell'indicatore ciclico:D

io sto lavorando ad un indicatore ciclico e relativa velocità e battleplan sulla piattaforma esignal.
spero di trovare collaborazione per realizzare gli script con il linguaggio di esgnal per risolvere alcuni passaggi che non sono riuscita ancora a superare.
c'è qualcuno?
 
Approfitto di questo thread per chiedere un'indicazione.
Io vorrei sapere se è possibile scaricare dalla piattaforma QuickTrade, attraverso una macro, i dati a 5' min relativi ad un determinato strumento finanziario per un intervallo di date prefissato.

Es.
Voglio prelevare dalla banca dati di IWBANK (open, high, Low, close, volume) relativi ad Eni dal 1/01/2011 al 20/02/2011

Grazie.
 
Approfitto di questo thread per chiedere un'indicazione.
Io vorrei sapere se è possibile scaricare dalla piattaforma QuickTrade, attraverso una macro, i dati a 5' min relativi ad un determinato strumento finanziario per un intervallo di date prefissato.

Es.
Voglio prelevare dalla banca dati di IWBANK (open, high, Low, close, volume) relativi ad Eni dal 1/01/2011 al 20/02/2011

Grazie.

Si può, ma se lo vuoi fare in continuo dopo un po' ti "segano". Ci avevo provato anch'io, poi ci siamo sentiti al telefono con IWBank e mi hannno tirato le orecchie... :eek: :lol:
Lo scarico dei dati storici via http viene visto come strumento ad uso sporadico.

E' anche vero che non è difficilissimo farsi uno strumento che acquisice i dati via DDE e crea lui le medie a 5 min. Ho pubblicato un po' di codice qui sopra per Excel. Il problema è che una procedura in continuo tiene impegnata la macchina e la linea Internet e, in caso di anomalie, può creare fastidiose interruzioni di servizio.

Ciao

PS L'intervallo temporale è limitato dal time frame. Mentre per i dati EOD si caricano diversi anni di dati, dubito che per TF di 5' si possa andare oltre un mese, devo verificare.
 
Ultima modifica:

Users who are viewing this thread

Back
Alto