Dienstag, 16. April 2024, 18:54 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

sven

unregistriert

1

Freitag, 24. November 2006, 18:52

Zugriff auf das Low einer bestimmten Uhrzeit

Hallo,
ich bin am verzweifeln an folgender Handelsregel:

ich möchte short gehen, wenn das Low von 9-10 Uhr unterschritten wird,
und zwar zum Low-Kurs.

Wie kann ich während des Tages auf das Low von 9-10 Uhr zugreifen und wie setze ich das dann als Enterbasis ?

vielen Dank für die Hilfe....

Sven

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

2

Freitag, 24. November 2006, 21:02

Hallo Sven,

in welcher Komprimierung soll das HS den arbeiten?
Es sollte eine kleinere Komp als Tageskomprimierung sein, dann wäre das mit DatePart() und ValueWhen() zu realisieren. Über eine globale Variable lässt sich der ermittelte Wert dann auch als Enterbasis verwenden.
Viele Grüße,
Hans-Jürgen

sven

unregistriert

3

Freitag, 24. November 2006, 21:09

Hallo,
komprimierung sind 30 min.

Snoopy

unregistriert

4

Freitag, 24. November 2006, 22:44

Hallo sven,
hier eine Möglichkeit. (EnterShort wenn das Close ab 10Uhr das Low von 9-10Uhr unterschreitet bei einer 30min Komprimierung.

Unter EnterShort

Calc Time: DatePart(h) = 9 AND DatePart(n) = 30;
Calc Trigger: ValueWhen(ValueWhen(LLV(Low, 2), Time, 1, V), Time, 1, V);
DatePart(h) >= 10 AND Cross(close, Trigger, 1) = -1

Gruß Snoopy

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

5

Samstag, 25. November 2006, 09:56

Hallo Sven,

Snoopy's Vorschlag ist mir etwas zu kompliziert.....hier meine Variante:

{unter Definitionen}
calc Time: DatePart(h) = 9 AND DatePart(n) = 30;
global calc EB: ValueWhen(Low, Time, 1, V);

{unter Enter Short}
Cross(Low , EB, 1) = -1;

{als Enterbais für Short}
EB


Allerdings sollte man hierbei beachten, dass bei der Verwendung von Cross() das in EB gespeicherte LOW von 9:30 Uhr ja unterschritten wird und somit die Order nur mit EB als LIMIT aufgegeben werden kann. Falls der Kurs aber nicht mehr zu EB zurück kommt, gibt es keinen Fill. Man kann also davon ausgehen, dass bei den Ergebnissen des Backtestes Trades dabei sind, die REAL nicht gelaufen wären. U. U. rechnet der Backtest somit zu gut ab.
Viele Grüße,
Hans-Jürgen

sven

unregistriert

6

Samstag, 25. November 2006, 22:22

eigentlich ganz einfach, aber manchmal brauch man einen Gedankenanstoss. Zum Glück gibt es zu dieser super Software auch ein hervorragendes Forum.
Ein Frage noch, mit euren Varianten erwische ich ja nur das Low zwischen 9 und 9:30, oder?

Um das Low zwischen 9 und 10 zu erhalten , müsste ich dann folgendes machen?:
calc Time1: DatePart(h) = 9 AND DatePart(n) = 30;
calc Time2: DatePart(h) = 10 AND DatePart(n) = 00;
global calc EB1: ValueWhen(Low, Time1, 1, V);
global calc EB2: ValueWhen(Low, Time2, 1, V);
global calc EB: if (EB1<EB2,EB1,EB2);

Ist das richtig? Oder geht es vielleicht etwas unkomplizierter ?

Nochmal herzlichen Dank für eure Hilfe

Snoopy

unregistriert

7

Samstag, 25. November 2006, 23:48

Hallo Sven,
bei dem Vorschlag von Hans-Jürgen wird eine Kerze abgefragt. Bei dem Vorschlag von mir werden zwei Kerzen abgefragt. Die von 09:00-9:30 und die von 9:30-10:00.

Gruß Snoopy

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

8

Sonntag, 26. November 2006, 10:23

Hallo zusammen,

sorry, ich hatte übersehen, dass das Low zwischen 9 und 10 Uhr gemeint war. Ich würde es so machen:

{unter Definitionen}
calc Std: DatePart(h);
calc Min: DatePart(n);

calc EB_1: ValueWhen(Low, Std = 9 and Min = 30, 1, V);
calc EB_2: ValueWhen(Low, Std = 10 and Min = 0, 1, V);

global calc EB: MIN(EB_1, EB_2);

{unter Enter Short}
Cross(Low , EB, 1) = -1;

{als Enterbais für Short}
EB
Viele Grüße,
Hans-Jürgen