Einloggen Suche | Aktive Themen
Pfeil für Jahreshoch Optionen
Engelbert Schoeppl
Geschrieben: Friday, November 4, 2016 3:37:33 PM
Gruppen: Kunde

Beiträge: 15

Hallo Taipaner,

Ich habe die Formel für das Anzeigen eines Allzeithochs versucht umzuwandeln um
das Kurs - Jahreshoch anzuzeigen.


Hier mein Fehlversuch

DrawArrow Beispiel }

// Pfeile mit Zeichensatz 'Wingdings 3'

Enum eArrow(Left = 231);

Function DrawArrow (AArrow: Integer; ADateTime: datetime; AKurs: Double; ATextColor: Integer = 0): Text;
Begin
tArrow := DrawText ("" + AArrow, ADateTime, AKurs, ATextColor, Leer, 14);
tArrow.FaceName := "Wingdings";
Case AArrow Of
eArrow.Left: tArrow.Format := TextFormat.Right Or TextFormat.VCenter;
End;
Result := tArrow;
End;

Result := DrawArrow (eArrow.left,date.DateTimeAt(260) ,Lastvalue(ph(count(h))){LastValue(H)}, green);

Für mich ist die Formelsprache zum Haareausreißen. Kann wer helfen ?
Norbert Kinzel
Geschrieben: Friday, November 4, 2016 6:12:43 PM
Gruppen: Kunde

Beiträge: 270

Tai-Pan End-of-Daymarket maker
Zitat:
Für mich ist die Formelsprache zum Haareausreißen.


Für mich auch. Bekomme deshalb wahrscheinlich irgendwann mal eine Glatze. Könnte L+P ein Seminar "Programmiersprache" anbieten? Mir würde für's erste eine Einführung in die Programmierung von eigenen Indikatoren und Filtern reichen.

Gruß
Norbert
Norbert Kinzel
Geschrieben: Friday, November 4, 2016 6:20:27 PM
Gruppen: Kunde

Beiträge: 270

Tai-Pan End-of-Daymarket maker
... oder, wenn's nicht anders geht, ein Webinar.
Engelbert Schoeppl
Geschrieben: Saturday, November 5, 2016 4:23:04 PM
Gruppen: Kunde

Beiträge: 15

Was ist das eigentlich für eine Scriptsprache ?

Result := DrawArrow (eArrow.left, LastDate(H).ToDateTime(), Lastvalue(ph(count(h))){LastValue(H)}, green);

Es geht mir nur darum wir ich

lastdate(h).ToDateTime()

was den Gesamtzeitraum abbildet in ein Jahr abändere.
Da werden sich einige denken, ich weis es aber ich sag es nicht. Traurig.
Steffen Vohswinkel
Geschrieben: Friday, December 23, 2016 8:23:26 PM

Gruppen: Kunde

Beiträge: 371

Tai-Pan End-of-Day
Hallo Engelbert,

also ich empfehle Dir folgende Vorgehensweise ganz allgemein:

1. Die vorhandene Formel am Beispiel ausprobieren.
2. Anschauen was die Formel leistet.

Im Beispiel setzt die Original-Formel für den gesamten Kurszeitraum
- jeweils zum letzten Kurs einen Pfeil für das ATHigh und das ATLow.

Wenn Du also nur das letzte Jahr betrachten willst, dann darf auch nur die aktuell entsprechende
Anzahl von Kursen betrachtet werden. Diese muß für jeden neuen Börsentag neu berechnet werden.

Ansonsten muß man die Formel genau übernehmen.

3. Empfehle ich den Debugger zu verwenden.

Die Tai-Pan-Formelsprache ist nicht so schwer. Es liegt einfach daran, daß man sich intensiv einarbeiten muß und am besten halt an den Beispielen. Darüberhinaus ist es wichtig die Gemeinde zu befragen.

Ich halte mich nicht zurück, wenn ich etwas gelesen habe und die Lösung kenne oder einen Ansatz habe.

Schöne Weihnachten an alle.

Steffen
Thorsten Kitzig
Geschrieben: Tuesday, February 28, 2017 12:07:58 PM
Gruppen: Insider

Beiträge: 22

Tai-Pan RealtimeTai-Pan End-of-Day
Ich versuche mal die Verwirrung aufzulösen.

Die Funktion DrawArrow im Script FML_Allzeit_Hochkurs plaziert ein Zeichen aus dem Zeichensatz "Wingdings" an der angegebenen Datumsstelle und Kurshöhe in der gewünschten Farbe.

Result := DrawArrow (eArrow.left, LastDate(H).ToDateTime(), Lastvalue(ph(count(h))), Red);

Dieser Aufruf der Funktion "DrawArrow" mit den aktuellen Parameter bewirkt folgendes:
1. Der Pfeil nach links : eArrow.left

2. Das letzte Datum der Kursreihe H als DateTime : LastDate(H).ToDateTime()
Plazierung also immer ganz rechts im Chart. .ToDateTime() wird verwendet damit dieses Script auch in einem Intraday-Chart funktioniert.

3. Der letzte Wert der Berechnung von PH: Lastvalue(ph(count(h))
Hierbei wird PH über alle Kurse der Kursreihe H berechnet weil der Parameter von PH immer die gesamte Anzahl aller Kurse ist. (count(h)) Es kommt also immer der Kurs des Alltime-High dabei herraus.

Um nur die Kursdaten des letzten Jahres zu berücksichtigen muss (count(h)) einfach durch (260) ersetzt werden. Dann hat der letzte Wert von PH immer den letzten Hochkurs der letzten 260 Kurstage (ca. 1 Jahr)

Die Result-Zeile sollte also so aussehen:

Result := DrawArrow (eArrow.left, LastDate(H).ToDateTime(), Lastvalue(ph(260)), Red));

Ich würde eine Kopie der Formel FML_Allzeit_Hochkurs anlegen und dann ändern und den Namen auf JahresHoch anpassen.

Grüße

Thorsten Kitzig
Engelbert Schoeppl
Geschrieben: Thursday, March 2, 2017 5:11:04 AM
Gruppen: Kunde

Beiträge: 15

Danke Thorsten,
hat geklappt.
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