Data en tiempo real a excel

Todo sobre el trading en los mercados financieros: funcionamiento, dudas, noticias, etc.
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Data en tiempo real a excel

Mensaje 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
Avatar de Usuario
MrElliot
Mensajes: 1639
Registrado: 28 Sep 2005 03:46

Re: Data en tiempo real a excel

Mensaje 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
:)
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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
Avatar de Usuario
Algar
Mensajes: 418
Registrado: 23 Ene 2011 14:37

Re: Data en tiempo real a excel

Mensaje 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.
Vive como si fueras a morir mañana. Aprende como si fueras a vivir siempre.
Mohandas Karamchand Gandhi.
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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/
Adjuntos
yahoodata.PNG

Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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
simulationconsultant
Mensajes: 2
Registrado: 01 Jul 2012 17:51

Re: Data en tiempo real a excel

Mensaje por simulationconsultant »

Hi, InvestExcel is my website. If you can write to me in English, then I will be happy to help

Samir
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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
simulationconsultant
Mensajes: 2
Registrado: 01 Jul 2012 17:51

Re: Data en tiempo real a excel

Mensaje 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
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Data en tiempo real a excel

Mensaje 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
joselopezde
Mensajes: 460
Registrado: 20 Feb 2012 11:11

Re: Data en tiempo real a excel

Mensaje por joselopezde »

en temas informáticos soy muy torpe, es posible importar datos de Yahoo Finance a mi Metatrader?
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Data en tiempo real a excel

Mensaje 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
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
joselopezde
Mensajes: 460
Registrado: 20 Feb 2012 11:11

Re: Data en tiempo real a excel

Mensaje por joselopezde »

Alberto yo me refiero a otra cosa...

me refiero por ejemplo a poder importar VDAX que en Mt4 por ejemplo no está...
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Trading en General”