| |
 |
MetaStock System Test 03 - Tema PDI - MDI, ADX (Vol Req.)
|
 |
|
|
|
Views:
1143 |
| Added: February 09, 2007 |
| |
|
|
|
| This formula has not been rated yet |
| |
| |
email this link
|
| |
| |
| Tags:
MetaStock, system
|
| |
 |
My third MetaStock Profit System Test is based on Wilder's directional movement
indicators. As the MetaStock manual indicates, Wilder says a buy signal occurs
when PDI - MDI moves above zero and a sell signal occurs when PDI-MDI falls below
zero. I started with that thought and experimented a little. Wilder used 14 day
periods to calculate his PDI and MDI functions. Since I like Fibonacci numbers,
I used 13 days instead. Also I like to smooth my indicators so I used Tema smoothing.
My custom PDI - MDI formula then became:
Tema PDI - MDI
Periods := Input("Enter Tema Smoothing Periods",8,55,13);
Tema(PDI(13) - MDI(13),Periods)
I started with the idea that I would take the PDI-MDI crossover of an optimized
number as my basic buy and sell trigger. However, this number did not have to
be zero and did not have to be the same for entering long and entering short.
After a lot of trial an error I decide -1, -3, or -5 would be my enter long
number and -5, -13, or -21 would be my enter short number. This makes sense
since the market is biased to the up side, so entering a little under zero would
get us in a little earlier. Also down moves tend to be fast an extreme and this
would only let us in short for larger, faster down moves which is what I wanted.
Finally I wanted some way to reduce the number of false signals and I wanted
to do that with directional movement indicators only so this test would be completely
uncorrelated with my other tests.
For long positions, I notice that most up moves started when adx was low and
that adx climbed during the move to a max and then started to fall at the end
of the move. Therefore, I thought an adx max and min for a buy signal would
help reduce false signals. After some experimenting, I set the min at 8 and
the max at 21. I also noticed that most good buy points occurred when MDI and
ADX were close together so I decided that the difference between the two should
be small. After more experimenting, I decided on the following for my open long
signal:
MetaStock System Test 03 - Tema PDI - MDI, ADX (Vol Required)
Open Long :
Alert(Cross(Fml("Tema PDI - MDI"),opt1),13) AND
MDI(13) - ADX(13) <= 4 AND
MDI(13) - ADX(13) >= -2 AND
ADX(13) >= 8 AND
ADX(13) <= 21
To close my open long position I wanted the PDI-MDI to be less than opt1. When
a stock starts to drop, the MDI starts to rise, so I wanted the MDI to be greater
than a certain number to close a position. Finally, since markets are biased
upwards, I also wanted the 55 day variable moving average to be dropping before
I closed the position. Therefore, the close long became:
Close Long :
Fml("Tema PDI - MDI") < opt1 AND
MDI(13) > 21 AND
LLV(Mov(L,55,VAR),5) = LLV(Mov(L,55,VAR),13)
To open a short position, I wanted the PDI-MDI to cross below a fairly high
negative number. I wanted confirmation in that the adx was still fairly high
when that happened. The answer was:
Open Short :
Alert(Cross(opt2,Fml("Tema PDI - MDI")),8) AND
ADX(13) > 34
To close the short position, I only wanted PDI-MDI to be greater than a certain
positive number. I don't like a lot of confirmations for closing shorts. With
the bias being up, you need to close shorts fast. My close Short and optimization
became:
Close Short :
Fml("Tema PDI - MDI") > 13
Optimization :
Opt1: Min = -1 Max = -5 Step = 2
Opt2: Min = -21 Max = -5 Step = 8
Code:
My third MetaStock Profit System Test is based on Wilder's directional movement
indicators. As the MetaStock manual indicates, Wilder says a buy signal occurs
when PDI - MDI moves above zero and a sell signal occurs when PDI-MDI falls below
zero. I started with that thought and experimented a little. Wilder used 14 day
periods to calculate his PDI and MDI functions. Since I like Fibonacci numbers,
I used 13 days instead. Also I like to smooth my indicators so I used Tema smoothing.
My custom PDI - MDI formula then became:
Tema PDI - MDI
Periods := Input("Enter Tema Smoothing Periods",8,55,13);
Tema(PDI(13) - MDI(13),Periods)
I started with the idea that I would take the PDI-MDI crossover of an optimized
number as my basic buy and sell trigger. However, this number did not have to
be zero and did not have to be the same for entering long and entering short.
After a lot of trial an error I decide -1, -3, or -5 would be my enter long
number and -5, -13, or -21 would be my enter short number. This makes sense
since the market is biased to the up side, so entering a little under zero would
get us in a little earlier. Also down moves tend to be fast an extreme and this
would only let us in short for larger, faster down moves which is what I wanted.
Finally I wanted some way to reduce the number of false signals and I wanted
to do that with directional movement indicators only so this test would be completely
uncorrelated with my other tests.
For long positions, I notice that most up moves started when adx was low and
that adx climbed during the move to a max and then started to fall at the end
of the move. Therefore, I thought an adx max and min for a buy signal would
help reduce false signals. After some experimenting, I set the min at 8 and
the max at 21. I also noticed that most good buy points occurred when MDI and
ADX were close together so I decided that the difference between the two should
be small. After more experimenting, I decided on the following for my open long
signal:
MetaStock System Test 03 - Tema PDI - MDI, ADX (Vol Required)
Open Long :
Alert(Cross(Fml("Tema PDI - MDI"),opt1),13) AND
MDI(13) - ADX(13) <= 4 AND
MDI(13) - ADX(13) >= -2 AND
ADX(13) >= 8 AND
ADX(13) <= 21
To close my open long position I wanted the PDI-MDI to be less than opt1. When
a stock starts to drop, the MDI starts to rise, so I wanted the MDI to be greater
than a certain number to close a position. Finally, since markets are biased
upwards, I also wanted the 55 day variable moving average to be dropping before
I closed the position. Therefore, the close long became:
Close Long :
Fml("Tema PDI - MDI") < opt1 AND
MDI(13) > 21 AND
LLV(Mov(L,55,VAR),5) = LLV(Mov(L,55,VAR),13)
To open a short position, I wanted the PDI-MDI to cross below a fairly high
negative number. I wanted confirmation in that the adx was still fairly high
when that happened. The answer was:
Open Short :
Alert(Cross(opt2,Fml("Tema PDI - MDI")),8) AND
ADX(13) > 34
To close the short position, I only wanted PDI-MDI to be greater than a certain
positive number. I don't like a lot of confirmations for closing shorts. With
the bias being up, you need to close shorts fast. My close Short and optimization
became:
Close Short :
Fml("Tema PDI - MDI") > 13
Optimization :
Opt1: Min = -1 Max = -5 Step = 2
Opt2: Min = -21 Max = -5 Step = 8
Source: http://www.guppytraders.com
all systems for MetaStock
all systems
|