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

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á...