This MACD is using what is known as rma average for MACD calculation.
Taking into consideration that rma is a variation if the sma, the macd values produced are almost surprisingly "fast" compared to the regular ema version. It also has some interesting properties when it comes to periods following the very volatile periods. In any case seems to be a useful tool in the family of all sorts of macd variations
When the subject changes, it notifies and updates its observers, who know nothing about each other.Programming Patterns - Strategy
Encapsulating a family of interchangeable algorythms which can be modified independently from the client.
Provides an interface for creating families of related or dependent objects without specifying their concrete class.Programming Patterns - Factory Method
Define an interface for creating an object, but let subclasses decide which class to instantiate. Lets a class defer instantiation to subclasses.