Freitag, 19. April 2024, 08:20 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Quantitativo

unregistriert

1

Mittwoch, 11. Juli 2012, 19:39

EnterLong + EnterShortRegel für ORB

Folgendes sollte mein System können:

Ausbruch aus Handelsspanne (zw. open und 9:30 Uhr)

Diese Spanne soll kleiner sein als 0,35*AverageDailyRange(die ist definiert)

Der Ausbruch aus dieser Spanne soll ab 09:30 bis 11:00 erfolgen


Was ich hinbekommen habe ist die Handelszeit und die Spanne zu definieren

// Handelszeitfenster ******************************************************************************************
global calc uhrzeit:DatePart(h)*100+DatePart(n);
//global const Entry_time_begin:[frühester Zeitpunkt für Enter:945,945,1200,945,1200,1,1,I];
global const Entry_time_begin:[frühester Zeitpunkt für Enter:0930,930|945|1000|1015|1030|1045|1100|1115|1130|1145|1200|1215|1230|1245|1300|1315|1330|1345|1400|1415|1430|1445|1500];
global const Entry_time_ende:[spätester Zeitpunkt für Enter:1100,1700,2000,1700,2000,1,1,I];

global calc zeitfenster:Zwischen(Uhrzeit, Entry_time_begin, Entry_time_ende);

global calc daily_range:DailyPrice(h)-DailyPrice(low);

global calc open_range_filter:daily_range<AverageDailyRange*0.35

Was ich jetzt nicht hinbekomme ist dass nur die Range zwischen open und 9:30 als Maßstab dienen soll und danach ein Breakout zwischen 09:30 Uhr und 11:00 gehandelt werden soll

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

2

Donnerstag, 12. Juli 2012, 10:05

Hallo,

>>Was ich jetzt nicht hinbekomme ist dass nur die Range zwischen open und 9:30 als Maßstab dienen soll

Ein Vorschlag hierzu:

Quellcode

1
2
3
4
5
6
7
8
global calc uhrzeit: DatePart(h)*100+DatePart(n);
global calc TagesBeginn: Abschnitt(y, 1, k, m);
global calc Uhrzeit930: Ref(Uhrzeit,-1)<930 and Uhrzeit>=930; //falls 930 nicht genau vorkommt
global calc HighAbOpen: HighestSince(High, Tagesbeginn, 1);
global calc High930: ValueWhen(HighAbOpen, Uhrzeit930, 1, v);
global calc LowAbOpen: LowestSince(Low, Tagesbeginn, 1);
global calc Low930: ValueWhen(LowAbOpen, Uhrzeit930, 1, v);
global calc OpenSpanne: High930-Low930;

Viele Grüße
Andreas Knöpfel

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

3

Donnerstag, 12. Juli 2012, 10:37

Eine alternative Berechnung einer zeitabhängigen Kursspanne wäre auch so möglich:

Quellcode

1
2
3
global const OrangeStart:	0900;	// Opening Range Beginn: 09:00 Uhr
global const ORangeEnde:	0930;	// Opening Range Ende: 09:30 Uhr
global calc ORange:		Describe(High, H, OrangeStart, ORangeEnde)-Describe(Low, L, OrangeStart, ORangeEnde);

(Der Indikator Describe() findet sich in der Forums-Datenbank; möglicherweise ist die von Herrn Knöpfel vorgeschlagene Berechnung schneller (im Sinne von CPU-Verbrauch), ich habe das aber nicht getestet. Jeden ist die Möglichkeit mit Describe() etwas "intuitiver", denke ich)
Gruss
Bernd

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (12. Juli 2012, 10:42)


Quantitativo

unregistriert

4

Donnerstag, 12. Juli 2012, 14:10

@Herr Knöpfel und Bernd: vielen Dank

mit eurer Hilfe konnte ich jetzt die Handelsspanne richtig definieren:

Jetzt versuch ich gerade das Entry-Signal zu programmieren: Folgendes habe ich gemacht

Quellcode

1
global calc new_high:DailyPrice(H)>Ref(DailyPrice(H),-1);


Wenn diese Bedigung erfüllt es, geht mein System zum Open des nächsten Candle long

Was ich möchte: dass das System den Breakout exakt handelt

sobald ein neues Hoch gemacht wird soll das System long gehen, also ein klassischer Breakout - leider konnte ich es bis dahin nicht richtig definieren :baby: