Die Funktion "With"
Mithilfe der Funktion With
lassen sich berechnete Werte mehrfach weiterverwenden, ohne dass sie Variablen zuweisen zu müssen. Außerdem erleichtert sie das Übertragen von Ausdrücken in andere Formeln, wenn die Eingabe zu den übertragenen Ausdrücken in der neuen Formel nicht von vornherein vorliegt, sondern erst berechnet werden muss. Allgemein gesprochen bewertet With
einen Ausdruck unter dem Kontext eines neuen, anzugebenden Objekts.
Beispiel 1
Der Ausdruck (High+Low)/2
beschreibt den Mittelwert von High- und Low-Werten für ein Wertpapier als Zeitreihe, oder in Tabellen den letzten Wert dieser Zeitreihe. Soll nun eine Spalte mit dieser Berechnungsformel als Mittelkursanzeige in eine Limitliste aufgenommen werden, so entsteht die Situation, dass die Funktionen High
und Low
nicht unmittelbar auf ein Limitobjekt angewendet werden können und der genannte Ausdruck in Limittabellen undefiniert ist.
Die Formel:
$wp:=wp;
$wp.High+$wp.Low)/2
beschreibt in diesem Fall eine funktionierende Variante dieser Formel, wobei hier für jeden Zugriff auf das Wertpapier die Variable "$wp" eingefügt wird. Mithilfe der Funktion With
lässt sich die Umstellung der Formel leichter vollziehen:
With[WP]((High+Low)/2) oder auch
WP.with((High+Low)/2)
Beispiel 2
Ein weiteres Anwendungsbeispiel finden Sie in folgendem Ausdruck, der sich auf Wertpapiere bezieht und ein Momentum berechnet:
With[Close] (object-Before[1])
Hier wird With
dazu verwendet, um die Doppelberechnung der Funktion Close
zu sparen.