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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    RSIS
  4. //  Author/Uploader: Thomas Zmuck 
  5. //  E-mail:          thomas.zm@aon.at
  6. //  Date/Time Added: 2002-01-29 06:47:03
  7. //  Origin:          
  8. //  Keywords:        RSIS
  9. //  Level:           medium
  10. //  Flags:           system,indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=153
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=153
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Overbought/Oversold Indicator, same as normaly RSI, but with special moving
  17. //  and low whipsaws.
  18. //
  19. //  scale goes from ~ -20 to ~110, this could be changed by your adjustment.
  20. //
  21. //  buy methods as every other overbought/oversold Indicator.
  22. //
  23. //  I've added my buy method, which gives sometimes very good signals, but it's
  24. //  not the holy grail.
  25. //
  26. //  Test your own way. As with every Indicator you should need other technics,
  27. //  such as chartpatterns, etc.. to filter false signals.
  28. //
  29. //  Enjoy it
  30. //
  31. //  I love it more than normaly RSI
  32. //
  33. //------------------------------------------------------------------------------
  34. /*RSIS  Overbought/Oversold Indicator*/
  35. /*Version 1.0*/
  36. /*Last modified: 26-01-2002 by Thomas Zmuck*/
  37. /*Adjustment-Part*/
  38. pds = 5;  P=RSI(pds); 
  39. Movperiods=2;  tp=3;  A=2.5;
  40. /*Formula*/
  41. y=Sum( Cum( 1 ),tp );
  42. y1=( tp * Sum( Cum( 1 ) * P,tp ) -
  43. Sum( Cum( 1 ),tp) * Sum( P,tp) ) /
  44. (tp * Sum( ( Cum( 1 )*Cum(1)),tp ) -
  45. ( y*y ) ) * Cum( 1 ) + (MA(P,tp) -
  46.  MA( Cum( 1 ),tp) * (tp * Sum( Cum( 1 ) * P,tp) -
  47. Sum( Cum( 1 ),tp ) * Sum( P,tp) ) /
  48. (tp * Sum( ( Cum( 1 )*Cum(1) ),tp) - ( y*y ) ) );
  49. slope=LinRegSlope(P,tp);
  50. y2=IIf(slope>0 AND y1>HHV(P,3),HHV(P,3),
  51. IIf(slope<0 AND y1<LLV(P,3),LLV(P,3),y1));
  52. y3= EMA(y2,movperiods);
  53. e1= EMA(P,movperiods + 1);
  54. e2= EMA(e1,movperiods + 1);
  55. e3= EMA(e2,movperiods + 1);
  56. e4= EMA(e3,movperiods + 1);
  57. e5= EMA(e4,movperiods + 1);
  58. e6= EMA(e5,movperiods + 1);
  59. c1=-A*A*A;
  60. c2=3*A*A+3*A*A*A;
  61. c3=-6*A*A-3*A-3*A*A*A;
  62. c4=1+3*A+A*A*A+3*A*A;
  63. t3=c1*e6+c2*e5+c3*e4+c4*e3;
  64. RSIS = (y3 + t3) / 2;
  65. /*End Formula*/
  66. /*Graph-Part*/
  67. Plot(RSIS,"RSIS",6,1);
  68. /*End Graph-Part*/
  69. /*Buy Conditions 
  70. (not used, only for testing systems*/
  71. Cond1 = Ref(RSIS,-1)<20;
  72. Cond2 = Ref(RSIS,-2)<20;
  73. Cond3 = Ref(RSIS,-1) < Ref(RSIS,-2);
  74. Cond4 = Ref(RSIS,-2) < Ref(RSIS,-3);
  75. Cond5 = RSIS > Ref(RSIS,-1);
  76. Cond6 = CCI(30)<100 AND CCI(30)>-100;
  77. /*Buy and Sell Conditions*/
  78. Buy  = Ref(rsis,-1)<50 AND RSIs > Ref(RSIs,-1);
  79. Sell = Ref(rsis,-1)>70 AND RSIs < Ref(RSIs,-1);
  80. Buy  = ExRem(Buy,Sell);
  81. Sell = ExRem(Sell,Buy);
  82. /*End Buy and Sell Conditions*/
  83. /*Title-Part*/
  84. Title = Name() 
  85. + "   RSIS      periods = " 
  86. + WriteVal(pds,1)
  87. + "      movperiods = " + WriteVal(movperiods,1)+ "     tp = " + WriteVal(tp,1.1) + "      A = " + WriteVal(A,1.1);
  88. /*End Title-Part*/