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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Cole
  4. //  Author/Uploader: Marek Chlopek 
  5. //  E-mail:          mchlopek@post.pl
  6. //  Date/Time Added: 2001-10-17 02:53:15
  7. //  Origin:          
  8. //  Keywords:        
  9. //  Level:           basic
  10. //  Flags:           system,indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=127
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=127
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Cole Trading Method
  17. //
  18. //  Rally, Reaction, Inside, Outside and Rally with Volume, Reaction with
  19. //  Volume formulas
  20. //
  21. //------------------------------------------------------------------------------
  22. /* COLE.AFL v 1.00 17/10/2001
  23. /* Cole Trading Method
  24. /* Developed by Roger Cole
  25. /* From Technical Analysis of Stocks and Commodities, V8:12 (460-463), by Alan Friedman
  26. /* Indicator developed and coded by Marek Chlopek, October 2001
  27. /* Support from Tomasz Janeczko and Amibroker Mailing List members - THANKS!!! */
  28. /* ************************************************************************** */
  29. /* Cole Trading Method description
  30. /* A up signal is formed when a stock makes three Rally Days in a row with larger volume on each day
  31. /* A down signal is formed when a stock makes three Reaction Days in a row with larger volume on each day
  32. /* Inside and Outside Days are ignored */
  33. /* ************************************************************************** */
  34. /* Cole Trading Method Indicator development description
  35. /* Cole Trading Method measures two independent signals: day status (Rally, Reaction, Inside, Outside) and volume,
  36. /* therefore two independent sub-indicators have been implemented:
  37. /* ColeDay - counts number of days in a row when Rally (positive) or Reaction (negative)
  38. /* ColeVolume - counts number of days with higher volume, always positive */
  39. /* ************************************************************************** */
  40. /* Cole's Trading Day Status definition */
  41. RY  = H >  Ref(H, -1) AND L >= Ref(L, -1); // Rally Day
  42. RX  = H <= Ref(H, -1) AND L <  Ref(L, -1); // Reaction Day
  43. IN  = H <= Ref(H, -1) AND L >= Ref(L, -1); // Inside Day
  44. OUT = H >  Ref(H, -1) AND L <  Ref(L, -1); // Outside Day
  45. VolRY = Ref(V, - BarsSince(RY));
  46. VolRX = Ref(V, - BarsSince(RX));
  47. RYwithVol  = RY  AND V > IIF(RY, Ref(VolRY, -1), VolRY);  // Rally Day with Volume
  48. RXwithVol  = RX  AND V > IIF(RX, Ref(VolRX, -1), VolRX);  // Reaction Day with Volume
  49. /* ************************************************************************** */
  50. /* ColeDay - counts number of Rally Days in a row (positive) or Reaction Days in a row (negative)
  51. /* When Rally ColeDay increases by 1 unless the first Rally Day then ColeDay = 1
  52. /* When Reaction ColeDay decreases by 1 unless the first Reaction Day then ColeDay = -1
  53. /* When Inside Day or Outside Day then ColeDay stays unchanged */
  54. PeriodRY = BarsSince(NOT RY);
  55. PeriodRX = BarsSince(NOT RX);
  56. ColeDay  = ValueWhen(RX or RY, Sum(RY, PeriodRY) - Sum(RX, PeriodRX));
  57. /* ************************************************************************** */
  58. /* ColeVolume - counts number of days with higher volume, always positive
  59. /* When volume higher than previous day volume ColeVolume increases by 1
  60. /* When volume lower previous day volume then ColeVolume = 1
  61. /* When Inside Day or Outside Day then ColeVolume stays unchanged */
  62. PeriodV    = BarsSince(V < Ref(V, -1) AND (RX or RY));
  63. ColeVolume = ValueWhen(RX or RY, Sum (RX+RY, PeriodV) +1);
  64. /* ************************************************************************** */
  65. /* Trading Signals in Cole Trading Method
  66. /* Buy Signal  - when a stock makes three Rally Days in a row with larger volume on each day
  67. /* Sell Signal - when a stock makes three Reaction Days in a row with larger volume on each day */
  68. Buy   = ColeDay >= 3  AND ColeVolume >= 3;
  69. Sell  = ColeDay <= -3 AND ColeVolume >= 3;
  70. Cover = Buy;
  71. Short = Sell;
  72. /* ************************************************************************** */
  73. /* Graphic presentation in Amibroker */
  74. maxgraph = 2;
  75. graph0 = ColeDay;
  76. graph1 = ColeVolume;
  77. title = name() + " - ColeDay = " + WriteVal(graph0, 1.0) + "; ColeVolume = " + WriteVal(graph1, 1.0);
  78. /* ************************************************************************** */
  79. /* Exploration in Amibroker */
  80. filter = 1;
  81. numcolumns = 9;
  82. column0 = H; column0name = "H"; column0format = 1.2;
  83. column1 = L; column1name = "L"; column1format = 1.2;
  84. column2 = V; column2name = "V"; column2format = 1.0;
  85. column3 = RY; column3name = "RY"; column3format = 1.0;
  86. column4 = RX; column4name = "RX"; column4format = 1.0;
  87. column5 = IN; column5name = "IN"; column5format = 1.0;
  88. column6 = OUT; column6name = "OUT"; column6format = 1.0;
  89. column7 = ColeDay; column7name = "ColeDay"; column7format = 1.0;
  90. column8 = ColeVolume; column8name = "ColeVolume"; column8format = 1.0;
  91. /* ************************************************************************** */
  92. /* END COLE Indicator Formula */