Dienstag, 16. April 2024, 23:33 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

21

Donnerstag, 8. Dezember 2011, 13:38

Dem Wunsch mit der Aktualisierungsfrequenz als globale Variable schliesse ich mich aber sofort an!

Momentan semmelt ja ein HS teilweise eine ganze CPU von morgens bis abends durch, obwohl es heute keinen Trade mehr geben wird!

Mit Cornelius' Vorschlag könnte man dann im HS entscheiden, ob nach Ablauf des Handelszeitfensters (gemäss Coding in den Definitionen) weiterhin die Aktualisierungsfrequenz hoch bleiben muss (z.B. weil noch eine Position im Depot ist) oder ob man das HS zugunsten anderer HSe auf der selben Maschine automatisch schlafen legen kann!
Gruss
Bernd

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

22

Freitag, 9. Dezember 2011, 12:33

Hallo,

die Lösung über eine globale Variable wird m.E. nicht funktionieren, da die Aktualisierungs-Einstellung dann von der Aktualisierung selbst abhängt. Wenn man also z.B. per globaler Variable die Aktualisierung abschaltet, wird sie nicht wieder in Gang kommen. Es ist auch nicht effizient, bei jeder Prüfung, ob eine Aktualisierung vorgenommen werden soll, die globalen Definitionen zu berechnen.

Viele Grüße
Andreas Knöpfel

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

23

Freitag, 9. Dezember 2011, 14:47

Hallo Herr Knöpfel

> Wenn man also z.B. per globaler Variable die Aktualisierung abschaltet, wird sie nicht wieder in Gang kommen.
Das ist ja klar. Wenn man sich selbst ins Knie schiesst, ist es möglich, dass es schmerzt. Trotzdem gibt es Leute, die ohne Gefahr für sich oder andere ihr Leben lang mit einem Gewehr umgehen.

Und sich, bildlich gesprochen, ins Knie zu schiessen, bieten auch die herkömmlichen Codiermöglichkeiten von Investox und VBS genügend Hand, so dass der User nicht ausgerechnet an der Stelle der Aktualisierungsfrequenz vor sich selber geschützt werden muss.

Was ich mir gedacht habe bei meinem Posting, wäre ein Coding, das ungefähr so aussieht (es sei angenommen, #_HS_Aktualisierung# wäre die Variable, die Sie zur Beeinflussung der Handelssystem-Aktualisierungsfrequenz zur Verfügung stellen):

Quellcode

1
2
3
4
5
6
7
global calc Uhrzeit: 		DatePart(h)*100+DatePart(n);
global calc dst:		Komp(# DST_USA(DIF)#,#T#)*100; // Indikator aus der Inv. Forums DB
global const TradeStart: 	0915;
global calc Tradeende: 		1715+dst;
global calc HandelsZeit: 	Uhrzeit >= TradeStart and Uhrzeit < TradeEnde;

global calc #_HS_Aktualisierung#: If( Handelzeit or DepotHist(S)<>0, 0, 60);	// Aktualisierung in Sekunden, 0=sooft möglich


Wenn es aber so nicht geht, wäre aus Ihrer Sicht vielleicht eine Anhack-Lösung im HS unter Aktualisierung / Zeitbedinte Aktualisierung möglich?

So wie es jetzt ist, hat jedes meiner Handelssysteme etwa 3 bis 4 Stunden Handelszeit (pro 24h Tag !) und bleibt vielleicht für andere 3 bis 4 Stunden im Markt (je nach Trailing-Stop auch mal länger, handelt aber nur 15 bis 30 Mal überhaupt pro Jahr !!), während die Handelszeitfenster der Systeme gegeneinander versetzt sind:

Trotzdem muss ich für jedes Handelssystem während der ganzen Börsenzeit die volle CPU Power für die Gesamtzahl aller Handelssysteme gleichzeitig auf der gesamten Life-Maschine zur Verfügung stellen (es könnte ja auch ausserhalb der Entry Zeit (Handelszeit) noch eine Position zu Verfolgen haben; man kann mit den aktuellen Investox Bordmitteln also gar nichts machen), was eine unglaubliche Verschwendung von Geld darstellt. Versetzt bräuchten meine System geschätzt nur 30% der aktuellen Power der i7-990x CPU, ja es würde ein i7-940 schätzungsweise dicke reichen!

Also, egal welche andere Lösung Ihnen einfällt - aber eine Lösung dieses Strom- und CPU Verschwendungs-Problems wäre wünschenswert, nennen sie das neue Feature doch einfach "Investox Green-Power", das wäre auch marketing-mässig der Hit heutzutage.
Gruss
Bernd

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (9. Dezember 2011, 15:04)


Peratron

unregistriert

24

Freitag, 9. Dezember 2011, 17:25

Mein Problem geht in etwa in die gleiche Richtung. Bei mir laufen von meinen 16 Kernen nur 4 im Lifehandel und 4 über C2. Und dies nur max. 3 Std. pro Tag (Handelszeitbegrenzung). Für den Rest des Tages würde ich gern alle 16 Kerne zur Optimierung nutzen. Während der Haupthandelszeit überschneiden sich aber die 4 Life HS u. 4 C2 HS mit den 16 Opti HS, daher muss ich die Opti HS jeden Tag manuell deaktivieren und aktivieren. Sehr nervig!

Hier wäre es sehr nützlich wenn man dies irgendwie automatisch händeln könnte :thumbsup:

Grüße Peratron

Peratron

unregistriert

25

Freitag, 9. Dezember 2011, 17:29

Hier noch mein anderer Wunsch 8)

Wäre es möglich die Anzahl der Instanzen weiter zu erhöhen.
Manche Instanzen sind für den Life Handel eingestellt manche für C2 und manche nur fürs optimieren
daher wären 40-50 Instanzen sehr vorteilhaft!

Bei sovielen Instanzen wären natürlich Vorlagen vorteilhaft in denen man einstellt welche Instanzen geladen werden sollen.
Sofern Instanzen geladen werden, sollten die Vorlagen beim Start der Hauptinstanz per Auswahlmenü abgefragt werden.
Die zusätzliche Auswahl keine Instanz laden wäre von Vorteil, den manchmal braucht man nur die Hauptinstanz muss aber
warten bis alle aktivierten geladen sind.

Wäre es zusätzlich möglich up/down Buttons zu integrieren damit man die Reihenfolge der Instanzen einstellen kann.

Grüße Peratron

cnolte

Profi

Registrierungsdatum: 23. November 2006

Beiträge: 399

26

Samstag, 10. Dezember 2011, 09:05

Hallo zusammen,

wie von Bernd beschrieben, besteht im Zusammenhang mit der Aktualisierungsfrequenz schon ein erhebliches Leistungssteigerungspotenzial.

Das Problem mit der Fehlermöglichkeit (Abschalten der Aktualisierung durch globale Variable) ließe sich vielleicht so lösen, dass man eine Untergrenze für die Aktualisierungsfrequenz einbaut. Z.B. beim Aktualisierungsintervall "Sekunden" den Wert 600, wenn die globale Variable einen höheren Wert liefert. Vielleicht ist das ja technisch möglich.

Ein Effizienzproblem durch die häufige Aktualisierungsabfrage kann sich ergeben. Wenn dieses Problem tatsächlich zu groß ist, könnte man bei der Aktualisierung vielleicht Einstellmöglichkeiten vorsehen für
- Wochentag und
- Uhrzeit,
so dass die Aktualisierungsfrequenz in Abhängigkeit von diesen beiden Faktoren auf einen einstellbaren Wert reduziert werden kann, sofern keine Position im HS besteht.

Viele Grüße
Cornelius

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

27

Samstag, 10. Dezember 2011, 13:24

Hallo,

weil wir gerade bei Wünschen sind, ich würde mir eine Anzeige im OM wünschen, welche mir auf einen Blick visualisiert, bei welchem HS die realisierte KK noch steigt (je grüner um so steiler steigt die KK), bzw. seitlich läuft (gelb) bzw. fallend ist (je roter, um so stärker verliert die KK bei den letzten Trades).

Das Dreieck ist mir zu kurzfristig. Vielleicht kann man die Hintergrundfarbe des Feldes noch so ändern, wie oben beschrieben.

Wozu das Ganze?
siehe Bild, das 2.HS scheint das bester bisher zu sein (+94$). Aber wenn die KK vorher schon bei +400$ war, dann sieht die Sache wieder anders aus. Außerdem spielt auch die Anzahl der Trades eine große Rolle, insbesondere wenn diese bei den HS unterschiedlich ist.
Ich würde gerne die Beobachtungs-HS so anordnen, dass das Besten (grünste) oben stehen und dann abfallend. Stabiliert sich ein HS oben, dann kann es produktiv gehen. Fällt ein HS auf den 11.Platz, dann wird es verschrottet. So hat man immer die Top10 HS am laufen und kann anhand der realisierten Trades schnell eine fundierte Entscheidung treffen,

Hoffe ich konnte es so halbwegs verständlich erklären.
Man müsste sich noch überlegen, an welchem Kriterium man die längerfristige Trenderkennung bei der KK fest macht, z.B. Abstand zum unterem BBand. Wer hier eine bessere Idee hat, dann raus damit ...

Viele Grüße
Sten

PS:
Eine konventionelle KK-Bewertung scheitert im OM, weil im Livesystem die Anzahl der Perioden stark reduziert ist.
»sten« hat folgendes Bild angehängt:
  • 111210_OM_Vergleich.jpg

hajo

Meister

Registrierungsdatum: 20. Oktober 2002

Beiträge: 553

28

Montag, 2. Januar 2012, 19:03

Hallo Herr Knöpfel,

ich wünsche Ihnen auch weiterhin viel Kreativität, Gesundheit und Erfolg im neuen Jahr.
Bezüglich Ihrer Empfehlung:

Wenn man mehrere Titel pro System hat, wird das event. auch unübersichtlich. Noch besser wäre es ja auch, wenn man ein einziges Gesamtsignal hätte, so dass man das Ergebnis wirklich auf einen Blick sieht.
Siehe dazu: Variablenwerte Handelssystem-übergreifend auswerten.

Viele Grüße
Andreas Knöpfel
Dort steht:
Ein Beispielprojekt zur Anwendung ist ebenfalls in der Database eingestellt ("GlobaleHSVariablen").

Dieses Beispielprojekt habe ich nicht gefunden. Für einen Hinweis wäre ich dankbar.

Gruß,
hajo

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

29

Mittwoch, 4. Januar 2012, 09:41

Hallo,

da ist offenbar die falsche Datei eingestellt (nochmal die Indikatoren an Stelle des Projekts). Wird nächste Woche korrigiert.

Viele Grüße
Andreas Knöpfel

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

30

Montag, 9. Januar 2012, 11:47

Hallo,

sollte jetzt bereits stehen...

http://www.investoxforum.de/index.php?pa…BData&dataID=81

Viele Grüße
Andreas Knöpfel

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

31

Montag, 9. Januar 2012, 12:55

Hallo,

Danke für das Beispiel.

Gibt es eventuell eine Möglichkeit im OM auf den Kontostand des virtuellen Brokers zu zugreifen, z.B. das man den Wert einmal täglich in eine Datei im Filesystem schreiben kann.

Wozu?
Ich möchte gerne die "reale" Portfoliokapitalkurve aller "Releasekandidaten"-HS überwachen. Über das Jahr gesehen müsste diese eigentlich kontinuierlich steigen. Wenn nicht, muss man die Problemmarktsituationen analysieren und man bekommt dadurch wichtige Infos, bezüglich weiterer Filterkriterien für zukünftige, verbesserte HS.

Danke.

Viele Grüße
Sten

hajo

Meister

Registrierungsdatum: 20. Oktober 2002

Beiträge: 553

32

Montag, 9. Januar 2012, 16:01

Hallo,

sollte jetzt bereits stehen...

http://www.investoxforum.de/index.php?pa…BData&dataID=81

Viele Grüße
Andreas Knöpfel
Danke für die Aktion, aber leider erhalte ich folgende Fehlermeldung

Habe INV 6.1.1

Gruß,
hajo

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

33

Montag, 9. Januar 2012, 17:12

Hallo,

mit Version 6.3 kann nach Download kein Problem feststellen, die Datei ist also in Ordnung. Installieren Sie doch bitte das Serviceupdate 6.3. Tritt dann immer noch ein Fehler auf?

Viele Grüße
Andreas Knöpfel

hajo

Meister

Registrierungsdatum: 20. Oktober 2002

Beiträge: 553

34

Montag, 9. Januar 2012, 17:32

editiert von hajo

... Installieren Sie doch bitte das Serviceupdate 6.3. Tritt dann immer noch ein Fehler auf?

Viele Grüße
Andreas Knöpfel
Hallo Herr Knöpfel,

habe soeben Update auf INV 6.3.0 durchgeführt. Dann Investox gestartet -> Projekt „GlobaleHSVariablen.Inv“ öffnen -> die Sanduhr erscheint und läuft und läuft und läuft und läuft ...

Ich kann Investox nur via TaskManager schließen. Hatte auch Computer neu gestartet.
Wie weiter ?

Gruß,
hajo

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

35

Montag, 9. Januar 2012, 17:51

Hallo,

vielleicht hat etwas mit dem Download nicht richtig geklappt: Die gespeicherte Datei „GlobaleHSVariablen.Inv“ sollte 37.859 Byte groß sein.

Zitat

habe soeben Update auf INV 6.3.0 durchgeführt.


Sie haben aber schon die gerade aktuelle Version 6.3.1 installiert?

Viele Grüße
Andreas Knöpfel

hajo

Meister

Registrierungsdatum: 20. Oktober 2002

Beiträge: 553

36

Montag, 9. Januar 2012, 18:03

editiert von hajo

Sie haben aber schon die gerade aktuelle Version 6.3.1 installiert?

Viele Grüße
Andreas Knöpfel

No Sir !

Da Sie “Serviceupdate 6.3„ geschrieben hatten, habe ich ganz treu nur 6.3 (0) installiert.
Nun updated auf INV 6.3.1 -> Projekt „GlobaleHSVariablen.Inv“ öffnen -> funktioniert !

Danke für die Aktion.

Gruß,
hajo

fgth31

unregistriert

37

Mittwoch, 11. Januar 2012, 11:41

Verbesserungen in den Stops

Hallo,

ich hätte da gerne zwei Wünsche geäußert: da ich nicht so gut programmieren kann

es wäre eine gute Sache, wenn man z.B. mit einem aktivierten Stop einen anderen Stop automatisch deaktivieren könnte. (wenn man den Trailing Abstand vergrößern möchte )
z.B Stop1 intraday Trailing 10Pkt ab Begin des Trades
Stop2 intraday Trailing 15Pkt ab 10 Pkt Gewinn & deaktiviert Stop1

mir fehlt auch die Funktion: wenn Gewinn von z.B. 10Pkt dann Stop auf Einstand

oder verwendet schon jemand sowas, selbst programmiert ?

Gruß
Franky

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

38

Mittwoch, 11. Januar 2012, 17:05

Hallo,

>>mir fehlt auch die Funktion: wenn Gewinn von z.B. 10Pkt dann Stop auf Einstand

dies zumindest kann man relativ einfach durch einen entsprechenden "Mindestgewinn" für einen Verluststop 0 Punkte umsetzen.

Viele Grüße
Andreas Knöpfel

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

39

Donnerstag, 12. Januar 2012, 15:57

Hallo,

noch zum ersten Punkt:

Zitat

es wäre eine gute Sache, wenn man z.B. mit einem aktivierten Stop einen anderen Stop automatisch deaktivieren könnte. (wenn man den Trailing Abstand vergrößern möchte

Wenn man den Abstand verkleinern möchte, kann einfach zwei Stops verwenden und für den engeren Stop einen Mindestgewinn definieren. Wenn man den Abstand vergrößern möchte ist es allerdings etwas kompliziert, das dies wohl nur mit einem Anwenderstop geht (also in einen Stop programmiert). Nach folgendem Muster:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
const Limit1: 10;
const Limit2: 15;
const GrenzeLimit2: 10;

calc MaxGewinn: If(TradePosition=1, TradeHigh-TradeEntryPrice, TradeEntryPrice-TradeLow);

calc #_StopLevel#: 
If(TradePosition=1, TradeHigh, TradeLow)-TradePosition*If(MaxGewinn>=GrenzeLimit2, Limit2, Limit1);

calc #_ExitLevel#: #_StopLevel#;

If(TradePosition=1, Low<#_StopLevel#, High>#_StopLevel#)

Die "Abweichende Ausstiegsbasis" unter "Optionen" des Stops sollte dabei auf #_ExitLevel# stehen.

Viele Grüße
Andreas Knöpfel

fgth31

unregistriert

40

Montag, 16. Januar 2012, 15:37

Vielen Dank für die ausführlichen Antworten !

das kann ich beides sehr gut verwenden

viele Grüße

Franky