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

RE: [amibroker] Simplified support resistance levels



PureBytes Links

Trading Reference Links



Graham,
Don't know if this is any help, but there was a TAS&C article (by
Alex Saita?) a few years ago in which he used a moving average of the
close to separate the high and low points.  Pivot highs were the
highest point above the MA and vice versa for the pivot lows.  Pivot
highs and lows would always alternate.
HHP
===================
At 05:24 PM 11/10/2003, you wrote:
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 :)
 
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.
 
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.
 
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 11 Oct 2003
//Find turning points

top = (
H==HHV(H,3)
AND
H>=Ref(H,1) AND H>=Ref(H,2) )

OR ( H==HHV(H,3) AND H>=Ref(H,1) AND Ref(O,1)>Ref(C,1) );
bot = ( L==LLV(L,3) AND L<Ref(L,1) AND L<Ref(L,2) )

OR ( L==LLV(L,3) AND L<=Ref(L,1) AND Ref(C,1)>Ref(O,1) );

//Calculate movement between turning points

topH = 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 section

GraphXSpace=5;

Plot( C, "C", colorLightGrey, styleBar+styleNoLabel );

PlotShapes( (shapeHollowSmallCircle+shapePositionAbove)*top, colorRed, 0, H );

PlotShapes( (shapeHollowSmallCircle)*bot, colorBlue , 0, L);

Title = Name()+" "+Date()+ " Volatility, Red dots = peaks, blue = troughs" + ", down move = "

+ diffup + ", up move = " + diffdown + ", High = " + H + ", Low = " + L;
 
 
Cheers,
Graham
http://groups.msn.com/ASXShareTrading
http://groups.msn.com/FMSAustralia 


-----Original Message-----

From: Gary A. Serkhoshian [mailto:serkhoshian777@xxxxxxxxx] 

Sent: Saturday, 11 October 2003 1:39 AM

To: amibroker@xxxxxxxxxxxxxxx

Subject: 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,

Gary

Graham <gkavanagh@xxxxxxxxxxxxx> wrote:

Thanks for that Gary, gives me something to try to work them out, and

whether I need them.

Further to this simple support/resistance formula I am looking at it to work

out what the retracements are during trends. I am just starting putting this

together and look for any input to help simplify or enhance. I see this as

being used to determine box sizes for P&F charts, swing points and setting

trailing stop levels to name a few.


Here is what I have so far

//RETRACEMENTS TO FIND VOLATILITY

//Graham Kavanagh 10 Oct 2003

//Find turning points

top = 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 points

topH = 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 section

GraphXSpace=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

http://groups.msn.com/ASXShareTrading

http://groups.msn.com/FMSAustralia

-----Original Message-----

From: Gary A. Serkhoshian [mailto:serkhoshian777@xxxxxxxxx] 

Sent: Friday, 10 October 2003 12:41 PM

To: amibroker@xxxxxxxxxxxxxxx

Subject: RE: [amibroker] Simplified support resistance levels


Hi 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 above

the code that actually calls them.

e.g.  

Function Blah(Len);

{

return MoreBlah;

}

BL = Blah(5);

Plot(BL,"BL",colordefault,styleline);

Hope this helps,

Gary

CODE BELOW FOR THE PIVOT LOW/HI FUNCTIONS

//===== PivotHigh(LeftStr, RightStr) ====================================

/*

SUPPORT & RESISTANCE LEVELS

Graham Kavanagh 9 Oct 2003

Returns High value of pivot

*/

function PivotHigh(LeftStr, RightStr)

{

//Find turning points

top = H == HHV(H,LeftStr+1) AND H == Ref(HHV(H,RightStr+1), RightStr);

topH = ValueWhen(top,H);

return topH;

}

//======= PivotLow(LeftStr, RightStr) ====================================

/*

SUPPORT & RESISTANCE LEVELS

Graham Kavanagh 9 Oct 2003

Returns Low value of pivot

*/

function PivotLow(LeftStr, RightStr)

{

//Find turning points

BOT = 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

http://groups.msn.com/ASXShareTrading

http://groups.msn.com/FMSAustralia

-----Original Message-----

From: Gary A. Serkhoshian [mailto:serkhoshian777@xxxxxxxxx] 

Sent: Friday, 10 October 2003 11:43 AM

To: amibroker@xxxxxxxxxxxxxxx

Subject: Re: [amibroker] Simplified support resistance levels


Hi Graham,

I just added the ability to have variable right and left strength and

converted into a function.  Hope this saves you some work, and thanks for

all the posts and code you've contributed.

Regards,

Gary

//==========  PivotHigh(LeftStr, RightStr)  ============================

/*

SUPPORT & RESISTANCE LEVELS

Graham Kavanagh 9 Oct 2003

Returns High value of pivot

*/

function PivotHigh(LeftStr, RightStr)

{

//Find turning points

top = 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 attempted

loops and other methods of differing complexity I pulled back to the

simplest 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 points

top = 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 section

GraphXSpace=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

http://groups.msn.com/ASXShareTrading

http://groups.msn.com/FMSAustralia


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. 


Do you Yahoo!?

The New Yahoo! Shopping - with improved product search 

Yahoo! Groups Sponsor


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. 


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. 


Do you Yahoo!?

The New Yahoo! Shopping - with improved product search 

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. 


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. 


Do you Yahoo!?
The New Yahoo! Shopping - with improved product search 
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. 

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. 






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.