- Katılım
- 23 Eki 2020
- Mesajlar
- 1,826
Here's an excellent short article from Jim Greening, showing how MetaStock system tests can be built up . . . This week I'm going to discuss my third MetaStock Profit SystemTest- 03_Tema PDI - MDI, ADX (Vol Required).This test is based on Wilder'sdirectional movement indicators. Asthe MetaStock manual indicates, Wilder says a buy signal occurs when PDI - MDI moves above zero anda sell signal occurs when PDI-MDI falls below zero.I started with that thought and experimented a little. Wilder used14 day periods to calculate his PDI and MDI functions.Since I like Fibonacci numbers, I used 13 days instead. Also I liketo smooth my indicators so I used Tema smoothing7. My custom PDI - MDI formula then became: |
|
Tema PDI - MDI Periods := Input("Enter Tema SmoothingPeriods",8,55,13); Tema(PDI(13) - MDI(13),Periods) |
|
I started with the idea that I would take the PDI-MDI crossoverof anoptimized number as my basic buy and sell trigger.However, this numberdid not have to be zero and did not have to bethe same for entering longand entering short.After a lot of trial an error I decide -1, -3, or -5 wouldbe my enterlong 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 enteringalittle under zero would get us in a little earlier.Also down moves tend tobe fast an extreme and this would only letus in short for larger, fasterdown moves which is what I wanted.Finally I wanted some way to reduce thenumber of false signals andI wanted to do that with directional movementindicatorsonly so this test would be completely uncorrelated with my othertests. For long positions, I notice that most up moves started when adx waslow and that adx climbed during the move to a max andthen started to fall at the end of the move. Therefore, I thought anadx max and min for a buysignal would help reduce falsesignals. After some experimenting, I set themin at 8 and the max at21. I also noticed that most good buy points occurredwhen MDI and ADX were close together so I decided that the differencebetweenthe two should be small.After more experimenting, I decided on the followingfor my open longsignal: |
|
Tema PDI - MDI System 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 theMDI to be greater than a certain number to close a position.Finally, since markets are biased upwards, I also wanted the 55 dayvariable 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 afairlyhigh negative number. I wanted confirmation in thatthe 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 thana certain positive number. I don't like a lot of confirmations for closing shorts. With the biasbeing 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 |
That's it. Any comments or questions? JimG | |
| |
Source / From: |