Donnerstag, 18. April 2024, 12:52 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Norbert

unregistriert

1

Mittwoch, 24. April 2013, 15:30

adaptiver Channel Breakout

Hallo! Vielleicht kann mir jemand weiter helfen ?

Gibt es eine Möglichkeit die Anzahl der Perioden eines Indikators von dem Ausgabewert eines anderen Indikators beeinflussen zu lassen?

Hintergrund ist die Idee eines adaptiven Channel Breakouts. (John Hill: "Der ultimative Trading Guide", Seite 262).

Die Anzahl der Perioden, also HHV(Close, Perioden) und LLV(Close, Perioden), soll sich so verändern wie z.B. die Standardabweichung. Wenn also die Standardabweichung z.B. um 5 % von gestern auf heute steigt, soll auch die Periodenanzahl 5% größer als gestern sein. Das Problem ist, dass HHV und LLV Const-Werte verlangen und keine Calc-Werte.

Also folgendes funktioniert nicht:

Calc Trendstärke: ROC(StdAbw(Close, 20, 1), 1, %);
Calc CB_oben: Ref(HHV(Close, 20 + Trendstärke), -1);

Gibt es einen Trick ?

Das zweite Problem wäre dann, die so kalkulierte Periodenlänge zu begrenzen, also z.B. min 20 Perioden und max 70 Perioden. Aber so weit komme ich gar nicht.

Wäre sehr nett, wenn mir jemand helfen könnte.
Grüße
Norbert

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

2

Mittwoch, 24. April 2013, 15:35

HHVVar() sollte funktionieren
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Norbert

unregistriert

3

Mittwoch, 24. April 2013, 15:49

Danke für die schnelle Antwort.
Gruß
Norbert

Norbert

unregistriert

4

Freitag, 26. April 2013, 10:57

Hallo !

HHVVar und LLVVar funktionieren wunderbar. Ich habe diese Indikatoren völlig übersehen.

Calc Standardabweichung: ROC(StdAbw(Close, Perioden, 1), 1, %);
Calc CB_oben: Ref(HHVVar(Close, Perioden + Standardabweichung), -1);
Calc CB_unten: Ref(LLVVar(Close, Perioden + Standardabweichung), -1);

Aber jetzt ergibt "Perioden + Standardabweichung" zeitweise extrem große und kleine Werte. Kann man die so kalkulierte Periodenlänge irgendwie begrenzen? Das Ergebnis "Perioden + Standardabweichung" sollte z.B. nicht kleiner 20 und nicht größer 70 sein.

Könnte mir jemand freundlicherweise weiter helfen? ?(
Beste Grüße
Norbert

Peratron

unregistriert

5

Freitag, 26. April 2013, 11:15

Eventuell so ungefähr

If( Perioden + Standardabweichung > 70, 70, Perioden + Standardabweichung)
If( Perioden + Standardabweichung < 20, 20, Perioden + Standardabweichung)

oder probier mal mit zwischen()

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

6

Freitag, 26. April 2013, 11:59

ich denke so ist es eleganter und schneller:

Quellcode

1
min(max(perioden+Standardabweichung,20),70)
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Norbert

unregistriert

7

Freitag, 26. April 2013, 12:20

Hallo Peratron, hallo Lenzelott,

danke für die schnelle Hilfe.

Habe den Eindruck, dass die Idee eines adaptiven Channel Breakouts, wie ihn John Hill beschrieben hat, Sinn macht. Möglicherweise ist man aber zur Messung der Trendstärke mit einem VHF oder einem anderen Indikator besser bedient.

Viele Grüsse
Norbert

Peratron

unregistriert

8

Freitag, 26. April 2013, 12:30

ich denke so ist es eleganter und schneller


Ja! :thumbsup:

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

9

Sonntag, 5. Mai 2013, 16:40

Hallo,

Zitat

ROC(StdAbw(Close, Perioden, 1), 1, %)


hier sind mir 2 Sachen aufgefallen:
- die Periode darf nicht zu klein sein, sonst kommt Fehlermeldung (sollte man Wissen, bevor man lange nach dem Fehler sucht)
- die Berechnung liefert eine Gleitzahl, d.h. hier sollte man vielleicht besser auf Ganzzahl auf oder abrunden

z.B. so:
Round(ROC(StdAbw(Close, Perioden, 1), 1, %)) //wenn <16 Perioden, dann Fehlermeldung "Div. durch 0"

Viele Grüße,
Sten

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

10

Sonntag, 5. Mai 2013, 19:45

PS:
Angenommen der Indikator StdAbw() optimiert sich auf 50 Perioden.
Kann man in etwa abschätzen, wieviele Perioden das HS mindestens braucht, damit die StdAbw() korrekt berechnet wird?

Viele Grüße,
Sten

Norbert

unregistriert

11

Freitag, 10. Mai 2013, 12:18

Hallo Sten,

danke für Deine Tipps. Ich habe Investox zwar schon eine ganze Weile, aus Zeitgründen kann ich mich aber erst seit ein paar Monaten intensiv mit dem Programm beschäftigen. Damit häufen sich aber erst mal die Fragen. Ich hoffe, das ändert sich irgendwann mal.
Damit keine Missverständnisse aufkommen: Ich benutze nur EoD-Daten.

Zitat

- die Periode darf nicht zu klein sein, sonst kommt Fehlermeldung (sollte man Wissen, bevor man lange nach dem Fehler sucht)
Meinst Du die ROC-Periode ? Wie sonst kann ich die prozentuale Veränderung zum Vortag ermitteln?
Habe das ganze im engen Rahmen optimiert und bekomme tatsächlich einige Fehlermeldungen. (Division durch Null)
Oder meinst Du die Periodeneinstellung der Standardabweichung?

Zitat

- die Berechnung liefert eine Gleitzahl, d.h. hier sollte man vielleicht besser auf Ganzzahl auf oder abrunden
z.B. so:
Round(ROC(StdAbw(Close, Perioden, 1), 1, %)) //wenn <16 Perioden, dann Fehlermeldung "Div. durch 0"

Ich bin bisher davon ausgegangen, dass Investox nur ganze Perioden berechnet und selbstständig auf- oder abrundet. Wie sollte Investox z.B. halbe Perioden berechnen können? Liege ich damit falsch?
Wie kommen die von Dir genannten 16 Perioden zustande?


Zitat

Angenommen der Indikator StdAbw() optimiert sich auf 50 Perioden.
Kann man in etwa abschätzen, wieviele Perioden das HS mindestens braucht, damit die StdAbw() korrekt berechnet wird?

Kannst Du das konkretisieren? Verstehe ich nicht.

Viel Grüße
Norbert

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

12

Samstag, 11. Mai 2013, 20:09

Hallo Norbert,

Zitat

Meinst Du die ROC-Periode ?

Nein, die fett markierte P. meine ich. ROC(StdAbw(Close, Perioden, 1), 1, %) //wenn <16 Perioden, dann Fehlermeldung "Div. durch 0"
Übrigens kann man statt % auch $ nehmen, dann sind zu mindestens bei mir auch kleinere Perioden möglich, bei der Optimierung.

Zitat

Wie kommen die von Dir genannten 16 Perioden zustande?

EUR.$ bei 60min ... wird wahrscheinlich individuell verschieden sein, aber je kleiner der Periodenwert, um so wahrscheinlicher wird dann die Fehlermeldung wie oben beschrieben kommen bei %

Zitat

Kannst Du das konkretisieren? Verstehe ich nicht.

Auf dem Produktivsystem ist es aus Performance- & Ressourcengründen sinnvoll, die Periodenanzahl auf dem das HS läuft über das Leistungsschema so weit wie nur irgend wie möglich zu reduzieren.
Natürlich aber auch nicht zu sehr, so dass dann andere Signale generiert werden. Ist etwas knifflich deshalb meine Frage, ob es vielleicht schon eine Faustformel gibt , z.B. so "StdAbw(50 Perioden..) --> dann nimm mindesten 10fache Periodenanz. =500"...nur ein Beispiel

Viele Grüße,
Sten

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sten« (12. Mai 2013, 01:07)


Ganesha

unregistriert

13

Sonntag, 12. Mai 2013, 11:12

Hallo,

grundsätzlich: Bei roc() kann es immer dazu kommen, dass das Ergebnis 0 ist. Unabhängig von der Anzahl der Perioden, einfach bedingt dadurch was roc() macht.

Die Lösung geht zum Beispiel so:

Quellcode

1
2
calc prerec: roc(foo, 12, %);
calc roc: if(preroc=0, 0.00001, preroc);


Das Ergebnis von ROC wird also mit einem beliebigem, möglichst kleinem Wert ersetzt.

@Herr Knöpfel: Ich habe es nicht probiert, aber wenn round() mit einem div/0 reagiert, ist das IMO ein Bug. round(0) ist einfach 0.

Viele Grüße

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

14

Montag, 13. Mai 2013, 00:53

Wenn ich mich noch dunkel erinnern kann, dann liefert ROC unter bestimmten Bedingungen eind DIV bei 0 Error wenn man % Ergebnisse haben möchte.

Die Roundfunktion ist diesbezüglich über jeden Zweifel erhaben.
einfach Round(0) im Chart als Formel einfügen.
qed
If you think it´s expensive to hire a professional, wait until you hire an amateur.