Dienstag, 16. April 2024, 17:10 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Yoggi

unregistriert

1

Samstag, 30. Januar 2010, 18:16

Renko Komprimierung robusten - nur wie?

Hallo,

ich versuche mich gerade an Renko und stehe momentan vor einem Problem: Ist es möglich, über einen Robustheitstest verschiedenen Einstellungen zur Renkokomprimierung zu testen? Ganz am Anfang der Erstellung des HS unter Titel kann ich bei der Komprimierung keine globale Variable eintragen. Also war meine nächste Idee Tickdaten zu nehmen und die Komprimierung im Rahmen der Regeldefinitionen zu machen. Leider habe ich auch da bislang keine Formulierung gefunden, die INV akzeptiert hätte. Z.B. sowas: Komp(#Spalte(SE)#, #Renko/Variable %/1/A#)
Bei den Diskussionen zu Renko habe ich schon gefunden, dass es offenbar nicht ganz einfach zu machen ist. Ist es aber überhaupt hinzukriegen einen Robustheitstest für unterschiedliche Komprimierungen zu machen?
Danke schonmal für Eure Hilfe
Yoggi

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

2

Samstag, 30. Januar 2010, 18:59

Hallo Yoggi,

die Idee mit dem Tickchart ist gut.
Die Optimierung von Bricksize und Reversal ist nur möglich, wenn aus dem Tickchart heraus mit Hilfe von "Komp" auf Renko "hochgerechnet" wird.

Eine mögliche Umsetzung im Definitionsbereich des Tickchart-Handelssystems könnte lauten:

global const RenkoWert: [RenkoWert:0.081,0.01,0.5,0.01,0.5,0.01,3];
global const Reversal: [Reversal:1,1,10,1,10,1,3,I];

global calc New_Brick: ROC(Komp(#Spalte(SO)+Spalte(SC)#, #Renko/RenkoWert %/Reversal/A/O#),1,$)<>0;
global calc enterLong: New_Brick and Komp(#Spalte(SR)>0#, #Renko/RenkoWert %/Reversal/A/O#);
Viele Grüße von Anke

http://www.ascunia.de

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

3

Samstag, 30. Januar 2010, 19:07

Hallo,

probiere es mal so:

global const Variable:[1,1,500,1,500,1,3,I];
global calc RKomp:Komp(#Spalte(SE)#, #Renko/Variable %/1/A#);

RKomp

Folgendes: Du darfst "Variable" nicht über den Renko-Dialog direkt eingeben,denn das nimmt Investox nicht an und fordert eine numerische Eingabe! Wenn Du den Namen der Konstanten direkt in der Formel im Editor einfügt,sollte Investox dies annehmen (was ich leider auch nicht erklären kann)! Die Fallstricke bei vorkomprimierten Daten und unterschiedlichen Komps sind zu beachten! Eventuell sollte auch Herr Knöpfel das Phänomen näher betrachten! Falls Du N+ hast, kannst Du neben dem RB-Test die Brickgröße auch im Var-Trimmer visuell und live via Mausklick austesten!

Anke war fixer..:-)

Yoggi

unregistriert

4

Samstag, 30. Januar 2010, 20:38

Danke Anke, danke Udo,

damit komme ich jetzt wieder weiter.
Schönen Abend und schönen Sonntag
Yoggi

Yoggi

unregistriert

5

Mittwoch, 3. Februar 2010, 11:56

Hallo Anke, hallo Udo und natürlich alle anderen,

eine weitere Frage hat sich ergeben. Könnt Ihr bestätigen, dass dieses Verfahren nur funktioniert, wenn man eine mit global const ermittelte Konstante in die komp Formel einfügt. Ich versuche momentan die Variable, die die Brickgröße bestimmen soll, um eine Volatilitätskomponente zu erweitern. Wenn ich folgendes versuche:

global const RenkoWert: [RenkoWert:0.3,0.01,0.5,0.01,0.5,0.01,3]; {das war Ankes Vorschlag}
global const Reversal: [Reversal:2,1,10,1,10,1,3,I]; {das war auch noch Ankes Vorschlag}
global calc Vola:Komp(#Ref(ATR(20), -1)#, #T#); {das habe ich jetzt dazugefügt, Schwankungsbreite der letzten 20 Tage}
global calc RenkomitVola:Vola/150; {ebenfalls von mir, die Schwankungsbreite umgerechnet in einen möglichen Brickwert}

global calc New_Brick: ROC(Komp(#Spalte(SO)+Spalte(SC)#, #Renko/RenkomitVola{RenkoWert} %/Reversal/A/O#),1,$)<>0;
global calc enterLong: New_Brick and Komp(#Spalte(SR)>0#, #Renko/RenkomitVola{RenkoWert} %/Reversal/A/O#);
global calc enterShort: New_Brick and Komp(#Spalte(SR)<0#, #Renko/RenkomitVola{RenkoWert} %/Reversal/A/O#);{anstelle der mit global const ermittelten Konstanten von Anke habe ich hier versucht meine global calc Variablen einzufügen}

In diesem Fall erhalte ich die Fehlermeldung, die ich auch beim normalen Versuch über den Komp-Dialog eine Konstanten einzugeben erhalte.

Vorgang: Indikatorberechnung
Datenreihe: ESTX50 9-2009
Indikator: Komp
Meldung: Ungültige Komprimierungsangabe. Geben Sie bitte entweder Q, M, W, T, einen Minutenwert zwischen 0 und 1200 oder eine Anzahl Ticks (z.B. 10t) an.

Gibt es da auch noch einen Trick, das zu umgehen??
Danke schonmal fürs Überlegen
Alles Gute
Yoggi

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

6

Mittwoch, 3. Februar 2010, 13:08

Hallo Yoggi,

Zitat

Könnt Ihr bestätigen, dass dieses Verfahren nur funktioniert, wenn man eine mit global const ermittelte Konstante in die komp Formel einfügt.


Ja das ist so. Die Bricksize/Renkowert muss innerhalb von "Komp" über die gesamte Datenreihe konstant sein.

Du könntest alternativ versuchen, die Volakomponente wie folgt in den Code zu integrieren:

global const RenkoWert: [RenkoWert:0.3,0.01,0.5,0.01,0.5,0.01,3];
global const Reversal: [Reversal:2,1,10,1,10,1,3,I];
global const volawert: [Volawert:0.9,0.5,1,0.5,1,0.1,3];
global calc Vola:Komp(#Ref(ATR(20), -1)#, #T#);
global calc RenkomitVola:Vola/150;

global calc New_Brick: ROC(Komp(#Spalte(SO)+Spalte(SC)#, #Renko/Renkowert%/Reversal/A/O#),1,$)<>0;
global calc enterLong: New_Brick and Komp(#Spalte(SR)>0#, #Renko/Renkowert%/Reversal/A/O#) and renkomitVola>volawert;
global calc enterShort: New_Brick and Komp(#Spalte(SR)<0#, #Renko/Renkowert%/Reversal/A/O#) and renkomitvola>volawert;
Viele Grüße von Anke

http://www.ascunia.de

Yoggi

unregistriert

7

Mittwoch, 3. Februar 2010, 14:00

Vielen Dank, Anke!
Alles Gute
Yoggi

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

8

Mittwoch, 3. Februar 2010, 18:35

Hallo,

wenn man die Brickgröße variabel gestalten könnte, z.B. so:

Zitat

global const Variable:[1,1,500,1,500,1,3,I];
global calc RKomp:Komp(#Spalte(SE)#, #Renko/(Variable*VHF(open,20)) %/1/A#);


Die Komprimierung würde sich dann automatisch an den Markt anpassen, d.h. ruhiger Markt --> kleine Bricks und bei heftigen Kursbewegungen --> große Bricks

Das wäre eine super Sache.

Viele Grüße
Torsten