Sinnvolle Umsetzung eines eigenen Programms für

… Wertpapieranalyse

Hallo,

Vor einigen Monaten habe ich damit begonnen, ein Programm für die Devisenmarktanalyse in VBA unter Excel zu schreiben. Da ich jetzt schon – unter Testbedingungen mit nur zwei Devisen und deren Hoch-, Tief-, Eröffnungs- und Schlusskursen über gut zwei Jahre und einigen Indikatorauswertungsdaten – in Excel ein Speichervolumen von gut 12 MB erreicht habe, bin ich zu der Überzeugung gelangt, dass es weit besser wäre, die Kursdaten in einer Datenbank zu speichern und nur für die Auswertung innerhalb bereits programmierter Diagramme bzw. durch VBA-Code durchgeführte Berechnungen in der Excel-Anwendung zu verwenden.
Da ich im Hinblick auf Access im Ggs. zur Programmierung von VBA in Excel noch totaler Neuling bin, stellen sich mir u.a. folgende Fragen:
1.Gibt es die Möglichkeit die Kursdaten ähnlich leicht aus dem Internet in Access zu importieren bzw. dynamische Verknüpfungen herzustellen wie das unter Excel funktioniert?
2. Wenn diese Möglichkeit besteht, könnte ich in Access auf vergleichbare, sinnvolle (!!) Weise eine
Anwendung schreiben, die auf einem an einer DSL-Flat liegenden Serverrechner befindlich eine automatische, regelmäßige Aktualisierung von Kursdaten je Wertpapier in ein Recordset abspeichert?
3. Wenn ich die Daten daraufhin als Basis für Charts in Excel nehmen möchte – für jeden der ca. 15-20 Devisen soll ein eigener Chart in einer Excel-Anwendung bestehen – kann ich das auch tun, ohne dass ich die Daten direkt nach Excel transferiere, was ja das Problem der Speicherkapazität wieder aufkommen ließe? Excel müsste also direkt auf die Daten in der Access-Datenbank Zugriff nehmen.

Kurz um: Ist es möglich und sinnvoll, die Auswertung von Kursdaten mit Hilfe von Excel umzusetzen, die Kursdaten allerdings nicht in Excel sondern in Access zu speichern , automatisch aus dem Internet einzulesen und zu aktualisieren? Würdet Ihr die genannte Problemstellung ähnlich oder gar ganz anders (wenn ja wie) in Angriff nehmen?

Vielen Dank für Euren Rat

Gruß Peter

Hallo,

Hi !

1.Gibt es die Möglichkeit die Kursdaten ähnlich leicht aus dem
Internet in Access zu importieren bzw. dynamische
Verknüpfungen herzustellen wie das unter Excel funktioniert?

Wenn das in VBA unter Excel funzt dann geht’s auch unter VB !

  1. Wenn diese Möglichkeit besteht, könnte ich in Access auf
    vergleichbare, sinnvolle (!!) Weise eine
    Anwendung schreiben, die auf einem an einer DSL-Flat liegenden
    Serverrechner befindlich eine automatische, regelmäßige
    Aktualisierung von Kursdaten je Wertpapier in ein Recordset
    abspeichert?

Ich würde VB nehmen ! Vor allem bist du, sofern Du ADO verwendest, auch für andere Datenbanken (Oracle, SQL-Server, MySql, …) offen !

  1. Wenn ich die Daten daraufhin als Basis für Charts in Excel
    nehmen möchte – für jeden der ca. 15-20 Devisen soll ein
    eigener Chart in einer Excel-Anwendung bestehen – kann ich das
    auch tun, ohne dass ich die Daten direkt nach Excel
    transferiere, was ja das Problem der Speicherkapazität wieder
    aufkommen ließe? Excel müsste also direkt auf die Daten in der
    Access-Datenbank Zugriff nehmen.

Ich würde aus VB auf die Excel COM zugreifen und über das ChartWizard-Objekt die entsprechenden Charts erstellen!
Die Daten musst Du aber trotzdem ins Excel übernehemen, da Du ja sonst kein Chart erzeugen kannst!
Willst Du nicht unbedingt Excel dann besteht die Möglichkeit auch ein ChartObjekt eines Drittanbieters (das von MS ist nicht so gut) zu verwenden (siehe Zoschke-Data : www.zoschke.com)

Kurz um: Ist es möglich und sinnvoll, die Auswertung von
Kursdaten mit Hilfe von Excel umzusetzen, die Kursdaten
allerdings nicht in Excel sondern in Access zu speichern ,
automatisch aus dem Internet einzulesen und zu aktualisieren?
Würdet Ihr die genannte Problemstellung ähnlich oder gar ganz
anders (wenn ja wie) in Angriff nehmen?

Wie geschrieben, ich würde als Basis ein VB Programm verwenden, welches die Daten in einer Oracle Datenbank ablegt (oder MySql für Sparsame) und Crystal Reports für den Ausdruck!

Ciao
Mario

Ja
Hallo Peter

Ich kann den Ausführungen meines Vorschreibers voll zustimmen.
Wenn jetzt eine grössere, professionellere Version ansteht, solltest Du Daten von der Programmlogik trennen.

D.h. statt mit einem anderen VBA-Dialekt, gleich mit VB entwickeln. Nicht zuletzt, weil es Komponenten von 3. Herstellern gibt, die man mehr oder wenig beliebig einbinden kann.

Um die Punkte 1+2 exakt zu beantworten, müsstest Du die bisher verwandte Technik beschreiben. Mit grösster Wahrscheinlichkeit spielt es keine Rolle. D.h. es geht genauso mit Access-VBA oder VB.

Frage 3 - ja. Du würdest die Daten (Recordset) in Deiner DB, besser gleich SLQ-Server und nicht Access oder ein OpenSource Produkt (das wäre nochmals ein Aspekt der eine gründliche Evaluation bräuchte!!) aufbereiten und der Chartkomponente von Excel oder einem anderen Hersteller zwecks Auswertung übergeben.

Ob es eine physikalische Obergrenze bei Excel gibt, analog Access wo eine MDB Datei nicht grösser als 1 GM werden kann, weiss ich nicht.

Ich hatte ein Jahr lang eine mathematische Abteilung zu betreuen, welche mit Access arbeitete. Zuerst Ver 2.0, danach 8.0. Daher empfehle ich Dir dringend gerade in diesem Bereich „solide“ zu mauern, sprich ein richtiges RDBMS einzusetzen.

Grüsse Peter

Hallo Ihr beide !!
Vielen Dank für Eure Antworten.
Ich werde mir die Sache mit Visual Basic und MySQL mal genauer ansehen.

Viele Grüße

Peter