The purpose of this presentation is to increase the understanding
of the behavior of the LSS system and the parameters involved.
Click here to return to: LSS Information page
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
Inputs: LengLSS(6), {One of 2 TP detection parameters }
LengSMO(3), {Smoothing of LSS computation to use in}
LengPSMO(0), {Smoothing of price before compute. }
The method used to compute and smooth an indicator value that I
have chosen to call LSSValue because that is how George Angell
referred to it in some advertising literature that he sent out
some time ago.
If LengPSMO=0 then begin
HSmo= . . . . ;LSmo= . . . . ;
CSmo= . . . . ;OSmo= . . . . ;
End
Else begin
HSmo= . . . .
LSmo= . . . .
CSmo= . . . .
OSmo= . . . .
End;
HighN= . . . .
LowN = . . . .
X= . . . .
Y= . . . .
Z= . . . .
LSSValue=100*(X+Y)/(Iff(z<=0,X+Y+.01,z)*2);
LSSValue=T3Average_Damp(LSSValue,LengSMO,-80)-50;
Those of you who own the system can refer to your open code
for the explicit meaning of this and the detailed description
of the input parameters).
This is the real heart of the system so let us investigate what
happens with everything else turned off and we only use these
parameters and:
LSSDvMul(1.1), {A multiplier for the LSS derivative }
Which is used to compute the derivative of the LSSValue indicator
and by comparing the derivative and the value determine the points
at which to enter/exit trades.
And here it is "warts and all". Parameters very simple:
LengLSS = 6
LengSMO = 3
LengPSMO = 0
LSSDvMul = 1.0
Which happen to be the default parameters except for LSSDvMul
which has been set to 1.0 so it has influence only to the
extent for which the system was originally designed.
As you can see there is a significant problem when the symbol
with which we are working hits a trend of any significance.
That is as it should be as the LSS concept expects cyclic
phenomena in whatever market is being traded with this concept.
There are a couple of ways to handle the "trend" problem:
1. Set up a "trend" and only trade in the direction of trend.
2. Stop trading and reverse after a certain number of days
has passed in the trade.
3. Stop trading (no reverse, just exit) after a certain number
of days has passed in trade. (Days means Bars).
For the situation defined in 1. above we may choose a long or
a short trend length. The following pictures will show the
effect of both. You will notice that once you include a "trend"
the system is NOT a LSS system but rather a "trend" system which
only uses LSS points for high probability entries and exits.


The next suggestion was to make use of our stop loss functions
based on a number of days after entry being required to kick the
exit into effect.
The first look is where we allow the system to REVERSE directions
whenever a stoploss point is reached.
To evaluate the best parameters for this we ran an optimization
over a range of days and length for a moving average to be used
as the stoploss point. The optimization results over a small but
pertinent portion of the optimization are:

StopLoss functions can dramatically hurt or even destroy a good system.
I made a graph of the returns, sorted by dollars return, just to see
how much of the optimization area was at least as good if not better
than no stoploss. The following shows that the use of this stoploss
approach is very viable.

And the results using parameters:
MaxDays (-6), {Max days before evaluating if in a }
LengXitA( 4), {Length for moving average to check for}
which cause the system to REVERSE DIRECTION of trade whenever a
stoploss point is reached.

And the results using parameters:
MaxDays ( 6), {Max days before evaluating if in a }
LengXitA( 4), {Length for moving average to check for}
which cause the system to EXIT a trade whenever a stoploss point
is reached and not reverse is:

And since the above stops (in either case) do not "kick in" for a
period of at least 6 bars then we had better setup some kind of
money management/disaster stop for the period prior to this time.
In this case we used (per share):
BadStop(2.0), {Disaster stop to run with days stops. }
And got an improvement in our Sharpe ratio and overall performance
for the non reverse case. I'll leave it to you to examine the case
where the system reverses.

The following view will indicate what happens if you use the BadStop
parameter with the REVERSING concept. You really want to wait in
such cases until the "normal" stop kicks in and reverses the trade
so put the BadStop a very long way away ! !

The MaxCont parameter is NOT suggested as an optiomizational
parameter and should be set up at a comfort level for the user.
If one wishes to use the TakProf capability then the MaxCont value
must be specified as 2 or greater.
In this case we use 200 shares of QQQ as our basis for trading
whether doing a take profit measure or not.
TakProf@(2.6); {Either a dollar amount (TPA>20) of a }
MaxCont(200), {Maximum number of contracts to trade. }
The following shows what is observed in this case at an "optimum"
take profit specification.

This parameter is designed to help those that only want to trade in one direction and can
be set to the direction the client finds most useful. It will be found that optimization
of parameters for each direction is advised.
LongShrt(0); {-1=ShortOnly, 0=L&S, +1=LongOnly }
The first two pictures contain the same results. They are displayed so that the full
range of the parameters in use can be seen. These results are from TS4 ! ! !
First example is of both long and short.


And now an example of long only.

Finally the short only case.

I hope that this proves valuable to the users of the LSS system
in selecting those parameters which truly effect the performance
of the system.
The criticism that has been leveled at the system because of too
many parameters is unwarranted in that for most applications the
default parameters can be used.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
Inputs: LengLSS(5), {One of 2 TP detection parameters }
{for daily data range = 2 to 9 }
{set negative to do reverse signals }
LengSMO(1), {Smoothing of prices to use in above }
{range for daily data is 0 to 5 }
LengPSMO(0.46), {Smoothing of price before compute. }
{Range of values is 0 to 4 in .5 incur }
{You ain't going to believe the effect }
LSSDvMul(1.5), {A multiplier for the LSS derivative }
{to be used as a crossover filter to }
{determine trade points. }
{Range is 1 to 4 in steps of .1 or so }
MaxDays (-2), {Max days before evaluating if in a }
{losing position and if so reverse if }
{this value is negative otherwise quit.}
{If MaxDays<1 then MaxDays*100 is used }
{and exit is based on moving average. }
{Pretty complicated but generally just }
{a value of -4 to -7 and zero on next }
{will work. }
LengXitA( 2.8), {Length for moving average to check for}
{reversal to occur if MaxDays negative }
{Typically use from -2 to -5 for DHA. }
{For T3 use 2 to 9 in steps of 0.1-both}
BadStop(-1.5), {Disaster stop to run with days stops }
{the default is for prices near 70.00 }
TakProf@(-1.3), {Either a dollar amount (TPA<0) of a }
{multiplier for ATR14 to set point at }
{which to take a profit. Must trade }
{at least 2 contracts for this to work.}
MaxCont(500), {Maximum number of contracts to trade. }
{This works with previous parameter. }
LongShrt(0); {-1=ShortOnly, 0=L&S, +1=LongOnly }
Click here to return to: LSS Information page