Was there a change to Stochastic %D in Version 6?
Author: Humanbean
Creation Date: 8/29/2010 9:33 PM
profile picture

Humanbean

#1
Hello
I had a script using stocahstics that %D 14,3 is giving a different reading after I downloaded Version 6.
The reading is too high and now not in sync with Active Trader Pro. Do I need to download somehting else or tweek settings somewhere?

Thanks


profile picture

Cone

#2
In reality, something did change - the parameters are reversed again. Arggh!
profile picture

Eugene

#3
You're right! It was "smooth,period" in 5.0 to 5.4, now it's "period,smooth" in 6.0. Who's using 5.4?
profile picture

Cone

#4
I'm running it side-by-side with Developer 5.6 and the difference is there.
profile picture

Cone

#5
There's a long history behind this problem, and unfortunately we've gone full-circle back to the way StochD was delivered in 5.0. The main points are this:

1. The indicator is actually correct in 6.0 in that the parameter names are correctly identified. In other words, smooth is the first parameter and period is the second. (Customers using the Rules and Drag and Drop will be happy.)

2. In 5.4 through 5.6, the indicator interpreted the first parameter to be period and smooth to be the second, even though these did not match the syntactical parameter definitions. (Customers using the Rules and Drag and Drop were not happy, but anyone translating from 4x was happy)

Resolved: We want period to be the first parameter and smooth to be the second as it was in 4x for everyone to be happy. This will happen for sure in 6.1. Meanwhile, if your Strategies were developed in 5.4 - 5.6, you should reverse the parameters until 6.1 is released.
profile picture

Humanbean

#6
Works well here.
Thanks for the help.
profile picture

Cone

#7
Since it seems like the message isn't getting around to the WL Pro customers yet, I may keep bumping this topic up.
profile picture

thodder

#8
I hope no one is using StochD for live trading. This would mess up their signals!

As I mentioned in a previous post (/Forum/Posts/StochD-intellisense-incorrect-30247), you can use this for testing:
CODE:
Please log in to see this code.


Indicator StochK assumes '1' for the smooth parameter; therefore, StochD should calculated the exact same values once you get the parameters in the correct order and '1' is used for the smooth parameter. The above test strategy was written in 5.6 and there was only one line -- now there are two with WLP 6 (as stated in the posts above).
profile picture

Cone

#9
CODE:
Please log in to see this code.
This is the whole point of the discussion.
profile picture

thodder

#10
Yes, I got it. I was just confirming that I see a difference between 5.6 and 6.0 as well.

I don't plan on changing anything at the moment as I'm hoping 6.1 will provide a fix. Obviously if I have a strategy for live trading that uses StochD with 6.0, I'll make that change. If I do, I'll probably add the following code to make sure my strategy throws an error if the parameter order changes...

CODE:
Please log in to see this code.


Btw, Is there a date when 6.1 might be released?
profile picture

Cone

#11
If history is any guide, December - February is a good window to look for another upgrade.
profile picture

thodder

#12
Can I make a suggestion to resolve this for WLP 6.1? StochD.Series method has a history of issues since WLP/D 5.0. There is a good possibility that strategies are written with it incorrectly. We should force an error with WLP 6.1 to ensure everyone looks at the implementation of this method to make sure it is used correctly.

When I first started using WLP, I found it confusing to use StochD to implement a slow %K. I think it would be better to have an indicator for a slow %K instead. Besides, how are you supposed to implement a %D with a slow %K? I realize %D is an EMA on %K, but it would be nice if the %D implementation for a fast and slow %K were similar.

The current definitions in WLP 6.0 are:
CODE:
Please log in to see this code.


An alternative for WLP 6.1 would be:
CODE:
Please log in to see this code.


You’ll notice that I added an extra parameter to StochD plus added a new indicator StochSlowK. Existing strategies using StochD would get an error since we added an extra parameter. That would ensure that everyone looked at their implementation.

If we decide StochD is just an EMA on the StochK or StochSlowK, then we could consider eliminating the implementation of StochD (or renaming it to StochSlowK).

I also wanted to mention that C# allows overloading; therefore we could provide multiple implementations of StochK.Series instead of creating a new indicator. This would allow the implementation to be:
CODE:
Please log in to see this code.


This would help with code based strategies. I’m not sure what the impact would be for rule based strategies.

Just some thoughts I had that I wanted to put out there. I hope this helps.


profile picture

Eugene

#13
If everyone starts looking at something due to a breaking change (like MACDEx), guess who has to answer all those questions? Fidelity and MS123 support. Without forcing everyone to look {at their 'broken' strategies} and cry wolf on the forums, how about a low-impact idea: Community Indicators?
profile picture

thodder

#14
Correct. My alternative would be a support nightmare when it first gets released. You might be able to fend off some support questions by putting it in the release notes -- mainly on the home view in WLP/D. However, I'm sure my suggestion would generate a lot of flack initially.

I agree most indicators are best kept as Community.Indicators as they are easier to fix between WLP/D releases (if there are issues). You've put a lot of good stuff in that library.

It was just a suggestion. Do with it what you wish.
profile picture

Cone

#15
Heads up for StochD users. Within about 2 or 3 weeks, there will be an update to the 6.0 release that puts the StochD parameters back as they should be, intellisense included. So, if you've made changes to your scripts to adapt to 6.0, you'll need to reverse those changes for the 6.0 patch release, hopefully for the last time!