Constant Trendline Plot.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Constant Trendline Plot
  4. //  Author/Uploader: Rob Holloway 
  5. //  E-mail:          roblh3@yahoo.com
  6. //  Date/Time Added: 2005-02-07 17:12:00
  7. //  Origin:          
  8. //  Keywords:        
  9. //  Level:           basic
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=427
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=427
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  THIS IS A TECHNIQUE FOR DRAWING TRENDLINES EVERYWHERE ON A CHART WITHOUT A
  17. //  LOOPING FORMULA. I developed this technique because, as far as I could
  18. //  tell, the trendline methods made readily available in Amibroker (e.g. the
  19. //  example in the LinReg formula in AFL reference section of help), are
  20. //  limited in that they can either plot only one trendline, or must be called
  21. //  by a looping formula. This is simply an alternative to a looping formula,
  22. //  and I think it is a pretty good method for plotting trendlines. My code
  23. //  plots a trendline between troughs of Perchg size. The line you see on the
  24. //  chart is an extension of a trendline starting at the low of the trough one
  25. //  trough prior to the one where the line begins. A new trendline is drawn
  26. //  every time a new trough occurs. There are lots of possible variations on
  27. //  this code and refinements which could define the trend more precisely and
  28. //  more robustly.
  29. //
  30. //------------------------------------------------------------------------------
  31. /*THIS IS A TECHNIQUE FOR DRAWING TRENDLINES EVERYWHERE ON A CHART WITHOUT A LOOPING FORMULA.  I developed this technique because, as far as I could tell, the trendline methods made readily available in Amibroker (e.g. the example in the LinReg formula in AFL reference section of help), are limited in that they can either plot only one trendline, or must be called by a looping formula. This is simply an alternative to a looping formula, and I think it is a pretty good method for plotting trendlines.  My code plots a trendline between troughs of Perchg size.  The line you see on the chart is an extension of a trendline starting at the low of the trough one trough prior to the one where the line begins.  A new trendline is drawn every time a new trough occurs.  There are lots of possible variations on this code and refinements which could define the trend more precisely and more robustly.*/
  32. //ESTABLISHES BARS BETWEEN TROUGHS
  33. Perchg = 10;
  34. //Bars since current trough
  35. Length1 = TroughBars(L,Perchg,1);
  36. //Bars since prev trough
  37. Length2 = TroughBars(L,Perchg,2);
  38. DistBetTroughs = Length2 - Length1;
  39. //ESTABLISHES PRICE DIFFERENCE BETWEEN TROUGHS
  40. PriceDiff = Trough(L,Perchg,1) - Trough(L,Perchg,2);
  41. //ESTABLISHES SLOPE BETWEEN TROUGHS
  42. Slope = PriceDiff/DistBetTroughs;
  43. //TRENDLINE FORMULA
  44. Trendline = (Length2 * Slope) + Trough(L,Perchg,2);
  45. Plot(Trendline,"Trendline",colorBlack,styleThick);
  46. PlotOHLC( Open, High, Low, Close, "Price", colorBrown,styleCandle);