Einloggen Suche | Aktive Themen
Kursdatum eines Ereignisses Optionen
Uwe Michalowski
Geschrieben: Friday, May 25, 2012 9:36:02 PM
Gruppen: Kunde

Beiträge: 75

Hallo,

Ich handele primär langfristig trendfolgend, daher ist der EMA200 für mich von grosser Bedeutung. In diesem Kontext habe ich eine Handelsstrategie auf der Basis des Abstands vom EMA200 definiert. Diesen Abstand ermittele ich prozentual. Vor diesem Hintergrund möchte ich gerne wissen, wie hoch der maximale Abstand des Schlusskurses vom EMA200 jemals gewesen ist. Positive und negative Abweichungen differenziere ich nicht, ich gehe long oder short. Aber die maximale historische Bewegung des Titels gegenüber dem EMA 200 interessiert mich.

Dies ist im Chart einfach grafisch darzustellen, ich möchte die Daten aber auch gerne in einer Liste haben. Die max. Abweichung ermittele ich über folgende Formel:

Array1 := abs((close-mov(c,200,e))*100/mov(c,200,e));
result1 := Highest(Array1);

Ich habe das Array mit Absicht definiert. Preisfrage: wie bekomme ich das Datum der maximalen Abweichung in meine Liste? Oder geht es auch einfacher als in meiner Formel? Das Array sollte mit den Schlusskursen und den EMA200-Werten ein Kursarray sein und dies führt ja auch das Datum, oder? Jedenfalls funktioniert das Ganze im Chart einwandfrei und im Infofenster wird das Datum natürlich auch angezeigt. Aber wie definiere ich dies als weitere Spalte in meiner Liste?


Mit freundlichen Grüssen aus Bochum

Uwe Michalowski

Mit freundlichen Grüssen

Uwe Michalowski
Steffen Vohswinkel
Geschrieben: Sunday, May 27, 2012 6:22:59 PM

Gruppen: Kunde

Beiträge: 371

Tai-Pan End-of-Day
Hallo Uwe,

hast Du schon mal Dein Array1 im Debugger angeschaut. Da findest Du den Aufbau mit Datum.
Den maximalen Abstand hast Du gut berechnet. Der Wert ist gut berechnet.
Nun liegen Dir also der Maximalwert und das Array1 vor.

Wenn man nun das Datum zum Maximalwert suchen will, kann man das ganz manuell erledigen:
Man ruft das Array1 im Dugger auf, beginnt am Dateiende mit dem letzten Kurs und geht dann mit der Bild-Taste bis zum Anfang der Datei. Parallel wird der Maximalwert gesucht.

Das muß man nun nur noch im Programm organisieren.
Nun könnte man wie folgt vorgehen:

Man verwendet z.B. eine While - Do - Schleife vom letzten bis zum ersten Index und sucht
den Maximalwert.
Dabei muß man "Index" für "Index" das Array1 absuchen.
Ist der Wert gefunden, liegt automatisch schon der aktuelle Index vor.
Das Datum kann man mit der Funktion "DateAt" ermitteln.

Dann verwendest Du die Formel einfach der gewünschten Listenspalte.

Grüße
Uwe Michalowski
Geschrieben: Sunday, May 27, 2012 9:13:07 PM
Gruppen: Kunde

Beiträge: 75

Hallo Taxus,

Vielen Dank für die schnelle Antwort. Zwischenzeitlich bin ich zu der gleichen Lösung wie Du gekommen. Die Do-While-Schleife habe ich durch die "FINDNEXT"-Anweisunng ersetzt, dies erspart ein paar Codezeilen. Ich werde künftig etwas intensiv er nachdenken, bevor ich frage --)


Für alle Interessierten hier mein Formeltext:


Array1 := abs((close-mov(c,200,e))*100/mov(c,200,e));// Berechnung Kursarray
Highest_Array1 := Highest(Array1); // Findet den Maximalwert im Array1

// Erste 2 Zeilen=Formel für Indikator in Chart

i := FindNext(Array1,0,Highest_Array1); // Findet den Index für Maximalwert
Highest_Array1_Date := DateAt(Array1,i); // Findet das Datum zum Index "i" in Array1
result1 := Highest_Array1_Date; // Gibt das Datum als Spalte in der Liste aus

P.S. Ich heisse Uwe -)


Viele Grüsse aus Bochum

Uwe Michalowski


Mit freundlichen Grüssen

Uwe Michalowski
Steffen Vohswinkel
Geschrieben: Monday, May 28, 2012 10:15:11 AM

Gruppen: Kunde

Beiträge: 371

Tai-Pan End-of-Day
Hallo Uwe,

Deine Idee mit FindNext ist gut.
Danke. Sorry Uwe, es passiert mir immer wieder. Woran liegt das wohl.

Grüße
Benutzer die diese Diskussion aktuell lesen
Guest

Powered by Yet Another Forum.net version 1.9.1.8 (NET v4.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.

Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz finden Sie hier