Diamond BTWFMgr Position Exit Manager
                    (Professional Software Solutions)

The "Position Exit Manager (PEM)" tool is integrated and contained within the BTWFMgr.
PEM allows you to easily detect the optimal exit logic of your trading strategy for a given set of positions/permutation.
It can detect the optimal exit logic variation, at a lighting speed of 100,000 variations per second, which could take days in Tradestation.

The " Position Exit Manager (PEM)" allows you to "plug in" any combination of different exit logic elements,
like target, stops, breakeven etc. - all details defined in the small definition file.

Below is an example showing how PEM can maintain several parallel exit "envelopes", to protect your positions and profits:

Green Target
exit line
Green Target exit line - a combination of:
a) Fixed Target exit (initial flat green section)
b) Exponential downward Target exit (descending green target line)
Magenta StopOut
exit line
a) Fixed StopOut exit (initial flat magenta section)
b) Exponential upward StopOut exit (ascending magenta StopOut line)
c) New Target/Breakeven jump when a profit of 20 ticks
    has been reached (new horizontal section)
d) Continuation of the exponential upward StopOut exit,
    when the flat new Target/Breakeven StopOut line is smaller
    than the exponential line.
Easy Exit Definition All of these exit logic elements are defined in a small definition file:
Target:60|0             - fixed Target
TargetExp:105|-0.9      - exp Target
Stop:40|0               - fixed Stop
StopExp:55|0.60         - exp Stop
BrkEvenTarget:20|-10    - Breakeven Stop switch

Very easily you can change, customize and optimize these settings,
(details on each function are below, values specified in tick units)
  Instead of the the number of ticks you can also define a dollar amount (default)
for the following logic elements:
Target:$100>$300/50 
this will vary the Target between $100 and $300 in steps of $50, 
testing targets of $100,$1560,$200,$250,$300
(using the dollar amount per tick for conversion)

Target:T10>T30/5 
this will vary the Target between 10 and 30 in steps of 5, 
testing targets of 10,15,20,25,30.
   

Position Exit Manager (PEM) Definition File
The details of your exit logic definition are stored on a plain text file (C:\BTWFMgr\*.pemdef).
To detect the optimal exit logic, you can specify value ranges in each exit element, to test which value works best.
Here is a simple example, how to test various target exits:
Target:10>30/5
This will vary the Target between 10 and 30 in steps of 5, testing targets of 10,15,20,25,30.

Instead of the the number of ticks you can also define a dollar amount (default) for the following logic elements:
Target:$100>$300/50 - this will vary the Target between $100 and $300 in steps of $50, testing targets of $100,$1560,$200,$250,$300
                                                      (using the dollar amount per tick for conversion)
Target:T10>T30/5 - this will vary the Target between 10 and 30 in steps of 5, testing targets of 10,15,20,25,30.

Position Exit Manager (PEM) Exit Element Details

The various exit logic elements can be combined in any combination,
easily providing complex exit logic permutations, protecting your profits and positions at the optimum.

Below is a detailed list of all the exit logic elements/functions currently available in PEM.
Unless otherwise specified, all values are specified in tick units;
the smallest trading unit/increment, ES=0.25, ER2=0.1, Stocks=0.01, FOREX=pips/0.0001 etc.
(In the examples below - one vertical line represents 8 ticks)

   
Target
Exit
Functions
Two Target basic exit function are available:

Linear Target Exit Target:{Distance}|{Angle}
Distance in ticks from entry
Angle = ticks change per bar
Exponential Target Exit TargetExp:{Distance}|{Angle}
Distance in ticks from entry
Angle = ticks percent change per bar
   
Fixed Target price exit:

Example:
Target:20|0

Exit 20 ticks away from the entry
Ascending linear Target price exit

Example:
Target:20|0.15

Exit 20 ticks away from the entry
increase 0.15 ticks on each bar
Descending linear Target price exit

Example:
Target:20|-0.1

Exit 20 ticks away from the entry
decrease 0.1 ticks on each bar
Ascending exponential Target price exit

Example:
TargetExp:10|1.3

Exit 10 ticks away from the entry
increase distance 1.3% on each bar
Descending exponential Target price exit

Example:
TargetExp:45|-1.1

Exit 45 ticks away from the entry
decrease distance 1.1% on each bar
   
   
Stop Out
Exit
Functions
Three StopOut basic exit function are available:

Linear StopOut Exit Stop:{Distance}|{Angle}
Distance in ticks from entry
Angle = ticks change per bar (always positive)
Exponential StopOut Exit StopExp:{Distance}|{Angle}
Distance in ticks from entry
Angle = ticks percent change per bar (always positive)
Trailing StopOut Exit Trail:{Distance}|{Angle}
Distance in ticks from entry
Angle = ticks percent change per bar (always positive)
Age based StopOut Exit StopAge:(Age}|(StopDistance}
Age=Number of bars since the position entry when to set the new StopOut/Target
StopDistance=StopOut Distance in ticks from entry of the new StopOut/Target
To force an exit at a given age, just specify a large negative StopOut:
BrkEvenAge:(Age}|-9999
Fixed StopOut exit:

Example:
Stop:20|0

Exit 20 ticks away from the entry
Ascending linear StopOut price exit

Example:
Stop:30|0.20

Exit 30 ticks away from the entry
decrease distance 0.20 ticks on each bar
Ascending exponential StopOut exit

Example:
StopExp:55|0.6

Exit initially 55 ticks away from the entry
decrease distance 0.6% on each bar
Fixed trailing StopOut exit

Example:
Trail:30|0

Exit 30 ticks away from the
highest High since the entry
(Indicated here with the green dotted line)
Dynamic trailing StopOut exit

Example:
Trail:45|0.2

Exit 45 ticks away from the
highest High since the entry
(Indicated here with the green dotted line)

Decrease the distance by distance 0.20
ticks on each bar
   
Other
Exit
Functions
The following other exit function are available:

BreakEven switch when Target is reached BrkEvenTarget:{TarDistance)|(StopDistance}
TarDistance=Target Distance in ticks from entry when to set the new StopOut/Target
StopDistance=StopOut Distance in ticks from entry of the new StopOut/Target
StopOut switch on a Position Age BrkEvenAge:(Age}|(StopDistance}
Age=Number of bars since the position entry when to set the new StopOut/Target
StopDistance=StopOut Distance in ticks from entry of the new StopOut/Target
To force an exit at a given age, just specify a large negative StopOut:
BrkEvenAge:(Age}|-9999
End of Day Exit EoDay:{TimeOfDay}
TimeOfDay=Time when a position is to be exited (regardless of price) (HHMM)
1300 = 1:00PM, 940=9:40AM
   
BreakEven when Target is reached

Example:
BrkEvenTarget:20|0

Set StopOut to breakeven (EntryPrice)
when a 20 tick target has been reached
New Target when Target is reached

Example:
BrkEvenTarget:20|-10

Set a new Target to 10 ticks above the EntryPrice
when a 20 tick target has been reached
New StopOut when Target is reached

Example:
BrkEvenTarget:20|10

Set StopOut to 10 ticks below the EntryPrice
when a 20 tick target has been reached
BreakEven when a Position Age is reached

Example:
StopAge:92|0

Set StopOut to breakeven (EntryPrice)
when the position is 92 bars old
New StopOut when Position Age is reached

Example:
StopAge:92|-20

Set StopOut to 20 ticks above the EntryPrice
when the position is 92 bars old
New StopOut when Position Age is reached

Example:
StopAge:92|10

Set StopOut to 10 ticks below the EntryPrice
when the position is 92 bars old
Always exit when the end of day time is reached

Example:
EoDay:1300

Close the position (regardeless of price)
when the time of 13:00 is reached
(End of Day exit)