Donnerstag, 18. Oktober 2018, 23:33 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Anne

unregistriert

1

Mittwoch, 28. Juli 2004, 12:50

Übereinstimmung des akustischem, optischen, DDE-Signals und deren Protokollierung

Hallo Herr Knöpfel,

beim Einkreisen des Problems der "konfusen Signale" bin ich auf einen Bug?? gestoßen, dessen Ursache nur der Programmentwickler beheben kann.

Ich benutze 2 identische Rechner mit identischer Hard und Software. Die Internetanbindung erfolgt per Router und DSL. (identisch für beide Rechner)

Auf Rechner 1 läuft das reale Tradingsystem, auf Rechner 2 eine Simulation.
Die Systemuhren beider Rechner sind synchronisiert.

Bei der Signalausgabe treten alle denkbaren Unstimmigkeiten auf:

DDE Rechner 1: Enter Long
DDE Rechner 2: Hold Long

Signalleiste Rechner 1: Enter Short
Signalleiste Rechner 2: Out

Sieht man dann natürlich im Signalprotokoll des jeweiligen Rechners.

Manchmal erfolgt das Signal korrekt per akustischer und optischer Ausgabe und das DDE-Signal (Investox|Projektname!AktuellesSignal) gibt kein Signal aus (System geht trotzdem Long, optisch in Signalleiste, evtl. auch ohne akustisches Signal).

Das HS ist ein System ohne Komprimierung und generiert ca. 500 Signale am Tag. Gefühlsmäßig stimmen 50% nicht überein (jedoch harmlos, weil ein Rechner EnterLong der andere HoldLong ausgibt)
10% kann man unter "konfuse Signale" einordnen. Ein Rechner bleibt Long der andere geht Short.

Diese Rechnerkonstellation habe ich eigentlich nur aufgebaut um neben dem täglichen Trading das Problem der "konfusen Signale" einzukreisen und bin dabei auf diese mir eigentlich unerklärbare Problematik gestoßen.

Vielleicht lässt sich ja da was verbessern ?

Grüße
Anne

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 568

2

Mittwoch, 28. Juli 2004, 14:22

RE: Übereinstimmung des akustischem, optischen, DDE-Signals und deren Protokollierung

Hallo,

wenn es auf 2 Rechnern bei identischer Hard- und Software unterschiedlich läuft ist dies eher ein Indiz dafür, dass die Hard/Software nicht die Ursache des "Problems" ist. Die Datenversorgung, da offenbar identisch, kann wohl auch nicht die Ursache sein.

- Was meinen Sie in diesem Zusammenhang mit "Simulation", den Virtuellen Broker?

- Welche Aktualisierungseinstellung hat das HS?
- Sind im Chart auf beiden Rechnern gleich viele Ticks geladen, wenn ja, wieviele?

Unterschiede könnten sich z.B. auch durch unterschiedliche Grundeinstellungen ergeben. Welche Einstellungen finden Sie unter "Investox anpassen" (jeweils bei beiden Rechnern kontrollieren!) für:

- Hohe Priorität für Aktualisierungen
- Aktualisierungsrate
- Aktualisierung mit RTT-Daten nur bei neuen Ticks

Viele Grüße
Andreas Knöpfel

Anne

unregistriert

3

Mittwoch, 28. Juli 2004, 16:55

RE: Übereinstimmung des akustischem, optischen, DDE-Signals und deren Protokollierung

Hallo Herr Knöpfel,

Die Festplatte des einen Rechners ist ein Klon des anderen incl. Investox und sämlicher Daten und Einstellungen. Geroutet wird die Order auf dem einen Rechner an IB mit einem von mir modifizierten Excel-Sheet von IB (deshalb benötige ich das DDE-Signal). Auf dem anderen schreibt das Sheet die in diesem Sheet simulierten Orders (zu Bid-Ask) in ein Log-File.
Die Tradeergebnisse sind natürlich nicht vergleichbar, weil im Simulationsmodus z.B. nur gekauft wird, wenn ein Verkäufer da ist. Vergleichbar sind aber die Signalprotokolle.

Geringfügige Hardwareunterschiede ergeben sich dadurch, daß auf einem Rechner zusätzlich die TWS läuft. Die CPU- Auslastung schwankt zwischen 20 und 90%, erreicht auch manchmal 100%.

Es sieht eher so aus, als ob ein zufällig, durch gerigste Leistungsunterschiede verursachter Rechenvorgang, diese unterschiedlichen Ergebnisse verursacht.

Falls Ihnen dazu spontan nichts einfällt, muß ich mir halt was anderes einfallen lassen. Das Ordermodul habe ich bereits "pensioniert".

An den "konfusen Signalen" arbeite ich noch und werde bald ein Projekt haben, welches einfach nachzuvollziehen sein wird und diese Fehler produziert. Eine zusätzliche Baustelle wollte ich mir ersparen.

Das alles soll keine Kritik an der Leistungsfähigkeit des Programmes sein, welches mir erlaubt meinen Job zu machen und wirklich alles berechnen kann, was ich mir vorgestellt habe.

An den Postings im Forum sehe ich auch, daß der "normale" User mit diesen Problem nie konfrontiert werden wird, da deren Recherche in andere Richtungen läuft. (Candlestick, Renko oder was auch immer)

Es ist halt für mich nicht nachvollziehbar, wenn auf dem einen Recher ein akustisches Enter Long ertönt und 4 Sekunden später auf dem anderen Hold Long. Oder umgekehrt. Da muß es doch einen Grund dafür geben ??

Grüße
Anne

ach so: in ca. 50% aller Fälle ertönt das akustische Signal absolut synchron auf beiden Rechnern. (Als Beweis für identische Leistung) sonst ist es mal auf dem einen oder anderen Rechner schneller oder unterschiedlich.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Anne« (28. Juli 2004, 17:05)


Vuego

Meister

Registrierungsdatum: 30. August 2002

Beiträge: 983

4

Donnerstag, 29. Juli 2004, 00:10

RE: Übereinstimmung des akustischem, optischen, DDE-Signals und deren Protokollierung

Hallo,
"konfuse Signale" kenne ich bestens. Sehr oft resultieren diese aus überforderter Hardware. 90% ist meiner Meinung einfach zu viel, 100% sowieso. Sobald man in diesem hohen Bereich ist entstehen ggfs. TimeLags im Datenfeed oder Ticks werden verschluckt.
Sobald nur ein einziges mal die 100% erreicht wurden besteht die große Chance das sowohl Investox als auch der PC selbst nicht nachvollziehbare/eigenartige Fehler produziert.
Gruß, Vuego

Anne

unregistriert

5

Donnerstag, 29. Juli 2004, 05:22

nochmal Fokus auf den Verbesserungsvorschlag

es geht in diesem Thread nicht um konfuse Signale, sondern nur um meinen Verbesserungsvorschlag und der war:

wenn ein Signal generiert wird, (egal ob konfus, verspätet wegen überforderter Hardware oder Time-Lag oder sonstwas), sollten auch alle dazugehörigen Signale mit gleichem Inhalt ausgegeben werden:

DDE
akustisch
optisch
Signalprotokoll
(und andere, falls ich etwas vergessen habe)

Synchcnisation mit dem 2. Rechner ist nicht das Ziel, jedoch könnten die Ereignisse darauf (einfach tw. andere Signale) ja einen Hinweis auf die Ursache geben.

Wenn z.B das DDE-Signal fehlt, jedoch in der Signalleiste, akustisch und natürlich im HS die Position gedreht wurde, in der Realität die Position auf den Stop zuläuft, auf Rechner 2 aber korrekt gehandelt wird, weil hier das Signal erzeugt wurde, stimmt etwas nicht. Verbesserung sollte möglich sein.

Grüße
Anne

Udo Männlich

Vize-Administrator

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

6

Donnerstag, 29. Juli 2004, 07:36

Hallo,

Zitat

Synchcnisation mit dem 2. Rechner ist nicht das Ziel, jedoch könnten die Ereignisse darauf (einfach tw. andere Signale) ja einen Hinweis auf die Ursache geben.


Das Ziel ist es nicht...aber es sollte doch in der Regel so sein? Wenn die Signale syncron erzeugt werden dann muss/müsste (zwangsweise) auch die Akustik und alles andere syncron laufen. Ausschlagegeben ist das Signal selbst und hier insbesondere die Daten! Kommen diese 5s später dann müsste sich das komplette Paket vs Rechner 1 verschieben-egal was eingestellt ist!

Wenn alles andere syncron läuft und nur die Akustik TLags produziert dann liegt es m.M. am akustischen Teil. Ev. wären WAVE Dateien exakter?

Minimale Lags werden dann erzeugt, wenn das HS auf Rechner 1 z.B. an erster Stelle und auf Rechner 2 an meinetwegen vierter Stelle im selben Project steht da die Reihenfolge der Datenversorgung 1-2-3-4.... ist!

Allerdings erklärt das keine 50% Akustik-Syncronisation....
Happy Trading

Vuego

Meister

Registrierungsdatum: 30. August 2002

Beiträge: 983

7

Donnerstag, 29. Juli 2004, 08:27

nochmal:
es wird immer Unterschiede geben, wenn es irgendwo mangels Hardwareüberlastung Differenzen gibt. Wenn sich die Auslastung der Rechner im Bereich 40-50% abspielt ist es kein Problem, aber wenn der eine auf 90% geht und der andere gleichzeitig kurz auf 100% dann schon.

Es werden Ticks verschluckt!
Werden nicht auch BT's verwendet? Ggfs. auch eine mögliche Ursache, wenn diese jeweils zu unterschiedlichen Zeitpunkten berechnet werden.

Wie sieht es denn mit den Kursen aus, werden diese auf beiden Rechner immer! 100% identisch/zeitgleich angezeigt?
Das gilt auch für BT's. Stehen diese immer identisch zur Verfügung nachdem sie berechnet wurden?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Vuego« (29. Juli 2004, 08:42)


Udo Männlich

Vize-Administrator

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

8

Donnerstag, 29. Juli 2004, 09:01

Anne schreibt:

Zitat

Die Festplatte des einen Rechners ist ein Klon des anderen incl. Investox und sämlicher Daten und Einstellungen.


Wenn die Spieglung zu 100% exakt ist dürften keine 4s vorkommen es sei denn Rechner 1 ist ein 3Ghz und Rechner 2 ein Palm! Was auch sehr merkwürdig ist:

>>ach so: in ca. 50% aller Fälle ertönt das akustische Signal absolut >>synchron auf beiden Rechnern. (Als Beweis für identische Leistung) >>sonst ist es mal auf dem einen oder anderen Rechner schneller oder >>unterschiedlich.

Was aber enorm Power verschluckt und Investox bei ebenfalls hoher Auslastung zu lahmen bringen kann:

Zitat

Geringfügige Hardwareunterschiede ergeben sich dadurch, daß auf einem Rechner zusätzlich die TWS läuft. Die CPU- Auslastung schwankt zwischen 20 und 90%, erreicht auch manchmal 100%.


PS: Anne,schalte zum Test mal die TWS ab und vergleiche dann noch mal. Um welche Uhrzeit tritt der Time Lag überwiegend auf? Gibt es da Schwerpunkte die man fixieren kann oder ist es eher variabel?
Happy Trading

Anne

unregistriert

9

Donnerstag, 29. Juli 2004, 09:45

nochmal Fokussierung auf den Verbesserungsvorschlag

Ihr beisst Euch hier an der Synchronisation fest. Primäres Problem ist:

Zitat

wenn ein Signal generiert wird, (egal ob konfus, verspätet wegen überforderter Hardware oder Time-Lag oder sonstwas), sollten auch alle dazugehörigen Signale mit gleichem Inhalt ausgegeben werden:


Das ist ja auch nachvollziehbar: Signalprotokoll-Vergleich mit DDE-Generierung (muß man halt ein in ein Logbuch schreiben mit z.B. Excel) sollte übereinstimmen. (egal ob die Hardware überlastet ist) Wie man die akustische Ausgabe protokollieren kann weiß ich nicht bzw. fällt mir spontan nichts ein, muß ja auch nicht sein wenn DDE-Log und Signalprotokoll nicht übereinstimmen.

Das ist die primäre Baustelle.

@ Udo: Dann erst schalte ich die TWS aus. ;)


Wenn jetzt Herr Knöpfel schreibt, daß dieser Fehler bei ihm nicht auftritt, erst dann setze ich mich hin und schreibe ein nachvollziehbares HS oder das Excel Logbuch. Das dauert dann aber noch länger als mein momentanes Experimentieren mit den konfusen Signalen.



Grüße
Anne

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 568

10

Donnerstag, 29. Juli 2004, 10:24

RE: nochmal Fokussierung auf den Verbesserungsvorschlag

Hallo,

ich sehe da in der Tat keinen Fehler in Investox. Die Signalarten (optisch, akustisch, DDE etc.) werden in einer Routine abgehandelt, es ist nicht möglich, dass eines erfolgt und das andere nicht. Allerdings kann gerade die Ausgabe von akustischen Signalen und per DDE "verschluckt" werden. Betrachten Sie den Fall, dass ein Signal unmittelbar nach dem anderen erfolgt. Das erste akust. Signal wird dann natürlich nicht hörbar sein (oder soll Investox warten, bis "Enter Long" vollständig erklungen ist?). Auch bei DDE kann es sein, dass Excel hier den Inhalt erst aktualisiert, wenn bereits das nächste Signal erfolgt ist. Insofern sind Protokolle von DDE/Akust. diesbezüglich eher wenig sinnvoll.

Relevant ist daher das Signalprotokoll von Investox sowie das Orderbuch, hier kann nichts "verschluckt" werden - es sein denn, die Signale selbst werden nicht wie gewünscht generiert ("Synchronisierungs"-Problem, um das es Ihnen ja aber in diesem Thread nicht geht).
Die einzig mögliche Problemlösung besteht darin, dass die Einstellungen so vorgenommen werden, dass die Rechnerbelastung möglichst gering ist. Gerade bei Systemen auf Tickbasis gelingt dies relativ gut (wenn nicht exzessiv Komp()-Berechnungen eingesetzt werden).

Viele Grüße
Andreas Knöpfel

Anne

unregistriert

11

Donnerstag, 29. Juli 2004, 11:25

Das mit dem akustischen Signal ist völlig klar, aber es müßte doch möglich sein, das DDE-Signal trotzdem korrekt auszugeben, indem man das Signal z.B. um eine Sekunde "verlängert". Oder man nutzt das Signal für das Ordertool (erscheint mir das schnellste und korrekteste zu sein) zur Generierung des DDE-Signals.

Irgendeine Verbesserung sollte doch da möglich sein.

Jedenfalls weiß ich jetzt woran es liegt und werde selbst etwas mit Signalverlängerungen rumexperimentieren:

nach dem Motto:
calc verlängerung: 2; {Signal > 0 = EnterLong, <0 = EnterShort, begrenzt auf 1 Tick}
If(Signal > 0, HHV(Signal,verlängerung),
If(Signal < 0, LLV(Signal,verlängerung), 0))

Grüße
Anne

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 568

12

Donnerstag, 29. Juli 2004, 12:16

Hallo,

auf der Ebene der Signalgenerierung ist eine "Verlängerung" möglich und gegebenenfalls auch sinnvoll. Zum Beispiel:

cross(close, 3000, 1)= 1

erfolgt das Signal u.U. nicht, wenn der Kurs bei 2999 steht und dann zwei Ticks praktisch gleichzeitig erfolgen: erst 3000,5 und dann 2999,5. Wenn Sie statt dessen schreiben:

cross(close, 3000, 3)= 1

genügt es, wenn der Durchbruch einmal in den letzten 3 Ticks statt fand.

Auf der Ebene der Signalverarbeitung sieht es anders aus. Hier kann ein Signal nicht einfach stehen bleiben, sondern wird vom nachfolgenden Signal zwangsläufig verdrängt, egal ob akustisch, DDE oder sonst wie.

Daher sollte in den Handelsregeln auch darauf geachtet werden, dass die Signale nicht zu dicht aufeinander folgen (Signale die in wenigen Ticks aufeinander folgen, lassen sich ohnehin kaum realistisch umsetzen) - z.B. durch eine Trade-Mindestdauer o.ä.
Wenn Sie dann nicht nur Enter-, sondern auch Hold-Signale berücksichtigen, müssten die Probleme eigentlich lösbar sein.
Zumal wenn der Rechner für den automatisierten Realtime-Betrieb auch entlastet wird (siehe hierzu "Tips zum Sparen von PC-Ressourcen" in der Order-Plus-Hilfe).

Viele Grüße
Andreas Knöpfel

Anne

unregistriert

13

Donnerstag, 29. Juli 2004, 13:13

zum Abschluß des Threads @ Herrn Knöpfel

Danke für die Tipps, ich werde es hinkriegen, aber eines muß ich noch loswerden:

Zitat

(Signale die in wenigen Ticks aufeinander folgen, lassen sich ohnehin kaum realistisch umsetzen)


Darum geht es mir nicht bei der Signalgenerierung. Auch hat das HS, welches Signale generiert auch wenig gemeinsam mit dem HS, welches die Backtests erfolgreich hinter sich gebracht hat.
Im Gegenteil, es wäre in der Realität und im Backtest grottenschlecht. Mein Trading HS hat einzig und allein die Aufgabe Signale zu generieren und zwar soviele wie irgend möglich. Deshalb sitzen die Stops so eng, daß das System immer wieder aus und einsteigt. Falls real der Trade besteht, passier real dann auch nichts, das erneute Signal in dieselbe Richtung wird einfach ignoriert. (Um das zu realisieren vergleiche ich das Signal vor Out oder vor Stop mit dem momentanen Signal). Aber die Position wird real sofort gedreht, wenn ein Gegensignal kommt und die Position wird sofort wiedereröffnet, wenn der reale Gewinnstopp realisiert wurde und das neue Enter-Signal vom HS kommt.

Sie haben diese DDE-Schnittstelle geschaffen, ich nutze sie auf diese Art. Mit dem Entwicklertool möchte ich mich nicht auch noch befassen.

Grüße
Anne