Dienstag, 16. April 2024, 14:28 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Ganesha

unregistriert

1

Dienstag, 25. September 2012, 21:24

Erster Brick des Tages

Hallo,

ich frage jetzt mal ganz dumm: Hat jemand eine Formel, mit der ich abfragen kann, ob der erste Brick des Tages schon durch ist und die _wirklich_ funktioniert. :)

Quellcode

1
2
3
4
5
6
7
//Soll liefern: 0=default, 0=nach Tageswechsel, 1=wenn erster brick bestätigt ist
calc bestaetigt: 
   schalter(
  	0, 
  	datepart(y)<>ref(datepart(y),-1), 0, 
  	komp(#???#,#Renko/Prozent %/Umkehr/A/O#), 1
	);


Das Teil mit den Fragezeichen ... ich bekomme es nicht hin. :(

Viele Grüße

Ganesha

unregistriert

2

Dienstag, 25. September 2012, 23:44

So sollte es zu funktionieren:

Quellcode

1
2
calc New_Brick: ROC(Komp(#Spalte(SO)+Spalte(SC)#, #Renko/RenkoWert %/Reversal/A/O#),1,$)<>0;
calc bestaetigt: CumSince(new_brick, DatePart(y)<>Ref(DatePart(y),-1), 0)>0;


bestaetigt springt bei Tageswechsel auf 0, beim ersten Brick auf 1

Inspiration war ein Posting von Anke: Renko Komprimierung robusten - nur wie?

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

3

Mittwoch, 26. September 2012, 01:11

Ich habe mir für solche Zwecke einen Indikator Tageswechsel() angelegt mit dem Inhalt.

Quellcode

1
DatePart(y)<>Ref(DatePart(y),-1)

Den kann man auch noch wo anders verwenden.

In einem Renko System reicht es, wenn man

Quellcode

1
not(Tageswechsel())


in den Enterbedingung zusätzlich fordert.
CumSince ist hier schon eher ein Zeitfresser dagegen.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Ganesha

unregistriert

4

Mittwoch, 26. September 2012, 10:40

Quellcode

1
not(Tageswechsel())


Hallo Lenzelott,

in meinem Fall dürfte reicht das nicht. Der verschwiegene Kontext ist, dass ich versuche Renko als Trendfilter einzusetzen. Daher muss ich tatsächlich den ersten Brick abwarten. Ansonsten würde das System im Backtest in der zweiten Periode des Tages einsteigen.

Viele Grüße

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

5

Mittwoch, 26. September 2012, 11:13

In einem Renko System reicht es, wenn man

Quellcode

1



not(Tageswechsel())



in den Enterbedingung zusätzlich fordert.


Aber das wird doch genau damit verhindert im ersten Brick einzusteigen.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Ganesha

unregistriert

6

Mittwoch, 26. September 2012, 15:40

Aber das wird doch genau damit verhindert im ersten Brick einzusteigen.
IMO wird nur verhindert zum ersten Brick in der ersten Periode einzusteigen.

Wenn das Basissystem 1 Minute als Komprimierung hat und der erste Brick würde real nach 9 Stunden erzeugt, würde das System im Backtest trotzdem zur zweiten Minute den Trade beginnen.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

7

Mittwoch, 26. September 2012, 15:59

Spalte(SB) innerhalb des Komp() Ausdrucks abzufragen, hat Dir nicht geholfen (siehe Doku www.download.Investox.de/InvestoxRenkoP&F.pdf ), ggf. in der Form Ref( Spalte(SB), -1) ?
Gruss
Bernd

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (26. September 2012, 16:05)


Ganesha

unregistriert

8

Mittwoch, 26. September 2012, 16:16

Spalte(SB) innerhalb des Komp() Ausdrucks abzufragen, hat Dir nicht geholfen (siehe Doku www.download.Investox.de/InvestoxRenkoP&F.pdf ), ggf. in der Form Ref( Spalte(SB), -1) ?
Nein. Spalte(SB) funktioniert im Backtest nicht. Spalte(SB) steht im Backtest immer auf '1'. Im virtuellen Broker kann man sich das auch schön angucken: Der Wert ist zunächst '0', bis die notwendige Bewegung da war. Danach springt Spalte(SB) auf '1'. Da im Backtest die notwendige Bewegung offensichtlich vorhanden war (sonst gäbe es den Brick nicht), ist Spalte(SB) immer '1'.

Ergebnis: --> Spalte(SB) ist wertlos.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

9

Mittwoch, 26. September 2012, 17:17

Da im Backtest die notwendige Bewegung offensichtlich vorhanden war (sonst gäbe es den Brick nicht), ist Spalte(SB) immer '1'.

Dieses Verhalten ist aber nicht speziell Renko-spezifisch, sondern trifft immer ein, wenn ein Setup nicht korrekt mit Ref( , -1) gegen Zukunftsblicke abgesichert ist, während man mit unvollendeten Perioden hantiert!:
=> im Backtest sieht da immer allles gut aus (oder wie Du schlussfolgerst, wertlos).

In der von Dir beschriebenen Situation, Renko im Kontext einer 1 Min. Basis-Komprimierung, kann es nötig sein, 2x mit Ref( ,-1) zu operieren: einmal natürlich innerhalb der Komp() Formel, und dazu noch ein zweites Ref( ,-1) aussen herum, welches den Komp() Ausdruck selbst gegen die letzte Periode der Basis-Komprimierung absichert. Versuch' das einmal, das sollte das Handelsystem so absichern, dass Backtest und Realhandel bzw. Datenfeed_Simu übereinstimmen (Open, Delay 0 mit Unvollendeten Perioden habe ich hier unterstellt).
Gruss
Bernd

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

10

Mittwoch, 26. September 2012, 17:35

Du berechnest also die Renkos aus 1 Minuten Bars?!

Das hättest Du aber auch mal ganz am Anfang kund tun können, ohne solche Infos stochert man ja ziemlich im Nebenl rum.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Ganesha

unregistriert

11

Mittwoch, 26. September 2012, 17:47

Das hättest Du aber auch mal ganz am Anfang kund tun können
:love:

Asche -> Kopf

Ganesha

unregistriert

12

Mittwoch, 26. September 2012, 17:50

1 Min. Basis-Komprimierung, kann es nötig sein, 2x mit Ref( ,-1) zu operieren
Selbst das reicht nicht. Wann der erste Brick durch ist, ist ja nicht vorhersagbar/berechenbar. Es kann nach einer Minute oder nach zehn Minuten sein. Daher ja auch mein langes Mühen und Fummeln... :)

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

13

Mittwoch, 26. September 2012, 17:55

Das hättest Du aber auch mal ganz am Anfang kund tun können
:love:

Asche -> Kopf


Quellcode

1
Komp(#not(tageswechsel())#,#DEINE RENKO KOMPRIMIERUNG#)


Edit: Aber nicht auf unvollendeten Perioden handeln wollen, das dürfte in dem Kontext nach hinten losgehen.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Ganesha

unregistriert

14

Mittwoch, 26. September 2012, 22:28

Komp(#not(tageswechsel())#,#DEINE RENKO KOMPRIMIERUNG#)
ok, das ist deutlich besser. :-)
Ob es schneller ist, kann ich im Augenblick nicht beurteilen. Wenn dann nicht viel. Die Variante ist aber _deutlich_ besser lesbar.

Vielen Dank