Elder Triple Screen Trading System.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Elder Triple Screen Trading System
  4. //  Author/Uploader: Dennis Skoblar 
  5. //  E-mail:          DennisAndLisa@sbcglobal.net
  6. //  Date/Time Added: 2005-07-04 19:06:13
  7. //  Origin:          As derrived from "Trading For A Living" and "Come Into My Trading Room" by Alexander Elder.
  8. //  Keywords:        Triple Screen, Alexander Elder,Pullbacks
  9. //  Level:           medium
  10. //  Flags:           system,exploration
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=485
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=485
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Elder Triple Screen Trading System. As derrived from "Trading For A Living"
  17. //  and "Come Into My Trading Room" by Alexander Elder. This scan finds long
  18. //  candidates by the weekly MACD rising and the weekly 13 period Force Index
  19. //  above it's zero line. Plot a weekly EMA (26 period)...it should be rising
  20. //  to go long. The daily 2 period Force Index must be below it's zero line.
  21. //  Look for the stock on a pullback around it's daily 13 period ema. Also use
  22. //  the daily 22 period ema to determine the direction of the daily trend. Do
  23. //  the opposite for shorts.
  24. //
  25. //------------------------------------------------------------------------------
  26. // Elder Triple Screen Trading System.
  27. // Coded by Dennis Skoblar 7/04/2005.
  28. // As derrived from "Trading For A Living" and "Come Into My Trading Room" by Alexander Elder.
  29. // 
  30. // This scan finds long candidates by the weekly MACD rising and the weekly 13 period Force Index above it's zero line.
  31. // Plot a weekly EMA (26 period)...it should be rising to go long.
  32. // The daily 2 period Force Index must be below it's zero line. Look for the stock on a pullback around it's daily 13 period ema.
  33. // Also use the daily 22 period ema to determine the direction of the daily trend.
  34. // Do the opposite for shorts.
  35. TimeFrameSet( inWeekly );
  36. WeeklyMACD = MACD( 12, 26 ) - Signal( 12, 26, 9 );
  37. WeekHistRising = IsTrue ( Ref(WeeklyMACD, -1) < Ref(WeeklyMACD, 0) );
  38. WeekHistFalling = IsTrue ( Ref(WeeklyMACD, -1) > Ref(WeeklyMACD, 0) );
  39. FIWeekly = EMA(((C-Ref(C,-1))*V),13);
  40. WeeklyForceIndexLong = IsTrue ( FIWeekly > 0 );
  41. WeeklyForceIndexShort = IsTrue ( FIWeekly < 0);
  42. TimeFrameRestore();
  43. // Weekly criteria
  44. MACDLongW = TimeFrameExpand( WeekHistRising, inWeekly );
  45. MACDShortW= TimeFrameExpand( WeekHistFalling, inWeekly );
  46. FILongW = TimeFrameExpand( WeeklyForceIndexLong, inWeekly );
  47. FIShortW = TimeFrameExpand( WeeklyForceIndexShort, inWeekly );
  48. // Daily criteria
  49. FIDaily = EMA(((C-Ref(C,-1))*V),2);
  50. FILongD = IsTrue ( FIDaily < 0 );
  51. FIShortD = IsTrue ( FIDaily > 0 );
  52. PVFilter = (C>15) AND Ref(MA(V,50),-1)>100000;
  53. TenTwentyFilter = HHV(H,20)-LLV(L,20);
  54. FiftyDayHVFilter = round(StDev(log(C/Ref(C,-1)),50)*100*sqrt(256));
  55. // Scan criteria
  56. ElderLong = MACDLongW AND FILongW AND FILongD;
  57. ElderShort = MACDShortW AND FIShortW AND FIShortD;
  58. // Columns for exploration
  59. NumColumns = 7;
  60. Column0 = FullName();     
  61. Column0Name = "Ticker name";
  62. Column1 = ElderLong;
  63. Column1Name = "Long";
  64. Column2 = ElderShort;
  65. Column2Name = "Short";
  66. Column3 = FiftyDayHVFilter;
  67. Column3Name = "50 Day HV";
  68. Column4 = TenTwentyFilter;
  69. Column4Name = "10/20 Filter";
  70. Column5 = TimeFrameExpand( FIWeekly, inWeekly );
  71. Column5Name = "Weekly Force Index";
  72. Column6 = FIDaily;
  73. Column6Name = "Daily Force Index";
  74. AddTextColumn( IndustryID(1), "Industry" );
  75. AddTextColumn( MarketID(1), "Market" );
  76. // Filters
  77. Filter = TenTwentyFilter > 5 AND PVFilter AND (ElderLong OR ElderShort);
  78. Buy= ElderLong;
  79. Sell = ElderShort;
  80. // Indicators
  81. // 2 Period Force Index (Daily Graph)
  82. //_SECTION_BEGIN("Force Index 2 Day");
  83. //FI=EMA(((C-Ref(C,-1))*V),2);
  84. //Plot(FI,"FI",colorCustom11,styleLine);
  85. //Plot(0,"ZERO LINE",colorWhite,styleThick);
  86. //_SECTION_END();
  87. // 13 Period Force Index (Weekly Graph)
  88. //_SECTION_BEGIN("Force Index 13 Day");
  89. //FI=EMA(((C-Ref(C,-1))*V),13);
  90. //Plot(FI,"FI",colorCustom11,styleLine);
  91. //Plot(0,"ZERO LINE",colorWhite,styleThick);
  92. //_SECTION_END();
  93. // Elder Ray (Daily Graph)
  94. // Bull Power (plot as seperate graph)
  95. //bullpower= High - EMA(Close,13); 
  96. //Plot(bullpower,"Elder Ray -- Bull Power",colorCustom11,styleHistogram);
  97. // Bear Power (plot as seperate graph)
  98. //bearpower= Low - EMA(Close,13); 
  99. //Plot(bearpower,"Elder Ray -- Bear Power",colorRed,styleHistogram);