Página 1 de 2

Data en tiempo real a excel

Publicado: 16 Jun 2012 14:37
por Gamelu
Siguiendo el estilo de ir al grano como siempre, os comento:
Voy a hacer un documento de excel que recoja datos de mercado a tiempo real, no sé si decidirme por obtenerlos desde yahoo o metatrader, si lo hago desde metatrader mi idea es coger el csv y leerlo línea a línea para importarlo, con una determinada frecuencia de actualización, y en el caso de yahoo, no sé si podría hacerlo directamente, o tendría que hacer un guardado previo del cvs a disco duro para después importarlo línea a línea.

1-La consulta es la siguiente, hay forma de importar un csv a una hoja de cálculo sin necesidad de abrirlo línea a línea? Hablando de importar de forma automática, y frecuencia programada.

2-Por otra parte, sabéis como descargar .cvs desde yahoo, por ejemplo http://es.finance.yahoo.com/q?s=%5EIBEX

3-Y por último, algún datafeed mejor que los mencionados?

Esto es todo,
Gracias por la ayuda

Re: Data en tiempo real a excel

Publicado: 17 Jun 2012 05:23
por MrElliot
Gamelu escribió:Siguiendo el estilo de ir al grano como siempre, os comento:..

3-Y por último, algún datafeed mejor que los mencionados?
http://www.openecry.com/

99.9% fiables. Olvídate de yahoo y mucho menos de metatrader. Y cuando se te caduque la demo te haces otra :-D

Re: Data en tiempo real a excel

Publicado: 18 Jun 2012 15:49
por Gamelu
Gracias Mr Elliot por la info, en cuanto me ponga con el proyecto mirare la pagina web esta.

Sobre las otras dos consultas a ver si alguien me ilumina antes de comenzar a programar, ya sabeis la rabia que da crear un tocho de programa y despues darte cuenta de que se podia realizar lo mismo pero de mejor manera con un par de lineas de codigo, quien no ha pasado por esto...


Saludos

Re: Data en tiempo real a excel

Publicado: 18 Jun 2012 22:49
por Algar
Hola Gamelu,

igual te interesa echarle un ojo a este enlace sobre cómo obtener ticks fiables:
http://eareview.net/tick-data/download-free-tick-data

Un saludo y suerte.

Re: Data en tiempo real a excel

Publicado: 20 Jun 2012 15:38
por Gamelu
Parece que la descarga desde yahoo funciona como se explica en la siguiente web:
http://code.google.com/p/yahoo-finance- ... esDownload

Aqui se explican mas configuraciones: http://www.gummy-stuff.org/Yahoo-data.htm

He encontrado lo que buscaba, adjunto xls por si a alguien le interesa y captura de pantalla de el.

Link para descarga:
http://investexcel.net/218/importing-hi ... nto-excel/

Re: Data en tiempo real a excel

Publicado: 20 Jun 2012 16:07
por Gamelu
Si queremos importar un csv que ya disponemos de el desde disco duro (como puediera ser desde metatrader), el codigo es mas simple:

Código: Seleccionar todo

Private Sub CommandButton1_Click()
Dim MiArchivo As String
Dim NumeroArchivo As Integer
Dim i As Long
Dim strLinea As String
Dim ColumnaPega As Long
 
MiArchivo = "C:\eur.csv"  ' Aqui de tu csv
NumeroArchivo = FreeFile
ColumnaPega = Range("A1").Offset(, Columns.Count - 1).End(xlToLeft).Column
 
Open MiArchivo For Input As #NumeroArchivo
i = 1
Do While Not EOF(NumeroArchivo)
Input #NumeroArchivo, strLinea
Range("a" & i).Offset(, ColumnaPega) = strLinea
i = i + 1
Loop
Close #NumeroArchivo    ' Cierra el archivo.
End Sub

Re: Data en tiempo real a excel

Publicado: 01 Jul 2012 15:31
por Gamelu
En la pagina: http://www.mathfinance.cn/download-hist ... ock-price/
Comparten el codigo para importar datos desde yahoo

Código: Seleccionar todo

Sub GetData()

    Dim DataSheet As Worksheet
    Dim EndDate As Date
    Dim StartDate As Date
    Dim Symbol As String
    Dim qurl As String
    Dim nQuery As Name
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationManual
    
    Set DataSheet = ActiveSheet
  
        StartDate = DataSheet.Range("B1").Value
        EndDate = DataSheet.Range("B2").Value
        Symbol = DataSheet.Range("B3").Value
        Range("C7").CurrentRegion.ClearContents
        
        qurl = "http://ichart.yahoo.com/table.csv?s=" & Symbol
        qurl = qurl & "&a=" & Month(StartDate) - 1 & "&b=" & Day(StartDate) & _
            "&c=" & Year(StartDate) & "&d=" & Month(EndDate) - 1 & "&e=" & _
            Day(EndDate) & "&f=" & Year(EndDate) & "&g=" & Range("E3") & "&q=q&y=0&z=" & _
            Symbol & "&x=.csv"
        Range("b5") = qurl
                  
QueryQuote:
             With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.Range("C7"))
                .BackgroundQuery = True
                .TablesOnlyFromHTML = False
                .Refresh BackgroundQuery:=False
                .SaveData = True
            End With
            
            Range("C7").CurrentRegion.TextToColumns Destination:=Range("C7"), DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                Semicolon:=False, Comma:=True, Space:=False, other:=False
            
            Range(Range("C7"), Range("C7").End(xlDown)).NumberFormat = "mmm d/yy"
            Range(Range("D7"), Range("G7").End(xlDown)).NumberFormat = "0.00"
            Range(Range("H7"), Range("H7").End(xlDown)).NumberFormat = "0,000"
            Range(Range("I7"), Range("I7").End(xlDown)).NumberFormat = "0.00"

End Sub
El link de esta pagina lo he encontrado en http://investexcel.net/ , comparten un monton de utilidades excel, pero le veo la pega de que los codigo vba van protegidos, creo que hay que pedirle el password al admin

Re: Data en tiempo real a excel

Publicado: 01 Jul 2012 17:53
por simulationconsultant
Hi, InvestExcel is my website. If you can write to me in English, then I will be happy to help

Samir

Re: Data en tiempo real a excel

Publicado: 01 Jul 2012 18:20
por Gamelu
Samir, thanks for your help, as you offer, I have a question, How can I get forex data from yahoo with 4 digits after ","

The data that you get from oanda is wrong, date does not take into account the holidays

Good job

Re: Data en tiempo real a excel

Publicado: 01 Jul 2012 18:53
por simulationconsultant
Where you see the forex data on Yahoo.com?

Is there a "download to CSV" option? If yes, then getting the data into Excel is simple..

Samir

Re: Data en tiempo real a excel

Publicado: 01 Jul 2012 19:00
por Gamelu
For example to get eur usd data:
http://ichart.yahoo.com/table.csv?s=EUR ... D=X&x=.csv
Look at price, only have 2 digits after coma

Re: Data en tiempo real a excel

Publicado: 02 Jul 2012 19:36
por Gamelu
Simbolos de los indices en yahoo:

European countries

"^ATX" Austria 20
"^BFX" Euronext Belgia 20
"^FCHI" CAC 40
"^GDAXI" DAX 30
"^AEX" Amsterdam
"^OSEAX" Oslo exchange all share 219
"^MIB30" MIB30
"^MIBTEL" Milano Mibtel indexi 295
"^IXX" Ise 100
"^IBEX" IBEX Madrid 35
"^SMSI" Madrid General 94
"^OMX" OMX Stockholm 30
"^OMXSPI" Stockholm General OMXS all share
"^SSMI" Swiss
"^FTSE" FTSE100

European midcap and other

"^MDAXI" German mid cap index 50
"^SDAXI" German small cap performance index 50
"^TECDAX" German technology 30

European collective

"^STOXX50E" DJ Euro Stoxx 50

USA and Canada

"^GSPC" SP500
"^IXIC" Nasdaq Composite (3086 stocks)
"^NDX" Nasdaq 100
"^DJI" Dow Jones Industrial Average 30
"^GSPTSE" S&P TSX Toronto

South America

"^BVSP" Ibovespa Sao Paulo
"^MXX" IBC Mexico 35
"^MERV" Merval Buenos Aires

Asia

"^N225" Nikkei 225
"^BSESN" Sensex India 30

Near-East

"^CCSI" Egypt CMA
"^TA100" Tel-Av TASE-100


Note that the data may be read with http

# Dow Jones 30
http://ichart.finance.yahoo.com/table.c ... gnore=.csv

# DAX 30
http://itable.finance.yahoo.com/table.c ... gnore=.csv'

# FTSE 225
http://itable.finance.yahoo.com/table.c ... gnore=.csv'


P.D: No se puede descargar ^dji por que yahoo no tiene la licencia para la descarga, el resto hasta ahora sin problemas

Re: Data en tiempo real a excel

Publicado: 17 Sep 2012 21:50
por joselopezde
en temas informáticos soy muy torpe, es posible importar datos de Yahoo Finance a mi Metatrader?

Re: Data en tiempo real a excel

Publicado: 18 Sep 2012 08:42
por X-Trader
joselopezde escribió:en temas informáticos soy muy torpe, es posible importar datos de Yahoo Finance a mi Metatrader?
Sí se puede, mira esto:

https://www.x-trader.net/articulos/soft ... rader.html

Eso sí, dado que sólo hay datos en diario en Yahoo! sólo podrás importar los de diario (habiendo borrado previamente el histórico del par/CFD en el que vayas a cargar los datos).

Saludos,
X-Trader

Re: Data en tiempo real a excel

Publicado: 18 Sep 2012 11:42
por joselopezde
Alberto yo me refiero a otra cosa...

me refiero por ejemplo a poder importar VDAX que en Mt4 por ejemplo no está...