Newsgroup: it.economia.borsa.trading-online
Titolo: ancora? sella dde e excel

buongiorno a tutti, sono nuovo arrivato qui mentre ricercavo sui vari ng la
soluzione al mio problema. ho notato e' gia' stato affrontato ma non ne sono
venuto a capo.
semplicemente: vorrei realizzare un foglio excel dove si crei la serie
storica con time frame variabile dei dati, partendo dalla cella che si
autoaggiorna collegata al dde di sella.
mi immagino quindi una semplice (?) macro che osserva il variare della cella
e aggiorna max e min close e open, su una riga standard. allo scadere del
time frame, copia la riga standard in un'area definita attraverso un
contatore che andra' incrementato e cosi' via.
se qualcuno ha una soluzione o quanto meno una traccia di soluzione su un
foglio excel, mi darebbe una grande mano.
io reputo excel il miglior programma che ci sia, ci faccio tutto, una volta,
anni fa, tipo excel 4, me la cavavo anche con la programmazione, ma ora il
vba mi e' abbastanza ignoto ..
grazie per le risposte in ogni caso
fooltrader
ps non mi rispondete che esiste lo storico da downloadare con sella, perche'
e' esattamente quello che faccio, pero' sono stanco di aggiornare per dax e
fib, time frame 5 min 60 min, e poi copio incollo sui miei fogli...

 ha scritto nel messaggio
news:64t7d.4601$eb....@tornado.fastwebnet.it...

Ora arriva Trilussa e ti spiega tutto... solo una cosa... mettiti comodo
perchè la cosa sarà lunga...... ;-)
ciao
arcurelio

 news:64t7d.4601$eb....@tornado.fastwebnet.it...


 arcurelio
Come si fa a deluderti!!-))
Trilussa
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 foglio excel, ....
Ti ricordo semplicemente di controllare che i dati siano "comprensibili
per excel" prima di conservarli... per verificare definitivamente provare
a ricavare un diagramma.
Per sicurezza e semplicità, basta moltiplicare per 1 (*1) le strighe dde.
La macro che tu dici è scritta con qualche spiegazione al seguente post:
http://groups.google.com/groups?hl=it&lr=lang_it&ie=UTF-8&selm=c8obtd%24ihb%241%40news.newsland.it&rnum=2
La riporto visto che capita che alcuni ogni tanto la chiedano.
Io intanto ti mando un foglio excel del tipo citato nella macro. Quindi
potrai scrivermi tranquillamente in pvt.
=================
La macro:
Public EseguiAlle As Double
Public Const cIntervalloSecondi = 60  'secondi '
 
Public Const cEseguiSub = "SalvaDati"
--------------------------------------------------------------
Sub StartTimer()
 Worksheets("DB Intraday").Range("Spia").Interior.ColorIndex = 3
 Range("C1").Select
 Range("C1") = "ATTIVO"
EseguiAlle = Now + TimeSerial(0, 0, cIntervalloSecondi)
Application.OnTime earliesttime:=EseguiAlle, procedure:=cEseguiSub, _
     schedule:=True
End Sub
---------------------------------------------------------------
Private Sub SalvaDati()
 
    Workbooks("DAYt3.xls").Worksheets("DB Intraday").Activate
    Range("$22:$22").Select
    Selection.Insert Shift:=xlDown
    Range("$21:$21").Select
    Selection.Copy
    Range("A22").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
 
 
    Call StartTimer
 
End Sub
--------------------------------------------------------------
Sub StopTimer()
   On Error Resume Next  'Rimanda l'intercettazione degli errori'
    Worksheets("DB Intraday").Range("Spia").Interior.ColorIndex = 4
    Range("C1").Select
    Range("C1") = "FERMO"
     Application.OnTime earliesttime:=EseguiAlle, _
       procedure:=cEseguiSub, schedule:=False
End Sub
------------------------------------------------------------------
Sub Auto_Close()
    Call StopTimer
End Sub
==============
Spiegazione
---Const cIntervalloSecondi = 60  'secondi '
Puoi cambiare il numero di secondi a piacere.
---Worksheets("DB Intraday").Range("Spia").Interior.ColorIndex = 3
--- Range("C1").Select
--- Range("C1") = "ATTIVO"
Il foglio si chiama -DB Intraday - Devi nominare la cella CI -"Spia"-, e
quando la registrazione è in funzione te la colora di verde -ColorIndex =
3-
----WorkbooksWorkbooks("DAYt3.xls").Worksheets("DB Intraday").Activate
xls").Worksheets("DB Intraday").Activate
La cartella excel si chiama ("DAYt3.xls"), difatti la uso per registrare
dati del tool T3..
nel foglio DB Intraday sposta la riga 22 in giù di un posto e copia la
riga 21nella 22
Ovviamente puoi assegnare la riga che vuoi tu.
---Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
        False, Transpose:=False
cioè lo fa con COPIA INCOLLA SPECIALE VALORE.
---Range("Spia").Interior.ColorIndex = 4
    Range("C1").Select Range("C1") = "FERMO"
In caso di stop il colore di spia diventa rosso.
------------Sub StartTimer()
------------Sub StopTimer()
a queste due macro devi collegare due bottonì per avviare on interrompere
la registrazione.
Per questi lavori ti conviene lasciare a parte la cartella excel in modo
che quando registri, se la metti ad icona non ti rompe le ....utility
======================
Per fare storici o intraday in fogli WordPad di vario genere e per paecchi
titoli.... questa è una variante molto utile!
http://groups.google.com/groups?q=dde+dati+storici+group:it.economia.borsa.trading-online+author:trilussa&hl=it&lr=lang_it&ie=UTF-8&selm=c9kefq%2440h%241%40news.newsland.it&rnum=1
Ricopio la macro
-------------
Public EseguiAlle As Double
Public Const cIntervalloSecondi = 30    '60 secondi
Public Const cEseguiSub = "SalvaDati"
Sub StartTimer()
Worksheets("Generale").Range("Spia").Interior.ColorIndex = 3
EseguiAlle = Now + TimeSerial(0, 0, cIntervalloSecondi)
Application.OnTime earliesttime:=EseguiAlle, procedure:=cEseguiSub, _
     schedule:=True
End Sub
Sub StopTimer()
   On Error Resume Next
    Worksheets("Generale").Range("Spia").Interior.ColorIndex = 4
   Application.OnTime earliesttime:=EseguiAlle, _
       procedure:=cEseguiSub, schedule:=False
End Sub
Sub Auto_Close()
    Call StopTimer
End Sub
Private Sub SalvaDati()
    Dim TitStr As String
    Dim DataStr As String
    'Worksheets("Generale").Range("Target").Interior.ColorIndex = 6
    'la prima colonna della zona da controllare deve essere nominata
    'con il nome Target
        'controlla che sia presente la I nella colonna 1
        For Each cell In Worksheets("Generale").Range("Target")
            If UCase(CStr(cell.Value)) = "I" Then
                'compilo la stringa del titolo
                TitStr = "c:\Intradayexcel\" &
Worksheets("Generale").Range(cell.Address).Offset(0, 4).Value & ".txt"
                'compongo la stringa dei dati
                DataStr =
CStr(Worksheets("Generale").Range(cell.Address).Offset(0, 5).Value) & ";"
& _
                CStr(Worksheets("Generale").Range(cell.Address).Offset(0,
6).Value) & ";" & _
                CStr(Worksheets("Generale").Range(cell.Address).Offset(0,
7).Value) & ";" & _
                CStr(Worksheets("Generale").Range(cell.Address).Offset(0,
8).Value) & ";" & _
                CStr(Worksheets("Generale").Range(cell.Address).Offset(0,
9).Value) & ";" & _
                CStr(Worksheets("Generale").Range(cell.Address).Offset(0,
10).Value)
 
                'scrivo la stringa dati nel file
                x = FreeFile(0)
                Open TitStr For Append As #x
                Write #x, DataStr
                Close #x
            End If
        Next cell
 
    Call StartTimer
End Sub
------------
Cordialità 


 peccato che i miei file con i dati pesano troppo :(
Io ho lavorato anni per "ALLEGGERIRE" tu forse non ci hai pensato
abbastanza!?
Il miglior consiglio che ti poso dare:
-un passo alla volta,
-annidare le funzioni di ricerca...
-passare ad XP pro e la tecnologia Hypertreading.
(nei file che ti ho inviato trovi parecchio materiale ... non essere
frettoloso...buon lavoro)
Ciao 


 ha scritto nel messaggio
news:64t7d.4601$eb....@tornado.fastwebnet.it...
