Dienstag, 16. April 2024, 08:37 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Traktor

unregistriert

1

Dienstag, 6. Oktober 2020, 16:25

Markierung temporäres Hoch

Guten Tag!

man kann ja in Investox leicht ein temporäres Hoch tH finden, indem man über zwei ref()-Befehle zwei Perioden miteinander vergleicht. Ist das Hoch der Vorkerze höher als das aktuelle Hoch, war die Vorperiode - im Rückblick - klar ein tH. Über den HHV() kann man das mit definiertem zeitlichen Rückblick auch markieren, als Level oder farblich oder wie auch immer, alles sehr schön.

Jedoch muss man sich beim HHV() auf eine Periodenanzahl festlegen. Das heißt nach einigen Perioden "sackt das Hoch ab" und der Level fällt ab, bzw. wird nicht gehalten. Das äußert sich so, daß die Hochmarkierungslinie im Wert sinkt, entsprechend der 'drunterliegenden kleiner werdenen Kurse".

Ich suche nach einer Möglichkeit den Wert des tH rechnerisch zu halten, und zwar so lange bis das Hoch einer neuen Periode das alte tH übertrifft. Also quasi ein umgedrehter Stop, der neuen Hochs folgt mit der Möglichkeit den Wert (evtl. auch Zeit) des Ereignisses zu benennen.

HHV() löst das Problem wie beschrieben nur bedingt, da niemals im Vorhinein klar ist, wielange es dauert bis das alte tH übertroffen wird.

Der Three Line Break TLB() wäre eine weitere Möglichkeit, jedoch ist der PriceAction und nicht zeitabhängig. Ich befürchte, daß die Skalierung, die der TLB() vornimmt zu stark abweicht von der zeitlichen Abfolge.


AlltimeHV() geht auch nicht, da es Bereiche in der Korrektur gibt bei denen der Wert viel zu hoch ist. Ich suche so eine Art

PartTimeHV()... ;)

Wie macht man sowas am Elegantesten?

Alles klar?
Beste Grüße

alexander

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Dienstag, 6. Oktober 2020, 18:57

ValueWhen()
Gruss
Bernd

Traktor

unregistriert

3

Dienstag, 6. Oktober 2020, 19:21

Im Prinzip richtig, danke Bernd, so habe ich es vorher schon gemacht, however:

Es bleibt die Abhängigkeit von einer definierten Periodenanzahl, in diesem Fall sieht es mit 44 gut, aus, klappt aber nicht immer.

Sicht:

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Dienstag, 6. Oktober 2020, 22:37

Ohne Periodenzahl auskommend hilft vielleicht sowas wie:

Quellcode

1
Schalter(0, HH > Ref( HH, -1), HH, 0, -1)


Sonst müsstest Du mal den Auslöser für das Zurücksetzen definieren, Deine Beschreibung ist ein wenig ... schwammig; jeden kann ich mir nicht vorstellen, wie man darauf codieren soll:
AlltimeHV() geht auch nicht, da es Bereiche in der Korrektur gibt bei denen der Wert viel zu hoch ist.
Gruss
Bernd

Traktor

unregistriert

5

Mittwoch, 7. Oktober 2020, 10:51

Richtig, einen ähnlichen Schalter()-Code hatte ich benutzt für die Farbstudie.

Zitat

... Bereiche in der Korrektur gibt bei denen der Wert viel zu hoch ist.

Damit meine ich den zunehmenden Abstand des roten AllTimeHigh zum aktuellen Kursgeschehen.


Zitat

... den Auslöser für das Zurücksetzen definieren

  • suche vom (relativen) Tief ausgehend die erste Kerze deren high kleiner als das der Vorkerze ist: geschafft, siehe oben
  • definiere Zeit und Wert, bei dem ein höheres Hoch das oben definierte Hoch übertrifft: nicht geschafft bisher!
    ...

Wahrscheinlich liegt die Lösung darin, daß man nicht um die Definition entweder
  • der Anzahl der Perioden oder
  • das Maß der Preisänderung

herumkommt...

:|

Also den Zurücksetzungstrigger...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Traktor« (7. Oktober 2020, 11:16)


Traktor

unregistriert

6

Freitag, 16. Oktober 2020, 17:13

Für die Kapitalkurve gibt es folgende Funktion, die ich für den KursChart haben bzw. programmieren möchte:

Zitat

Maximale Perioden in Verlustzone
Maximale Dauer in Perioden des Systems am Stück in der Verlustzone.

Gibt an, wie viele Perioden sich die Kapitalkurve im getesteten Zeitraum maximal am Stück in der Verlustzone befand (im Vergleich zum Anfang der Kapitalkurve). Liefert ein Maß dafür, wie lange „Durststrecken" das System bringt und welches Durchhaltevermögen es dementsprechend abverlangt.

Neben der Dauer möchte ich den Start- und Endpunkt der Korrektur, sowie deren Kurswerte zeitlich genau markieren und damit rechnen können.

Wie macht man das?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Calc TLBH: Ref(TLB(High, 3),-1);
Calc TLBL: Ref(TLB(Low, 3),-1);
Calc Level: 
If(
ROC(TLBH, 3, $)>1, TLBH, If(
ROC(TLBL, 3, $)<1, TLBL, close)
);

Calc TH1: Ref(High,-0)<Ref(High,-1); {Korrekturstart}
Calc TH2: TH1;

Calc Datum1: BarsSince(TH1, 2);
Calc Datum2: BarsSince(TH2, 1);

Calc Kurs1: ValueWhen(TLBH, TH1, 2, V); {Liefert den Kurs an Datum1}
Calc Kurs2: ValueWhen(TLBH, TH2, 1, V); {Liefert den Kurs an Datum2}

Calc Linie: ÜL(Datum1, Kurs1, Datum2, Kurs2, Lin); 

Level


So jedenfalls nicht, da die Levels oft bereits vor einem neuen Hoch aufhören, damit ist weder die Dauer, noch der Endpunkt, noch deren Kurs klar.

Idee?