Freitag, 19. April 2024, 14:21 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Kai

unregistriert

1

Donnerstag, 6. Dezember 2012, 18:12

Sinewave Indikator nach Ehlers

Hallo zusammen,

ich bin gerade in meiner kreativen Phase mit Indikatoren und da bin ich über den Sinewave Indikator von Ehlers gestolpert. Da ich nur eine Vorlage in Easylanguage von Tradestation hatte, habe ich ihn kurzerhand ins VBScript übertragen. Aber irgendwo ist da der Wurm drin. Anstelle einer Sinewave ist es mehr eine krasse Säge. Ich bin mir nicht so sicher mit den ATAN, COS und SIN - da hab ich in der Schule nicht so aufgepasst.
Könnte jemand mal bitte drüber schauen und mir Feedback geben. Der Indikator, von allem was ich gesehen habe, ist sehr vielversprechend!

Anbei der Code zu Tradestation und dann der Investox VBCode.

Danke im Voraus! Viele Grüße
Kai

EhlersSineWaveIndi_Investox.txt
EhlersSineWaveIndi_Tradestation.txt

Ganesha

unregistriert

2

Donnerstag, 6. Dezember 2012, 21:57

Hallo,

auf der Webseite von Anke (www.ascunia.de) gab es mal den SineWave-Indikator in VB-Syntax zum Download. Scheinbar jetzt nicht mehr.

@Anke: Ich habe den Indikator noch da. Darf ich hier reinstellen oder willst Du das nicht?

Viele Grüße

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

3

Donnerstag, 6. Dezember 2012, 22:37

Hallo Ganesha,

Du kannst ihn reinstellen - kein Problem.
Nett, dass Du gefragt hast. :)
Viele Grüße von Anke

http://www.ascunia.de

Ganesha

unregistriert

4

Donnerstag, 6. Dezember 2012, 23:12

Du kannst ihn reinstellen - kein Problem.
Danke. :-)

http://investoxforum.de/index.php?page=D…BData&dataID=91

Edit:
Bei der Benutzung bitte beachten. Man muss den Indikator als Input für die Sinus-Funktion benutzen. Laut Ehlers:


Quellcode

1
2
3
calc input: HilSinWave((high+low)/2, 0.07, 15);
calc hilbert: sin(input);
calc lead: sin(input+45);


Handelsignale sind dann zum Beispiel Kreuzungen beider Zeitreihen.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Ganesha« (6. Dezember 2012, 23:29)


Kai

unregistriert

5

Freitag, 7. Dezember 2012, 01:15

Danke, Ihr seid die Besten! :thumbsup:


Das Script ist auch um einiges Fortschrittlicher als meine Bemühungen.
Ich verstehe zwar noch nicht, warum darin sogar sortiert wird, aber schau'n wir mal ^^

Nutzt irgendjemand den Indikator in seinen Handelssystemen?

Viele Grüße
Kai

hd40307g

unregistriert

6

Samstag, 8. Dezember 2012, 11:49

Hallo Kai,

ich habe dein Projekt mal mit dem TPRT-endlos-Future des Dax umgesetzt:
Bild 1 ohne irgendeine Veränderung dein Original
Bild 2 mit modifiziertem Stop-Konzept per GA optimiert.

Sieht ja wirklich interessant aus, da noch beliebig ausbaubar.

Grüsse,
hd



Kai

unregistriert

7

Samstag, 8. Dezember 2012, 23:03

Hallo HD,

ja, das sieht wirklich interessant aus. Ich bin gerade nur ein bisschen am verzweifeln. Sobald ich VBScript im Investox nutze legt das mein System ständig lahm und ich spreche nicht von Sekunden, sondern Minuten.
Ich nutze schon einen komprimierten Berechnungstitel auf 15 Minuten (gerade mal 3 Mb in Filegröße - 138.000 Perioden), dann 2 Aufrufe vom Sinewave im Chart und Investox macht nix mehr (Keine Rückmeldung) für eine lange Zeit. CPU auf 25% - also bei meiner 4 CPU Maschine, dadurch das Investox nur eine CPU nutzt trotzdem immer noch reichlich Rechenleistung. Änderungen im HS...Minuten verstreichen.
Er rechnet, aber ich weiß nicht was er solange macht - EOD funktioniert recht performant, aber so viele Perioden sind es bei mir nun auch nicht! Ist die Schlussfolgerung, dass VBSkripte nur für EOD oder wenige (z.B. <5000) Perioden einsetzbar sind? Oder übersehe ich etwas? Irgendeine Aktualisierung oder Berechnung, die mir da entgeht? Irgendeine Einstellung?

Welche Einstellungen hast Du denn benutzt? EOD und dann die eine kreuzt die andere für long bzw. Short?

Viele Grüße
Kai

hd40307g

unregistriert

8

Sonntag, 9. Dezember 2012, 20:08

Hallo Kai,

ich habe den Indi und das HS von Ganesha unverändert angewendet, lediglich die Daten durch den TPRT-endlos-Future ersetzt und Kosten sowie Punktwert angepasst.

Das ergibt für 10 Jahre Daten bei TPRT ca. 132 Mio Daten, die bei mir ca. 50 Sekunden fürs erste Laden benötigen.

Einen Berechnungstitel habe ich nicht verwendet, da bei einem Intraday-Stop-HS ja unvollendete Perioden mit Tickdaten verwendet werden sollten.

Die weiteren Aktualisierungen benötigen dann hier nur jeweils wenige Sekunden,

Das von dir beschriebene Ausbremsen von Investox hat bei mir nicht stattgefunden.

Da ich alle Parameter mit ihren maximal-Werten verwende (16 Mio-Daten/500Mio im Titel) kann ich auch keine Einstellungen erkennen, die das von dir beschriebene Ausbremsen erklären.

Vielleicht hat ja Herr Knöpfel eine Idee, woran die starke Verzögerung bei deinem System liegen könnte.

Morgen werde ich das HS mit dem virt. Broker antesten, dann kann ich auch die Aktualisierungen realistischer beurteilen.

Grüsse,
hd

Ganesha

unregistriert

9

Sonntag, 9. Dezember 2012, 20:55

und ich spreche nicht von Sekunden, sondern Minuten
Hallo,

hast Du den Titel-Zwischenspeicher eingeschalten?

Viele Grüße

hd40307g

unregistriert

10

Montag, 10. Dezember 2012, 09:15

Hallo,

nach Abarbeitung aller Anregungen des "Grünen Haken" habe ich jetzt im eingestellten "Signalzeitraum" eine Latenz der Aktualisierung die unter 1 Sekunde liegt.

Für einen Tageschart mehr als ausreichend.



Erfreulicherweise ist hier mal die Performance mit IB-Daten(Chart) nahezu identisch zu den backgetesteten TPRT-Daten (vorherige Bilder).

Kai

unregistriert

11

Montag, 10. Dezember 2012, 23:02

Hallo zusammen,

danke für den Tipp, es war wohl der Zwischenspeicher, jetzt flutscht es :thumbup:
Nun kann ich auch was damit machen :)

Könnt Ihr bitte noch das HS von Genesha in der 5er Version speichern (wenn das geht), ich kann die INV Datei leider nicht mit meiner Version 5.9.6 öffnen.
Oder die Regeln für Long/Short/Def und Exits schreiben, das wäre klasse.

@HD: Du arbeitest in Deinem System schon mit Pyramidisierung? Und erreichst, wenn ich das richtig lese, über 70% erfolgreiche Trades? Das ist wirklich beeindruckend! Wie setzt Du die Pyramidisierung an?
Was meinst Du mit "grünen Haken"?

Viele Grüße
Kai

hd40307g

unregistriert

12

Dienstag, 11. Dezember 2012, 14:30

Hallo Kai,

mit Pyramidisierungen habe ich bei diesem Projekt noch nicht experimentiert...ist aber im Prinzip keine grosse Sache.

Der grüne Haken (Bild) ist der "Projektratgeber" von IV und es macht Sinn, diesen komplett abzuarbeiten, wenn man die max. Performance sowie Fehlerfreiheit (im Groben) eines HS erreichen will.

Aber auch wenn dort alle Punkte abgearbeitet sind, kann ein HS noch wesentliche Bugs enthalten.

Grüsse,
hd

Kai

unregistriert

13

Donnerstag, 13. Dezember 2012, 00:32

Hallo!
Etwas zu früh gefreut. Ich dachte es flutscht, aber nach ein paar Minuten war doch leider klar, dass nix flutscht.
Es dauert immer noch ewig. Nur das Projekt laden mit den 2 Hilbert Indikatoren dauert 2-3 Minuten bis Investox die Charts darstellt. Ich habe keine weitere Einstellung gefunden, die das ändert. Wodran kann denn das noch liegen? Frage auch an Hr. Knöpfel, falls er das liest. Ist die Version 6 so viel schneller mit VBScript? Oder an welcher Einstellung kann es bei mir noch liegen?

@HD: Wenn ich das aus Deiner Grafik richtig lese sind die "+1" doch schon Pyramidisierung, also +1 - noch einen weiteren Kontrakt, oder verstehe ich das nicht richtig? Kannst Du mir die Einstiege/Ausstiege schreiben, da ich das File von Ganesha nicht lesen kann?

Viele Grüße
Kai Boehnert

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

14

Donnerstag, 13. Dezember 2012, 14:14

Hallo,

es gibt keinen Unterschied in der VBscript-Geschwindigkeit zwischen V5 und V6. Insofern wird es wohl am Komprimieren der Daten liegen (beim ersten Anfordern der Komprimierung seit Programmstart - in V6 kann der Zwischenspeicher bei Programmende erhalten bleiben). Um welche Komprimierung mit wie vielen Ticks handelt es sich, mit welchen Datenfeed?

Viele Grüße
Andreas Knöpfel

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

15

Donnerstag, 13. Dezember 2012, 14:49

Nur das Projekt laden mit den 2 Hilbert Indikatoren dauert 2-3 Minuten bis Investox die Charts darstellt.

Klar, das Laden eines Projektes kann durch den Titel-Zwischenspeicher ja nicht beschleunigt werden, das ist doch durch die Harddisk I/Os begrenzt (eine SSD kann hier beschleunigend wirken!). Aber dafür jede Folgearbeit, das passiert dann aus dem RAM heraus; darauf deutet auch Deine erste Erfolgsmeldung hin:
danke für den Tipp, es war wohl der Zwischenspeicher, jetzt flutscht es
Gruss
Bernd

Kai

unregistriert

16

Montag, 17. Dezember 2012, 22:13

Hallo!Ich war die letzten Tage verhindert, konnte aber jetzt gestern endlich wieder dran. So wie ich es jetzt verstehe liegt es an der Komprimierung. Ich habe den FDAX von Ende 2006 Tickdaten bis heute, also ca.114 Mio Kurse .
Wenn ich mit Tageskomprimierung arbeite, dann geht alles klasse schnell, im paar Sekunden Bereich - auch das Backtesten, supi, kein Problem!
Ich habe vorher immer auf Halbstunden und Viertelstunden Intervalle probiert und da wird es dann doch sehr sehr zäh. Da scheint die Bearbeitungszeit beim Test und Darstellung exponentiell hoch zu gehen. Irgendwo nachvollziehbar bei der Anzahl der Berechnungen, aber können Sie das bestätigen? Es ist dann nicht nur beim ersten Anfordern beim Programmstart, sondern bei jeder Änderung am HS oder den Parametern, dass es zu den ausgiebigen Verzögerungen kommt.
Ich bin/war da nur am zweifeln ob es vielleicht an meinen Einstellungen liegt.
Aus was besteht denn dieser Zwischenspeicher? Wird das in den RAM Speicher geladen oder auch auf Platte vorbereitet komprimiert?

Hardware ist prinzipiell ein neues, leistungsstarkes System auch mit viel Speicher und SSD.


Viele Grüße
Kai

Peratron

unregistriert

17

Dienstag, 18. Dezember 2012, 09:59

Hallo Kai,
folgendes solltest Du beachten.

- Sollte es sich um einen endlos Kontrakt handeln der aktuell Life Daten aufzeichnet bzw. lange Historien mit sehr vielen
Ticks vorhanden sind dann Aktualisierung (Lampe: Grün,Gelb) deaktivieren (Rot).
- Arbeiten an dem HS nur mit kurzer Historie (Leistungsschema - kurze Historie). Beim optimieren vorher wieder auf lange Historie!
- Alternativ in Instanz kurze Historie arbeiten. Änderungen speichern und in anderer Instanz(en) mit langer Historie öffnen. Läuft ja neben her!

Grüße Peratron

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

18

Dienstag, 18. Dezember 2012, 10:39

Hardware ist prinzipiell ein neues, leistungsstarkes System auch mit viel Speicher und SSD.


Die SSD bringt nur einmalig ein bisschen Speed beim Einlesen der Tickdaten in den Cache.
Wir hatten das schon an anderer Stelle, beim FDAX dürfte das in etwas 10% sein gegenüber eine "normalen" HDD.

Memory zwar wichtig, aber in Deinem Fall würden auch 1GB reichen.
Die komprimierten Daten für den FDAX sollten in weniger als 100KB rein passen.

Wenn Du 10 Minuten Bars verwendest sind das 84 Bars pro Tag im FDAX.
Jede Berechnung in Deinem HS muss für jeden Bar durchgeführt werden.
Entsprechend muss der Backtest für ein derartiges System um rund den Faktor 100 langsamer sein.

Das fühlt sich an wie exponentiell ist aber eher linear vom Aufwand.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

19

Dienstag, 18. Dezember 2012, 11:26

Das fühlt sich an wie exponentiell ist aber eher linear vom Aufwand.

Naja, jein.

Natürlich hat Lenzelott im Prinzip recht, aber es stimmt nur bedingt - und zwar, solange keine Trades erzeugt werden. Und wenn der Kollege im DAX z.B. sagen wir 477'618 Perioden auf 1 Minuten Basis verarbeitet (seit Sep. 2010), und daraus unter 50 Trades im Jahr (ohne Anwenderstops) generiert, stimmt die Aussage nährerungsweise.

Aber angenommen, Kai generiert aus den knapp 500 tausend Perioden 200 tausend Entries, dann führen diese vielen Entries zu weiteren 200 tausend Exit-Berechnungen, zu "Anzahl Stops x Entries" Stop Berechnungen usw. D. h. mit zunehmender Entry-Anzahl neigt ein System dazu (besonders, wenn Einstiegsbedingungen für Stops, Zusatzbedingungen usw. im Spiel sind), die Rechenzeit im Backtest exponentiell statt liniear zu verpuffen :D

Kai, das ist natürlich kein Investox Problem, sondern in der Natur der begrenzten Resourcen und dem Umgang mit den selben begründet, also eigentlich per logischer Schlussfolgerung zu begreifen .. und ist vor allem im Backtest ein Problem: wenn man in der Entwicklung drauf bedacht ist, dass das aktuelle Signal mit wenigen dutzend Perioden berechnet werden kann, ist so ein System trotz exorbitanter Backtest-Laufzeiten real später doch gut handelbar!
Gruss
Bernd

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Bernd« (18. Dezember 2012, 11:33)


Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

20

Dienstag, 18. Dezember 2012, 12:54

Hallo,

auch die Erhöhung der Tradeanzahl führt normalerweise "nur" zu einer linearen Erhöhung des Rechenaufwands, es sei denn, man verwendet z.B. ein Anwender-Ergebnis auf der Basis von Trades, dessen Berechnung einen exponentiellen Aufwand hat.

Doch allein die Erhöhung der Perioden von z.B. täglich auf 15 Minuten führt ja dazu (wie Lenzelott zeigt), dass die Rechenzeit von z.B. 2 Sekunden auf 2 Minuten anwächst.

Der verwendete VBScript-Indikator ist übrigens sehr komplex, mit verschachtelten Interationen etc.

Viele Grüße
Andreas Knöpfel