Rank: Advanced Member
Groups: Registered, Registered Users Joined: 4/27/2005(UTC) Posts: 126 Location: Italy
|
I have come across a so called "Howars average" in http://www.ensignsupport.com/email/1674.mhtml.
As explained therein Howard's average is an adaptive average that self adjusts based on momentum. When the market moves vertically the average parameter tightens.
Little additional information is provided. Any suggestions on how a moving average of this kind could be coded in MS? Thanks.
|
|
|
|
Rank: Advanced Member
Groups: Registered, Registered Users, Subscribers, Unverified Users Joined: 10/28/2004(UTC) Posts: 3,111 Location: Perth, Western Australia
Was thanked: 16 time(s) in 16 post(s)
|
I thought this might have answered your question: http://www.ensignsupport.com/email/1674.mhtml wrote: Formula I invented is not public because I do not want competing products
to copy my creativity.
wabbit [:D]
|
|
|
|
Rank: Advanced Member
Groups: Registered, Registered Users Joined: 1/19/2005(UTC) Posts: 1,065 Location: Koh Pha-Ngan, Earth
Was thanked: 2 time(s) in 2 post(s)
|
wabbit wrote:Formula I invented is not public because I do not want competing products to copy my creativity.
That is the main reason why we have copyright laws - to protect the author's time & effort invested into the creation of his/her unique work, and thus encourage an atmosphere where ideas may be shared openly for the overall benefit of the community.
jose '-)
|
|
|
|
Rank: Advanced Member
Groups: Registered, Registered Users, Subscribers, Unverified Users Joined: 10/28/2004(UTC) Posts: 3,111 Location: Perth, Western Australia
Was thanked: 16 time(s) in 16 post(s)
|
minnamor wrote:Any suggestions on how a moving average of this kind could be coded in MS? Something akin to this maybe? It's an acceleration based EMA. Use with caution and ensure you have enough data available (don't skimp!) This is NOT the Howard indicator but it might give you an idea on how to create your own volatility MA. Code:
{"ma" length}
pds:=10;
data:=Close;
{velocity and acceleration}
dy:=roc(data,pds,%);
d2y:=abs(roc(dy,pds,$));
{normalize acceleration over the square of period}
pds2:=lastvalue(power(pds,2));
x:=(d2y-LLV(d2y,pds2))/Max(HHV(d2y,pds2)-LLV(d2y,pds2),0.0001);
{EMA}
MA:=if(cum(1)<=(2*pds+pds2),data,(x*data)+((1-x)*PREV));
{plot}
MA;
untested. Hope this helps. wabbit [:D] P.S. You might find it preferable to employ the Forum.dll to compute the variable period EMA instead of the PREV function.
|
|
|
|
Rank: Advanced Member
Groups: Registered, Registered Users, Subscribers, Unverified Users Joined: 10/28/2004(UTC) Posts: 3,111 Location: Perth, Western Australia
Was thanked: 16 time(s) in 16 post(s)
|
Now I have had the chance to have a quick play with some code and do a few tests, I have come up with a better example than the code above.... Try this and see if you can modify the concept to suit your ideas: Code:
{"ma" length}
pds:=10;
data:=CLOSE;
{velocity and acceleration}
dy:=ROC(data,pds,%);
d2y:=ROC(dy,pds,%);
{normalize acceleration over the period, range 0.5 to 1}
x:=(0.5*(d2y-LLV(d2y,pds))/Max(HHV(d2y,pds)-LLV(d2y,pds),0.0001))+0.5;
{equivalent EMA lengths: (pds/2) to pds}
y:=2/((x*pds)+1);
{the indicator}
MA:=If(Cum(1)<=(3*pds),data,(y*data)+((1-y)*PREV));
{plot}
MA;
Hope this helps. wabbit [:D] P.S. Again, you might prefer to using the Forum.dll variable length EMA than using the PREV based code?
|
|
|
|
Rank: Advanced Member
Groups: Registered, Registered Users, Subscribers Joined: 10/29/2004(UTC) Posts: 1,394 Location: Glastonbury, CT
Was thanked: 2 time(s) in 2 post(s)
|
Variable moving averages are not new.
Tushar Chande's Vidya is an example of this
in Metastock Mov(C,5,Var)
|
|
|
|
Users browsing this topic |
Guest (Hidden)
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.