[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Pivot points ex (Simplified support resistance levels)



PureBytes Links

Trading Reference Links




Just changing the subject 
to reflect how the mood has changed.
 
I have revisited the code 
to remove some of the original ideas for support/res levels and now looking 
purely at pivot points. I am doing this on the fly as I create the chart image. 
I have now made a more general code for pivots that does produce more than 
required, but can now be refined as it progresses. I have also broken out each 
definition of points to show differently on the chart using squares and 
circles.
 
Any comments/suggestions 
appreciated. I also would like to say that I know that others have already 
produced code for these, but I am using the exercise for my purposes. I was 
going to use a loop function eventually as it was one reason I asked for help 
before when doing the count back line code. As yet I have not quite got my brain 
to see the use of loops except to maybe remove some of the surplus 
points.

//PIVOT POINTS
//Graham Kavanagh 1<SPAN 
class=284032804-12102003>2 Oct 2003<FONT 
color=#008000 size=2>
//Find turning points
top1 = ( H<FONT 
size=2>>=Ref<FONT 
size=2>(H<FONT 
size=2>,-1) 
AND <FONT 
color=#ff0000 size=2>H>=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>H,-<FONT color=#ff00ff 
size=2>2) <FONT color=#ff0000 
size=2>AND <FONT color=#ff0000 
size=2>H>=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>H,<FONT color=#ff00ff 
size=2>1) <FONT color=#ff0000 
size=2>AND <FONT color=#ff0000 
size=2>H>=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>H,<FONT color=#ff00ff 
size=2>2) );//red 
circle
top2 = ( H<FONT 
size=2>>=Ref<FONT 
size=2>(H<FONT 
size=2>,-1) 
AND <FONT 
color=#ff0000 size=2>H>=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>H,<FONT color=#ff00ff 
size=2>1) <FONT color=#ff0000 
size=2>AND <FONT color=#ff0000 
size=2>H>=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>H,<FONT color=#ff00ff 
size=2>2) );//red 
square
bot1 = ( L<FONT 
size=2><=Ref<FONT 
size=2>(L<FONT 
size=2>,-1) 
AND <FONT 
color=#ff0000 size=2>L<=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>L,-<FONT color=#ff00ff 
size=2>2) <FONT color=#ff0000 
size=2>AND <FONT color=#ff0000 
size=2>L<=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>L,<FONT color=#ff00ff 
size=2>1) <FONT color=#ff0000 
size=2>AND <FONT color=#ff0000 
size=2>L<=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>L,<FONT color=#ff00ff 
size=2>2) );//blue 
circle
bot2 = ( L<FONT 
size=2><=Ref<FONT 
size=2>(L<FONT 
size=2>,-1) 
AND <FONT 
color=#ff0000 size=2>L<=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>L,<FONT color=#ff00ff 
size=2>1) <FONT color=#ff0000 
size=2>AND <FONT color=#ff0000 
size=2>L<=<FONT color=#0000ff 
size=2>Ref(<FONT color=#ff0000 
size=2>L,<FONT color=#ff00ff 
size=2>2) );//blue 
square
//Indicator section
GraphXSpace=<FONT color=#ff00ff 
size=2>15;
Plot( <FONT color=#ff0000 
size=2>C, <FONT color=#8b0000 
size=2>"C", <FONT color=#ff0000 
size=2>colorLightGrey, <FONT color=#ff0000 
size=2>styleBar + <FONT color=#ff0000 
size=2>styleNoLabel );<FONT color=#0000ff 
size=2>
PlotShapes( (<FONT color=#ff0000 
size=2>shapeHollowSmallCircle + <FONT 
color=#ff0000 size=2>shapePositionAbove) * top1, 
colorRed, 
0, <FONT 
color=#ff0000 size=2>H, -<FONT color=#ff00ff 
size=2>5 );
PlotShapes( (<FONT color=#ff0000 
size=2>shapeHollowSmallSquare + <FONT 
color=#ff0000 size=2>shapePositionAbove) * top2, 
colorRed, 
0, <FONT 
color=#ff0000 size=2>H, -<FONT color=#ff00ff 
size=2>15 );
PlotShapes( <FONT color=#ff0000 
size=2>shapeHollowSmallCircle * bot1, <FONT 
color=#ff0000 size=2>colorBlue , <FONT 
color=#ff00ff size=2>0, <FONT color=#ff0000 
size=2>L, -<FONT color=#ff00ff 
size=2>5);
PlotShapes( <FONT color=#ff0000 
size=2>shapeHollowSmallSquare * bot2, <FONT 
color=#ff0000 size=2>colorBlue , <FONT 
color=#ff00ff size=2>0, <FONT color=#ff0000 
size=2>L, -<FONT color=#ff00ff 
size=2>15);
Title = <FONT color=#0000ff 
size=2>Name() + "; 
" + <FONT color=#0000ff 
size=2>Date() + "; 
Pivot Points 3, Red = peaks, blue = troughs" + 
"; High = " + 
H + <FONT 
color=#8b0000 size=2>", Low = " + <FONT 
color=#ff0000 size=2>L;
 
Cheers,Graham<A 
href="">http://groups.msn.com/ASXShareTrading<A 
href="">http://groups.msn.com/FMSAustralia 


  
  <FONT 
  face=Tahoma size=2>-----Original Message-----From: Graham 
  [mailto:gkavanagh@xxxxxxxxxxxxx] Sent: Sunday, 12 October 2003 8:25 
  AMTo: amibroker@xxxxxxxxxxxxxxxSubject: RE: [amibroker] 
  Simplified support resistance levels
  
  Gary, funny thing is I 
  was just about to click on the reply button when your email came 
  through.
  I wish I was really good 
  at AFL, but I still just do the simple methods. Too much complexity tends to 
  bamboozle me easily these days :)
  <FONT 
face=Arial> 
  I think it all comes down 
  to how you define a pivot point. I just tried it by one method. I don't 
  believe you could ever say that a certain bar is a pivot until the subsequent 
  bars move in the opposite direction. So by my understanding referencing future 
  is necessary when finding them. Sorry probably off the track with your 
  query.
  <FONT 
face=Arial> 
  It would be possible to 
  have, say a pivot high, but no corresponding following pivot low. An example 
  that comes to mind is you may get a high then a few consecutive inside 
  days before the price continues up. This would create a pivot high, but 
  no real pivot low, just a short congestion.
  <FONT 
face=Arial> 
  I have been doodling with 
  various scenarios for defining pivot points and have added one to my 
  definition, code below (I have also changed the title of the code to better 
  reflect what it is finding, or trying to find)
  
  //PIVOT 
  POINTS
  //Graham Kavanagh <SPAN 
  class=947310913-11102003>11 Oct 
  2003
  //Find turning points
  top = ( H==<FONT 
  color=#0000ff>HHV(H,<FONT 
  color=#ff00ff>3) AND <FONT 
  color=#ff0000>H>=Ref(<FONT 
  color=#ff0000>H,1) <FONT 
  color=#ff0000>AND H>=<FONT 
  color=#0000ff>Ref(H,<FONT 
  color=#ff00ff>2) )
  OR ( H==<FONT 
  color=#0000ff>HHV(H,<FONT 
  color=#ff00ff>3) AND <FONT 
  color=#ff0000>H>=Ref(<FONT 
  color=#ff0000>H,1) <FONT 
  color=#ff0000>AND Ref(<FONT 
  color=#ff0000>O,1)><FONT 
  color=#0000ff>Ref(C,<FONT 
  color=#ff00ff>1) );
  bot = ( L==<FONT 
  color=#0000ff>LLV(L,<FONT 
  color=#ff00ff>3) AND <FONT 
  color=#ff0000>L<Ref(<FONT 
  color=#ff0000>L,1) <FONT 
  color=#ff0000>AND L<<FONT 
  color=#0000ff>Ref(L,<FONT 
  color=#ff00ff>2) )
  OR ( L==<FONT 
  color=#0000ff>LLV(L,<FONT 
  color=#ff00ff>3) AND <FONT 
  color=#ff0000>L<=Ref(<FONT 
  color=#ff0000>L,1) <FONT 
  color=#ff0000>AND Ref(<FONT 
  color=#ff0000>C,1)><FONT 
  color=#0000ff>Ref(O,<FONT 
  color=#ff00ff>1) );
  //Calculate movement between turning points
  topH = ValueWhen(top,<FONT 
  color=#ff0000>H);
  botL = ValueWhen(bot,<FONT 
  color=#ff0000>L);
  moveup = Ref(botL,-<FONT 
  color=#ff00ff>1)<botL;
  movedown = Ref(topH,-<FONT 
  color=#ff00ff>1)>topH;
  diffup = IIf( moveup, botL - <FONT 
  color=#0000ff>ValueWhen( moveup, topH ), <FONT 
  color=#ff0000>Null);
  diffdown = IIf( movedown, topH- <FONT 
  color=#0000ff>ValueWhen( movedown, botL ), <FONT 
  color=#ff0000>Null);
  //Indicator section
  GraphXSpace=5;<FONT 
  color=#0000ff>
  Plot( C, <FONT 
  color=#8b0000>"C", <FONT 
  color=#ff0000>colorLightGrey, <FONT 
  color=#ff0000>styleBar+<FONT 
  color=#ff0000>styleNoLabel );
  PlotShapes( (<FONT 
  color=#ff0000>shapeHollowSmallCircle+<FONT 
  color=#ff0000>shapePositionAbove)*top, <FONT 
  color=#ff0000>colorRed, 0, 
  H );
  PlotShapes( (<FONT 
  color=#ff0000>shapeHollowSmallCircle)*bot, <FONT 
  color=#ff0000>colorBlue , 0, 
  L);
  Title = Name()+<FONT 
  color=#8b0000>" "+Date()+ 
  " Volatility, Red dots = peaks, blue = 
  troughs" + ", down move = "
  + diffup + ", up move = " + diffdown + 
  ", High = " + <FONT 
  color=#ff0000>H + ", Low = " + 
  L;
   
   
  Cheers,Graham<A 
  href="">http://groups.msn.com/ASXShareTrading<A 
  href="">http://groups.msn.com/FMSAustralia 
  
  
    
    <FONT 
    face=Tahoma size=2>-----Original Message-----From: Gary A. 
    Serkhoshian [mailto:serkhoshian777@xxxxxxxxx] Sent: Saturday, 11 
    October 2003 1:39 AMTo: 
    amibroker@xxxxxxxxxxxxxxxSubject: RE: [amibroker] Simplified 
    support resistance levels
    Graham,
     
    Just thinking about the looking into the future issue.  How could 
    it be possible to break the pivot high level while still forming and the 
    pivot high condition still be true.  It does not seem to be 
    possible.
     
    Any thoughts?  Just want to put this to bed.
     
    Regards,
    GaryGraham <gkavanagh@xxxxxxxxxxxxx> 
    wrote:
    <BLOCKQUOTE class=replbq 
    >Thanks 
      for that Gary, gives me something to try to work them out, andwhether 
      I need them.Further to this simple support/resistance formula I am 
      looking at it to workout what the retracements are during trends. I am 
      just starting putting thistogether and look for any input to help 
      simplify or enhance. I see this asbeing used to determine box sizes 
      for P&F charts, swing points and settingtrailing stop levels to 
      name a few.Here is what I have so far//RETRACEMENTS TO 
      FIND VOLATILITY//Graham Kavanagh 10 Oct 2003//Find turning 
      pointstop = H==HHV(H,3) AND H>=Ref(H,1) AND H>=Ref(H,2);bot 
      = L==LLV(L,3) AND L<=Ref(L,1) AND L<=Ref(L,2);//Calculate 
      movement between turning pointstopH = ValueWhen(top,H);botL = 
      ValueWhen(bot,L);moveup = Ref(botL,-1)<botL;movedown = 
      Ref(topH,-1)>topH;diffup = IIf( moveup, botL - ValueWhen( moveup, 
      topH ), Null);diffdown = IIf( movedown, topH- ValueWhen( movedown, 
      botL ), Null);//Indicator sectionGraphXSpace=5;Plot( C, 
      "C", colorLightGrey, styleBar+styleNoLabel );PlotShapes( 
      (shapeHollowSmallCircle+shapePositionAbove)*top, colorRed, 0, 
      H);PlotShapes( (shapeHollowSmallCircle)*bot, colorBlue , 0, 
      L);Plot(diffup, "diffup", colorAqua, 
      styleHistogram+styleLeftAxisScale);Plot(diffdown, "diffdown", 
      colorLime, styleHistogram+styleLeftAxisScale);Plot(0, "0", colorBlack, 
      styleLine+styleLeftAxisScale);Title = Name()+" "+Date()+ " Volatility, 
      Red dots = peaks, blue = troughs" +", down move = " + diffup + ", up 
      move = " + diffdown + ", High = " + H + ",Low = " + 
      L;Cheers,Graham<A 
      href="">http://groups.msn.com/ASXShareTrading<A 
      href="">http://groups.msn.com/FMSAustralia-----Original 
      Message-----From: Gary A. Serkhoshian 
      [mailto:serkhoshian777@xxxxxxxxx] Sent: Friday, 10 October 2003 12:41 
      PMTo: amibroker@xxxxxxxxxxxxxxxSubject: RE: [amibroker] Simplified 
      support resistance levelsHi Graham,I forgot to include the 
      PivotLow function on the last send.  Both are below.You'd use the 
      functions like this:#pragma nocache#include "Wherever you put your 
      afl file with the functions"PH = PivotHigh(3,3); PL = 
      PivotLow(3,3);Plot( C, "C", colorLightGrey, styleBar+styleNoLabel 
      );Plot( PH, "res", colorRed, styleDots+styleNoLine );Plot( PL, 
      "sup", colorGreen, styleDots+styleNoLine );Title = Name() + ", " + 
      Date() + ", Support & Resistance Levels Support = "+ PH + ", 
      Resistance = " + PL ;If you are using functions embedded in your 
      afl, make sure they are abovethe code that actually calls 
      them.e.g.  Function Blah(Len);{return 
      MoreBlah;}BL = 
      Blah(5);Plot(BL,"BL",colordefault,styleline);Hope this 
      helps,GaryCODE BELOW FOR THE PIVOT LOW/HI FUNCTIONS//===== 
      PivotHigh(LeftStr, RightStr) 
      ====================================/*SUPPORT & RESISTANCE 
      LEVELSGraham Kavanagh 9 Oct 2003Returns High value of 
      pivot*/function PivotHigh(LeftStr, RightStr){//Find 
      turning pointstop = H == HHV(H,LeftStr+1) AND H == 
      Ref(HHV(H,RightStr+1), RightStr);topH = ValueWhen(top,H);return 
      topH;}//======= PivotLow(LeftStr, RightStr) 
      ====================================/*SUPPORT & RESISTANCE 
      LEVELSGraham Kavanagh 9 Oct 2003Returns Low value of 
      pivot*/function PivotLow(LeftStr, RightStr){//Find turning 
      pointsBOT = L == LLV(L,LeftStr+1) AND L == Ref(LLV(L,RightStr+1), 
      RightStr);BOTL = ValueWhen(BOT,L);return 
      BOTL;}Graham <gkavanagh@xxxxxxxxxxxxx> 
      wrote:Thanks Gary That makes it interesting as I have not yet 
      tried the function function :) Do you just put the numbers you want 
      into the intital function setting Eg  function 
      PivotHigh(2, 4)Cheers,Graham<A 
      href="">http://groups.msn.com/ASXShareTrading<A 
      href="">http://groups.msn.com/FMSAustralia-----Original 
      Message-----From: Gary A. Serkhoshian 
      [mailto:serkhoshian777@xxxxxxxxx] Sent: Friday, 10 October 2003 11:43 
      AMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker] Simplified 
      support resistance levelsHi Graham,I just added the 
      ability to have variable right and left strength andconverted into a 
      function.  Hope this saves you some work, and thanks forall the 
      posts and code you've 
      contributed.Regards,Gary//==========  
      PivotHigh(LeftStr, RightStr)  
      ============================/*SUPPORT & RESISTANCE 
      LEVELSGraham Kavanagh 9 Oct 2003Returns High value of 
      pivot*/function PivotHigh(LeftStr, RightStr){//Find 
      turning pointstop = H == HHV(H,LeftStr+1) AND H == 
      Ref(HHV(H,RightStr+1), RightStr);topH = ValueWhen(top,H);return 
      topH;}Graham <gkavanagh@xxxxxxxxxxxxx> wrote: I 
      have been looking at various ways to chart the support resistance 
      elevels,ultimately to incorporate into various trading systems. Having 
      attemptedloops and other methods of differing complexity I pulled back 
      to thesimplest of forms, price.Now this is probably already shown 
      somewhere, but will share it anyway.Any comments 
      appreciated//SUPPORT & RESISTANCE LEVELS//Graham Kavanagh 
      9 Oct 2003//Find turning pointstop = H==HHV(H,3) AND 
      H>=Ref(H,1) AND H>=Ref(H,2);bot = L==LLV(L,3) AND L<=Ref(L,1) 
      AND L<=Ref(L,2);topH = ValueWhen(top,H);botL = 
      ValueWhen(bot,L);//Indicator sectionGraphXSpace=5;Plot( C, 
      "C", colorLightGrey, styleBar+styleNoLabel );Plot( topH, "res", 
      colorRed, styleDots+styleNoLine );Plot( botL, "sup", colorGreen, 
      styleDots+styleNoLine );Title = Name() + ", " + Date() + ", 
      Support & Resistance Levels Support = "+ topH + ", Resistance = " 
      + botL ;Cheers,Graham<A 
      href="">http://groups.msn.com/ASXShareTrading<A 
      href="">http://groups.msn.com/FMSAustraliaSend 
      BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
      suggest@xxxxxxxxxxxxx-----------------------------------------Post 
      AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
      <A 
      href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
      group FAQ at:<A 
      href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
      Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
      Service. Do you Yahoo!?The New Yahoo! Shopping - with 
      improved product search Yahoo! Groups SponsorSend BUG 
      REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
      suggest@xxxxxxxxxxxxx-----------------------------------------Post 
      AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
      <A 
      href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
      group FAQ at:<A 
      href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
      Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
      Service. Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend 
      SUGGESTIONS to 
      suggest@xxxxxxxxxxxxx-----------------------------------------Post 
      AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
      <A 
      href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
      group FAQ at:<A 
      href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
      Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
      Service. Do you Yahoo!?The New Yahoo! Shopping - with 
      improved product search Yahoo! Groups 
      SponsorADVERTISEMENTSend BUG REPORTS to 
      bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
      suggest@xxxxxxxxxxxxx-----------------------------------------Post 
      AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
      <A 
      href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
      group FAQ at:<A 
      href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
      Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
      Service. Send BUG REPORTS to 
      bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
      suggest@xxxxxxxxxxxxx-----------------------------------------Post 
      AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
      <A 
      href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
      group FAQ at: <A 
      href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
      Your use of Yahoo! Groups is subject to the <A 
      href="">Yahoo! Terms of Service. 
      
    
    
    Do you Yahoo!?<A 
    href="">The 
    New Yahoo! Shopping - with improved product search Send BUG 
    REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Your use of Yahoo! Groups is subject to the <A 
    href="">Yahoo! Terms of Service. 
    Send 
  BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor


  ADVERTISEMENT 









Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.