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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    RSI Double-Bottom
  4. //  Author/Uploader: Jim Varney 
  5. //  E-mail:          jvarn359@ya_&nospam&_hoo.com
  6. //  Date/Time Added: 2002-09-08 13:36:15
  7. //  Origin:          
  8. //  Keywords:        RSI, Double Bottom, Divergence
  9. //  Level:           basic
  10. //  Flags:           system
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=220
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=220
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Rising double bottom in RSI is a fairly reliable buy
  17. //
  18. //  signal (given a reasonably healthy market). Using a backtest database of 50
  19. //  stocks (137,500 bars) diversified across
  20. //
  21. //  industries, beta, net return, and capitalization, the backtest gives the
  22. //  following results:
  23. //
  24. //  Percent profitable: 77.0%
  25. //
  26. //  Ratio avg win/avg loss: 1.23
  27. //
  28. //  Risk adjusted ann. return: 24.63%
  29. //
  30. //  Profit factor: 4.12
  31. //
  32. //  Total number of trades: 217
  33. //
  34. //  Number winning trades: 167
  35. //
  36. //  Number losing trades: 50
  37. //
  38. //  The AFL needs more work to be a robust system. It can generate large losses
  39. //  if the double bottom is the start of a long downtrend, so be careful.
  40. //
  41. //------------------------------------------------------------------------------
  42. /* 
  43. RSI DOUBLE-BOTTOM 
  44. AmiBroker exploration by Jim Varney  jvarn359@ya^NOSPAM^hoo.com
  45. The RSI Double-Top exploration is based on the theory that a rising double bottom in RSI (the second bottom is higher than the first) is bullish, while a falling double top in RSI is bearish.
  46. Using A backtest database of 50 stocks (137,500 bars) diversified across industries, beta, net return, and capitalization, the backtest gives the following results:
  47. [Trade settings: Long only, buy at open next day, sell at open next day. No stops.]
  48. Percent profitable: 77.0%
  49. Ratio avg win/avg loss: 1.23 
  50. Risk adjusted ann. return: 24.63% 
  51. Profit factor: 4.12 
  52. Total number of trades: 217   
  53. Number winning trades: 167   
  54. Number losing trades: 50 
  55. Setting a stop-Loss Of 20% reduces the percent profitable to 66% but reduces the drawdown as well.
  56. */ 
  57. // ------- RSI Double-Top AFL -------------------------
  58. // get 50-day average volume and compare today's volume
  59. Vfifty = MA(V, 50);
  60. Volidx = V/Vfifty;
  61. // set the RSI period
  62. myRSI = RSI(8);
  63. // scan for a rising RSI double bottom in a 21-day window
  64. Monthlow = LLV(myRSI, 21);
  65. Lastlow = LLV(myRSI, 8);
  66. Higherlow = Monthlow < Lastlow;
  67. rsimin = (Lastlow < 30) AND Higherlow AND myRSI < 50;
  68. // scan for a falling RSI double top in a 21-day window
  69. Monthhigh = HHV(myRSI, 21);
  70. Lasthigh = HHV(myRSI, 8);
  71. Lowerhigh = Monthhigh > Lasthigh;
  72. rsimax = (Lasthigh > 70) AND Lowerhigh AND myRSI > 60;
  73. Filter = (C > 2) AND (Vfifty > 10000);
  74. Buy = Filter AND RSImin;
  75. Sell = RSImax;
  76. Buy = ExRem( Buy, Sell );
  77. Sell = ExRem( Sell, Buy );
  78. AddColumn( C, "Price", format = 1.2);
  79. AddColumn( V, "Vol", format = 1.0);
  80. AddColumn( Volidx, "Vol/50day Vol", format = 1.1);
  81. AddColumn( Buy, "Buy", format = 1.0 );
  82. AddColumn( Sell, "Sell", format = 1.0 );