PureBytes Links
Trading Reference Links
|
Hi
Gordon posted Swing Pivots code on 02-04-2004, please check archive.
Drazen
----- Original Message -----
From: "dsagerstrand" <dsagerstrand@xxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Friday, February 13, 2004 10:28 PM
Subject: [amibroker] Coding Swing Highs and Lows
> Hi,
>
> I'm attempting to write some code to identify and chart swing highs
> and swing lows. Basically, I'm defining these highs and lows the
> same way the ZigZag function defines Peaks and Troughs, but with the
> following exceptions:
>
> (a) I want to measure change in points rather than as a percentage,
> and
>
> (b) I want to be able to measure from Highs to Lows, rather than just
> Highs to Highs, Lows to Lows, Closes to Closes, or Opens to Opens.
>
> Before I make these modifications however, I've been trying to mimic
> the existing Peak and Trough AFL functions. I first wrote the
> following code as a comparative study to identify Peaks and Troughs
> as AFL defines them (marking Peaks green and Troughs red on a
> candlestick chart).
>
> Plot(C,"Close",IIf(PeakBars(C,5,1)==0,colorGreen,IIf(TroughBars(C,5,1)
> ==0,colorRed,colorBlack)),styleCandle);
>
> I then set about writing code to mimic this, but without using the
> Zig, Peak, or Trough AFL functions. Initially I thought about using
> the BarsSince function to determine whether the price retraced the
> specified percentage on either side of the potential Peak or Trough
> before being taken out. For example, a Peak formed by the Zig(C,5)
> function would have to have a close on either side which was 5% below
> the close of the Peak before price closed above the peak. However,
> the BarsSince function does not seem to accomodate this, as you can't
> compare the closes of two different bars (unless you use the Ref
> function in which case you would have to know the exact bars you were
> comparing).
>
> At any rate, I finally came up with the following code for
> identifying peaks, but it is generating errors (presumably because it
> is choking on the BarIndex() function calls in the for loops):
>
> function pH( ARRAY, pctChange )
> {
> threshold = ARRAY * (1-(pctChange/100)); // price that must be
> retraced to confirm peak
> bH = False; // flag = true when peak is confirmed
>
> // Check price to left of potential peak
> for (i=BarIndex()-1; i>=0 AND bH==False AND ARRAY[i]<=ARRAY
> [BarIndex()]; i--)
> {
> if (ARRAY[i] <= threshold)
> {
> // Check price to right of potential peak
> for (j=BarIndex()+1; j<=BarCount AND bH==False AND ARRAY
> [j]<=ARRAY[BarIndex()]; j++)
> {
> if (ARRAY[j] <= threshold)
> {
> bH=True;
> }
> }
> }
> }
> return bH;
> }
>
> Plot(C,"Close",IIf(pH(C,5),colorGreen,colorBlack),styleCandle);
>
> Does anyone have any suggestions? At this point I'm pretty much
> stumped and would welcome any help.
>
> Thanks,
> David
>
>
>
>
>
> 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
> Yahoo! Groups Links
>
>
>
>
>
>
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/GHeqlB/TM
---------------------------------------------------------------------~->
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
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|