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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Bollinger band normalization
  4. //  Author/Uploader: Vic Huebner 
  5. //  E-mail:          atlantic@engineer.com
  6. //  Date/Time Added: 2002-06-03 14:44:50
  7. //  Origin:          Bollinger on Bollinger Bands - McGraw Hill
  8. //  Keywords:        Bollinger,normalize,volatility
  9. //  Level:           medium
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=196
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=196
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  The position of various indicators within Bollinger bands are used as the
  17. //  start of a trading system. Trends and oscillations can be easily seen. Most
  18. //  of the usual indicators can be back-tested for profitability.
  19. //
  20. //------------------------------------------------------------------------------
  21. //In "Bollinger on Bollinger Bands", John Bollinger described a method of normalizing indicators on any stock regardless of volatility. The method simply computes the percentage position within Bollinger bands. Touching the lower band is zero, while touching the upper band is 100%.
  22. //In the graph, indicator Lines are drawn at the 0, 50, AND 100% positions. Bollinger bands are shown in white, the indicator is shown in red, and the relative range position is shown in yellow. The multipliers are used to display all items in a single window.
  23. //Graph0 depicts the indicator of current interest. Simply uncomment to view a different indicator.
  24. MaxGraph=8;
  25. Graph0=100000*(C+O+H+L)/Sum(C,20); //Bollinger believes all 4 items are better
  26. //Graph0=50000*(BBandTop(C,40,2)-BBandBot(C,40,2))*C/BBandTop(C,40,2); //Volatility change - Reversal indicator?
  27. //Graph0=100*MFI(14); //MoneyFlowIndex - G. Quong & A. Soudek
  28. //Graph0=100*RSI(14);
  29. //Graph0=1000*MACD(12,26);
  30. //Graph0=1000*Signal(12,26,9);
  31. //Graph0=1000*V*Signal(12,26,9)/(Sum(V,12)/12); //VolWeighted MACD - B. Dormeier
  32. //Graph0=100*ROC(EMA(C,7),21); //Smoothed RateOfChange - 
  33. //Graph0=-500*ADX(14); 
  34. //Graph0=.0001*AccDist(); //Acc-distribution - Larry Williams
  35. //Graph0=10000*EMA((2*C-H-L)*Sum(V,12)/((H-L)*V*12),10); //Intraday intensity - David Bostian
  36. //Graph0=100*(C-Ref(C,-1)*V*12)/Sum(V,12); //Force index - Dr. Elder
  37. //Compute the Bollinger bands (40 bars & 2.0 SD).
  38. Graph1=BBandTop(Graph0,40,2);
  39. Graph2=BBandBot(Graph0,40,2);
  40. //Compute the relative position within the bands.
  41. Graph3=10000*(Graph0-Graph2)/(Graph1-Graph2);
  42. //A Zig-Zag line is used to better view the trend changes. Smaller ZigChange values mean busier charts and more frequent trading. Other parameters also should be optimized for best results.
  43. ZigChange=Optimize("Zig",50,40,100,10);
  44. Graph4=Zig(Graph3+1000,ZigChange);
  45. Graph5=0;
  46. Graph6=5000;
  47. Graph7=10000;
  48. Graph1Color=Graph2Color=2;
  49. Graph0Style=Graph1Style=Graph2Style=Graph4Style=Graph5Style=Graph6Style=Graph7Style=1;
  50. Graph3Style=4;
  51. Graph3Color=7;
  52. //Buy signals are generated for stocks over $4.00 when the Zig line as well as the price is increasing. This is a very simplistic trading system that could be greatly improved.
  53. Buy=(Graph4>Ref(Graph4,-1)) AND (C>4) AND (EMA(C,20)>=Ref(EMA(C,20),-1));
  54. //Sell signals are generated when the Zig Line is decreasing or price drops.
  55. Sell=(Graph4<(Ref(Graph4,-1))) OR (EMA(C,3)<(Ref(EMA(C,3),-1)*.98));
  56. Buy=ExRem(Buy,Sell);
  57. Sell=ExRem(Sell,Buy); 
  58. //It is assumed that transactions are made the next day after a buy/sell signal.
  59. BuyPrice=ValueWhen(Ref(Buy,-1),Open,0);
  60. SellPrice=ValueWhen(Ref(Sell,-1),Open,0);