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.
|