You are not logged in.

ktrade

Unregistered

11

Sunday, January 1st 2006, 4:55pm

Excel+Trading

Ein evtl. interessanter Link für die Excel-Trader:
http://www.gummy-stuff.org

Viele Grüße
ktrade

eric

Professional

  • "eric" started this thread

Posts: 1,472

Location: nähe Zürich

Occupation: Student

  • Send private message

10

Thursday, December 29th 2005, 10:30am

Vielen Dank für die ausführliche Antwort Erik. Also ist es so, dass es sich mit Excel und VBA und dann am besten mit dem Application.OnTime Event machen lässt, oder über die MetaTrader API. Ich denke für mich ist erst einmal der Weg über Excel der bessere. Programmieren kann ich nicht. VBA habe ich aber vor zu lernen. Dann müsste ich nur noch meine Funktion programmieren und an den von dir geposteten Code anhängen.

Posts: 36

  • Send private message

9

Wednesday, December 28th 2005, 9:01pm

Hier häufen sich langsam die Unstimmigkeiten und ich versuche mal einige davon zu bereinigen.

Im Excel lassen sich per VBA einige Funktionen von Klassen wie dem Workbook
überladen, das sind nicht wirklich Ereignisse, aber vom Prinzip sind die Resultate
in diesem Fall identisch.
Zum Beispiel lässt sich relativ einfach die Methode Open der Workbook Klasse
überladen oder auch Change vom Worksheet durch Worksheet_Change.

Die Change Methode wird bei Änderungen von Feldwerten durch den Benutzer
aufgerufen, nun werden aber die Feldwerte durch die DDE Verbindung
aktualisiert oder eher gesagt, die Brokersoftware pushed die Werte via
DDE Hotlink ans Excel weiter. Somit werden die Änderungen nicht vom Benutzer
selbst durchgeführt, sondern direkt von Excel und es erfolgt kein expliziter
Aufruf der Change Methode.

Also lässt sich mit dem ereignisgesteuerten Ansatz nicht sonderlich viel
anfangen und wenn es funktionieren würde, wären die paar DDE Hotlinks
kein Problem für den Rechner. Als Anbindung an die Bis.net Software
verwende
ich 1200 DDE Hotlinks für die Dax Aktien mit einer Markttiefe von 10 und leite
diese dann mit Com an Excel weiter. Das Bindeglied dient nur der
Stabilieserung des Datentransfer und mit kleinen Tricks lande ich bei einer
Auslastung von ~10%.

Wenn du dir nicht die Mühe machen willst und noch ein externes Bindeglied
zwischen dem Metatrader und Excel erstellen willst (der Metatrader lässt sich
eigentlich besser direkt über die API ansteuern, ich kann dir die
Funktions-Importe zukommen lassen) ist wohl (wie schon erwähnt) der Timer
die passendere Lösung.

Mit VBA ist es möglich die Windows Timer Funktionen zu importieren, was
aber zu sehr instabilen Ergebnissen führen kann. Eine wohl elegantere
Möglichkeit besteht in dem 'Anhängen' deiner Funktion an das Application.OnTime Event:

Quoted

Public RunWhen As Double
Public Sec As Long
Public Row As Long

Sub StartTimer()
Row = 1
RunWhen = Now + TimeSerial(0, 0, 1)
Sec = Sec + 1
Application.OnTime EarliestTime:=RunWhen, Procedure:="StartIt", Schedule:=True
End Sub

Sub StopTimer()
On Error Resume Next
Application.OnTime EarliestTime:=RunWhen, Procedure:="StartIt", Schedule:=False
Sec = 0
End Sub

Private Sub StartIt()
MsgBox "Timer"
Row = Row + 1
Tabelle1.Cells(Row, 1).Value = "Kurs" + Row
StartTimer
End Sub


Hoffe dir einigermaßen weitergeholfen zu haben und noch viel Erfolg
mit deinen Analysen.

- Erik

eric

Professional

  • "eric" started this thread

Posts: 1,472

Location: nähe Zürich

Occupation: Student

  • Send private message

8

Wednesday, December 28th 2005, 2:45pm

RE: Excel

Die kannst du von manchen Broker- Softwares nehmen, bei MetaTrader z.B. geht das (DDE- Server) und ich denke auch bei anderen.

ktrade

Unregistered

7

Wednesday, December 28th 2005, 2:28pm

RE: Excel

Würd mich noch interessieren: Woher nimmst Du die Daten?

This post has been edited 1 times, last edit by "ktrade" (Dec 28th 2005, 2:28pm)


eric

Professional

  • "eric" started this thread

Posts: 1,472

Location: nähe Zürich

Occupation: Student

  • Send private message

6

Wednesday, December 28th 2005, 2:21pm

RE: Excel

Ja, super, genau so stelle ich mir das vor. Werde mal sehen, was ich machen kann. Danke.

ktrade

Unregistered

5

Wednesday, December 28th 2005, 2:18pm

RE: Excel

Grad hab ich noch die Idee...VBA ist ja Ereignisgesteuert, man kann also bei Veränderung eines Feldes, die Felder speichern. Dann spart man sich den Timer. Man kann die Felder mit den Zeitdaten ja mitspeichern, dann dürfte es auch kein Problem mit den Daten geben wie ich zuerst dachte.
Pseudocode:
Wenn Feldinhalt geändert, dann speichere Felder "Kurs, Zeit..." in Liste.

Ob man auf dem Rechner dann noch was anderes machen kann ausser Kurse sammeln, muss man halt testen.Ich denk das wirkt ziemlich lähmend auf den PC und in schnellen Marktphasen kann es sein dass man einzelne Kurse wegen der Verzögerung nicht mitkriegt. Aber musst halt testen.

eric

Professional

  • "eric" started this thread

Posts: 1,472

Location: nähe Zürich

Occupation: Student

  • Send private message

4

Wednesday, December 28th 2005, 2:06pm

RE: Excel

Danke. Mit VBA kenne ich mich noch überhaupt nicht aus, aber ich will es sowieso lernen. Wenn das so machbar ist, reicht mir das schon. Ein fixer Timer wäre zwar nicht ideal, lieber nur ein Eintrag für jeden neuen Tick, aber es würde auch so gehen.
Kannst du vielleicht noch genauer sagen, wo du das Problem mit den Daten siehst, wegen Open und Close?
Eric

ktrade

Unregistered

3

Wednesday, December 28th 2005, 1:49pm

RE: Excel

Ich hab zwar schon lange nichts mehr mit Excel gemacht, aber über VBA gibt es sicher die Möglichkeit über einen Timer regelmäßig ein Feld in eine Liste zu kopieren. Ich vermute allerdings, dass man die Daten, die man auf diese Art erzeugt nicht sehr gut gebrauchen kann, da man irgendwelche Open/Close-damit speichert. Zumindest bei kurzfristigen Timeframes...
Leider soll ja der VisualChart Test nur noch 3 Tage gehen, sonst könnte ich mal rumprobieren.
Ciao
ktrade

eric

Professional

  • "eric" started this thread

Posts: 1,472

Location: nähe Zürich

Occupation: Student

  • Send private message

2

Wednesday, December 28th 2005, 11:26am

RE: Excel

Hallo
Ich exportiere Kursdaten mit DDE nach Excel. Dort will ich ein paar Berechnungen damit machen. Das Resultat steht dann in einer Zelle und der Wert, der dort steht ändert sich logischerweise dann mit jedem neuen Tick.
Was ich jetzt haben möchte ist eine "History" dieser Zelle. Also eine Art Liste mit allen Werten die dort in Zwischenzeit gestanden haben, z.B. 11:23:05 Wert1, 11:23:08 Wert2, 11:23:15 Wert3 usw.
Ist das machbar, weiss jemand wie das geht?
Danke

eric

Professional

  • "eric" started this thread

Posts: 1,472

Location: nähe Zürich

Occupation: Student

  • Send private message

1

Saturday, December 24th 2005, 11:36am

Excel

Hi
Ich eröffne hier mal einen Thread zu Excel wo Fragen dazu und Probleme bei der Anwendung diskutiert werden können. Ich bin selber gerade dabei ein paar Dinge mit Excel auszuprobieren und mache später dann vielleicht den Anfang hier. Oder sonst jemand anderes.