Price with Woodies Pivots.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Price with Woodies Pivots
  4. //  Author/Uploader: Larry Jameson 
  5. //  E-mail:          cljameson@hotmail.com
  6. //  Date/Time Added: 2004-11-16 18:19:36
  7. //  Origin:          
  8. //  Keywords:        Price Woodie Woodies Pivots
  9. //  Level:           semi-advanced
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=406
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=406
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Produces a price chart with Woodies Pivots. Only the pivots within a
  17. //  specified range are displayed to prevent autoscaling problems
  18. //
  19. //------------------------------------------------------------------------------
  20. ////////////////////////////
  21. // Price with Woodies Pivots - Coded by Wring
  22. // Amibroker 4.63.1
  23. ////////////////////////////
  24. //
  25. // Note:  Turn on GridLine boxes "Middle" and "Show Dates" 
  26. //        in the dialogue box just below
  27. //
  28. //   Set the Background Colour to DarkOliveGreen
  29. //   Set the Axes Colour to White
  30. //
  31. ////////////////////////////////////
  32. // Calculate and plot Woodies Pivots
  33. ////////////////////////////////////
  34. function Pivots()
  35. {
  36. TimeFrameSet(inDaily);
  37. //global R1,R2,S1,S2,PP,ColorR,ColorS,ColorP;
  38. PP  =  round((Ref(H,-1) + Ref(L,-1) + O*2) / 4);
  39. R1  =  (2 * PP) - Ref(L,-1);
  40. S1  =  (2 * PP)  - Ref(H,-1);
  41. R2  =  (PP - S1) + R1;
  42. S2  =  PP - (R1 - S1);
  43. TimeFrameRestore();
  44. ColorR = colorRose;  // Resistance Bars colour
  45. ColorS = colorOrange;  // Support Bars colour
  46. ColorP = colorSkyblue;  // Woodies Pivot colour
  47. // set all pivots but last to close +5
  48. // This is done to eliminate problems with autoscaling
  49. //
  50. for (i=0;i<(BarCount-2);i++)
  51. {
  52. PP[i] = H[i]+5;
  53. R1[i] = H[i]+5;
  54. R2[i] = H[i]+5;
  55. S1[i] = H[i]+5;
  56. S2[i] = H[i]+5;
  57. }
  58. //
  59. // I want the pivot line to emerge as a straight line from the right
  60. // side of the chart
  61. //
  62. for (i=BarCount-2;i>(BarCount-13);i--)//set the last bars to the final PP value
  63. {
  64. PP[i] = PP[BarCount-1];
  65. R1[i] = R1[BarCount-1];
  66. R2[i] = R2[BarCount-1];
  67. S1[i] = S1[BarCount-1];
  68. S2[i] = S2[BarCount-1];
  69. ColorR[i] = colorRose;
  70. ColorS[i] = colorOrange;
  71. ColorP[i] = colorSkyblue;
  72. }
  73. //
  74. // Conceal all but the trailing portion of the line
  75. //
  76. for (i=0;i<BarCount-10;i++) //hide the line except most recent 10 bars
  77. {
  78. ColorR[i] = ColorS[i] = ColorP[i] = colorDarkOliveGreen;
  79. }
  80. //
  81. // If price is above or below current price by more than this 
  82. // amount then the pivot won't print.  Trying to print offscreen
  83. // values causes problems with autoscaling
  84. //
  85. tolerance = 25;  
  86. //
  87. // Over how many bars should the tolerance be applied
  88. //
  89. range=30;
  90. // 
  91. // set up some constants
  92. //
  93. LastBar = BarCount-1;
  94. HiVal = HHV(H,range);
  95. LoVal = LLV(L,range);
  96. style = styleLine;
  97. //
  98. //only plot pivots close to price
  99. //
  100. if (PP[LastBar]<(HiVal[LastBar]+tolerance) AND 
  101. PP[LastBar]>(LoVal[LastBar]-tolerance))
  102. {
  103. // PlotOHLC(PP,PP,PP,PP,"PP",colorSkyblue);
  104. Plot(PP,"PP",ColorP,style);
  105. }
  106. if (R1[LastBar]<(HiVal[LastBar]+tolerance) )//only plot pivots close to close price
  107. {
  108. Plot(R1,"R1",ColorR,style);
  109. }
  110. if (R2[LastBar]<(HiVal[LastBar]+tolerance) )//only plot pivots close to close price
  111. {
  112. Plot(R2,"R2",ColorR,style);
  113. }
  114. if (S1[LastBar] > (LoVal[LastBar]-tolerance) )//only plot pivots close to close price
  115. {
  116. Plot(S1,"S1",ColorS,style);
  117. }
  118. if (S2[LastBar] > (LoVal[LastBar]-tolerance) )//only plot pivots close to close price
  119. {
  120. Plot(S2,"S2",ColorS,style);
  121. }
  122. }
  123. // Main Program starts here
  124. ////////////////////////////
  125. // Price with Woodies Pivots 
  126. ////////////////////////////
  127. CCI14 = CCI(14);
  128. LSMA = round(LinearReg( Close, 25 )); 
  129. // Plot Woodies Pivots
  130. pivots();
  131. // Setup the title
  132. TitleStr = Interval(2) + " " + Name() + ", " + 
  133. EncodeColor(colorPink) + 
  134. "Price=" + H + ", " + L + ", " + C + ", " + 
  135. EncodeColor(colorTurquoise) + "34EMA" + ",n" +
  136. EncodeColor(colorYellow) + "25lsma" + 
  137. EncodeColor(colorCustom12) + ", " +
  138. EncodeColor(colorWhite) + Date();
  139. Title = TitleStr;
  140. // Plot the price bars
  141. PlotOHLC(O,H,L,C,"Price",
  142. IIf(C >= Ref(C,-1),colorGreen,colorRed),styleCandle);
  143. Plot(EMA(C,34),"ema34",colorTurquoise,styledashed | styleNoLabel);
  144. Plot(LSMA,"lsma",colorYellow,styleLine | styleNoLabel);