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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Commodity Channel Index
  4. //  Author/Uploader: Tomasz Janeczko 
  5. //  E-mail:          tj@amibroker.com
  6. //  Date/Time Added: 2001-06-16 08:55:42
  7. //  Origin:          Originally developed by Donald R. Lambert
  8. //  Keywords:        
  9. //  Level:           medium
  10. //  Flags:           system,commentary
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=22
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=22
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  CCI measures price excursions from the mean price as a statistical
  17. //  variation. The indicator works quite well with commodities, stocks and
  18. //  mutual funds. It keeps trades neutral in a sideways moving market, and
  19. //  helps get in the market when a breakout occurs.
  20. //
  21. //  This sample commentary shows how to use WriteVal() and WriteIf functions
  22. //  and implements basic CCI interpretation rules. May be also used as a simple
  23. //  trading system.
  24. //
  25. //------------------------------------------------------------------------------
  26. /* Project:       AmiBroker
  27. ** File:          cci.afl
  28. ** Title:         CCI Guru Commentary Example (English)
  29. ** Requirements:  AFL 1.1 (AmiBroker 3.0) or above
  30. ** Date:          Feb 9th, 1999
  31. ** Written by:    Tomasz Janeczko
  32. */ 
  33. buy=cross( cci(), -100 );
  34. sell = cross( 100, cci() );
  35. "Review of " + fullname() + " (" + name() + ")" + "nas of " + date();
  36. "nCurrent Statisticsn";
  37. "Close:    " + WriteVal(Close);
  38. "Change:   " + WriteVal(Close - Ref( Close, -1 ) ) ;
  39. "CCI Value:" + WriteVal(CCI());
  40. "nCCI is now in "+
  41. writeif( cci() < -100, "oversold", 
  42. writeif( cci() > 100,  "overbought", "neutral" )) +
  43. " range";
  44. bsbuy  = barssince( buy );
  45. bssell = barssince( sell );
  46. "nCCI has generated "+
  47. writeif( bsbuy > 5 AND bssell > 5, "no signals during last 5 periods.",
  48. writeif( bsbuy < bssell, "buy signal " + writeval( bsbuy, 3.0  ),
  49. "sell signal " + writeval( bssell, 3.0) ) + " periods ago.");
  50.