T3 Function.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    T3 Function
  4. //  Author/Uploader: Jayson Casavant 
  5. //  E-mail:          jcasavant@verizon.net
  6. //  Date/Time Added: 2004-03-03 20:07:15
  7. //  Origin:          Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
  8. //  Keywords:        Moving Average
  9. //  Level:           semi-advanced
  10. //  Flags:           showemail,function
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=342
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=342
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  In filter theory parlance, T3 is a six-pole non-linear Kalman filter.
  17. //  Kalman filters are ones which use the error (in this case (time series -
  18. //  EMA(n)) to correct themselves. In Technical Analysis, these are called
  19. //  Adaptive Moving Averages; they track the time series more aggressively when
  20. //  it is making large moves.
  21. //
  22. //  If you enjoy reading tech material there is a white paper posted at...
  23. //
  24. //  http://groups.yahoo.com/group/amibroker-ts/files/
  25. //
  26. //  I did not create the code, I only adapted it to function form. To call the
  27. //  T3 function use the syntax T3(price,periods) as in T3(C,50) . You can also
  28. //  substitute any indicator for price as in T3(RSI(14),20)
  29. //
  30. //------------------------------------------------------------------------------
  31. function T3(price,periods)
  32. {
  33. s = 0.84;
  34. e1=EMA(price,periods);
  35. e2=EMA(e1,Periods);
  36. e3=EMA(e2,Periods);
  37. e4=EMA(e3,Periods);
  38. e5=EMA(e4,Periods);
  39. e6=EMA(e5,Periods);
  40. c1=-s*s*s;
  41. c2=3*s*s+3*s*s*s;
  42. c3=-6*s*s-3*s-3*s*s*s;
  43. c4=1+3*s+s*s*s+3*s*s;
  44. Ti3=c1*e6+c2*e5+c3*e4+c4*e3;
  45. return ti3;
  46. }
  47. Plot(C,"",4,64);
  48. Plot(T3(C,50),"T3",colorYellow,1);
  49. Plot(t3(C,20),"T3",colorBlue,1);