Define limit strategies
Module "Advanced Technical Analysis"
To define a limit scheme, the "Limit" parameter is used to pass a function (an anonymous macro) that is to make the decision on whether to exit a trading position. This function has the following parameters:
- Security: the evaluated security.
- Long(Boolean): Indicates whether the position is long ("True") or short ("False").
- EntryPrice(NumberWithTime): Entry price and date (i.e. the security price on the day following the signal).
- CurrentPrice(NumberWithTime): current exit price with date.
The function should return a Boolean as the result, "True" means "Limit exit". The limit function is evaluated from the entry point of a trading phase for each subsequent price (on a daily basis) until it returns "True" (or other signals end the trading phase).
Beispiel 1
#$[$Long;$EntryPrice;$CurrentPrice]( if($Long; $CurrentPrice<$EntryPrice*(1-$Losslimit); $CurrentPrice>$EntryPrice*(1+$Losslimit)) )
This function tests whether the price has fallen below the entry price minus a configurable percentage($LossLimit) (nontrailing loss). The evaluation must be mirrored for short positions.
Beispiel 2
$TrailEntry:= -1;$LimitFunction:= #[$Long;$EntryPrice;$CurrentPrice]( $TrailEntry:=if($TrailEntry<0;$EntryPrice;$TrailEntry); $TrailEntry:=if($Long; Max($TrailEntry;$CurrentPrice); Min($TrailEntry;$CurrentPrice)); if($Long; $CurrentPrice<$TrailEntry*(1-$Losslimit); $CurrentPrice>$TrailEntry*(1+$Losslimit)) )
This is a simulation of the trailing loss using a limit function. In the variable $TrailEntry variable, the entry price is tracked and adjusted according to the current prices during the limit evaluation.