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