- Katılım
- 23 Eki 2020
- Mesajlar
- 1,828
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 |
|