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

RE: [amibroker] Graham & Bob Jagow "LineArray" "Gordon Sutherland"



PureBytes Links

Trading Reference Links


Thanks for the reply Gordon.
The Code you and Stephane Posted, looks like what I need to get
LineArrays though the history of a stock(s). Thanks.. My code needs
much work  yet so as to be more selective of Trend Line Breaks, but
now I will have data to work with, yeilding Explores and Backtest that
will give imperical data wether or not to base a system.. 

Thanks again,  Jack Kinsey

From:  "Gordon Sutherland" <gosuth@xxxx>
Date:  Fri Mar 4, 2005  2:37 pm
Subject:  RE: [amibroker] Re: Graham & Bob Jagow "LineArray"

ADVERTISEMENT
Yahoo! Personals 	Yahoo! Personals

I'm a:
Seeking a:
Age:
to
City or ZIP:

For the record, I initiated the code stated below (GBS). I must
qualify though that Bob Johnson wrote the smart stuff with the loop
for me.

 

Regards,


Gordon Sutherland

 

-----Original Message-----
From: Stephane Carrasset [mailto:nenapacwanfr@xxxxxxxxx]
Sent: Saturday, 5 March 2005 3:46 a.m.
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Re: Graham & Bob Jagow "LineArray"

 


that's remember me that I have already seen a code with many trend
line.
this code was written by ???
/* JOHN CLAYBURG BASED SUPPORT/RESISTANCE LINES
   Coded by GBS May 2004
/* CATEGORY 3 SUPPORT BREAKOUT TRIGGER FOR SHORTS: */

/* PARAMETERS */

ColLSC = ParamColor("SU Color",colorOrange);
ColLRC = ParamColor("RE Color",colorBlue);

LL_3_6 = Ref(L,-6) > Ref(L,-3);
LL_3_5 = Ref(L,-5) > Ref(L,-3);
LL_3_4 = Ref(L,-4) > Ref(L,-3);
LL_3_2 = Ref(L,-2) > Ref(L,-3);
LL_3_1 = Ref(L,-1) > Ref(L,-3);
LL_3_0 = L > Ref(L,-3);
Cat3Sup = LL_3_6 AND LL_3_5 AND LL_3_4 AND LL_3_2 AND LL_3_1 AND
LL_3_0;

/* SUPPORT LINE ("SC") */
y0=ValueWhen(Cat3Sup,Ref(L,-3),2);
y1=ValueWhen(Cat3Sup,Ref(L,-3),1);
x0=ValueWhen(Cat3Sup,BarIndex(),2)-3;
x1=ValueWhen(Cat3Sup,BarIndex(),1)-3;

// looking into the future here, but it is
// only applied to historical plots to determine
// the length of the extension.
xsf=ValueWhen(Cat3Sup,BarIndex(),0)-3;

/* CATEGORY 3 RESISTANCE BREAKOUT TRIGGER FOR LONGS: */
HH_3_6 = Ref(H,-6) < Ref(H,-3);
HH_3_5 = Ref(H,-5) < Ref(H,-3);
HH_3_4 = Ref(H,-4) < Ref(H,-3);
HH_3_2 = Ref(H,-2) < Ref(H,-3);
HH_3_1 = Ref(H,-1) < Ref(H,-3);
HH_3_0 = H < Ref(H,-3);
Cat3Res = HH_3_6 AND HH_3_5 AND HH_3_4 AND HH_3_2 AND HH_3_1 AND
HH_3_0;

y2=ValueWhen(Cat3Res,Ref(H,-3),2);
y3=ValueWhen(Cat3Res,Ref(H,-3),1);
x2=ValueWhen(Cat3Res,BarIndex(),2)-3;
x3=ValueWhen(Cat3Res,BarIndex(),1)-3;

// another look into the future.
xrf=ValueWhen(Cat3Res,BarIndex(),0)-3;

Plot(C,"C", colorBlack, styleCandle);

extendedSup=0;
extendedRes=0;

NullY0=IsNull(y0);
NullY2=IsNull(y2);

for ( i = BarCount -1 ; i > 7 ; i-- ) {
  if ( !NullY0[i] ){ // only plot lines when enough datapoints avail.
    if ( x0[i] != x0[i-1] ) {

      ms = (y1[i] - y0[i])/(x1[i] - x0[i]); // simple slope of support
     
      if ( NOT extendedSup ) { // Haven't extended one yet

        extendedSup = 1;
        Line1 = LineArray( x0[i], y0[i], x1[i] + 3, y1[i] + (3 *
ms),0,True);
        Plot(Line1,"",ColLSC,styleLine);

        Line2 = LineArray( x1[i] + 3, y1[i] + (3 * ms), x1[i] + 4,y1
[i] + (4 * ms), 1,True);
        Plot(Line2,"Cat3Sup",colorWhite,styleLine+styleNoRescale);

        Sell=Cross(Line2,C);
        PlotShapes(IIf
(Sell,shapeHollowDownArrow,shapeNone),colorRed,0,H,-10);

      } else { // old Cat3Sup lines, use 'look ahead' extensions

        Line3 = LineArray( x0[i], y0[i], x1[i] + 3, y1[i] + (3 *
ms),0,True);
        Plot(Line3,"",colorPink,styleLine);

        Line4 = LineArray( x1[i] + 3, y1[i] + (3 * ms),
                                   xsf[i] + 3, y1[i] + ms * (xsf[i] -
x1[i] + 3), 0,True);
        Plot(Line4,"Cat3Sup",colorWhite,styleLine+styleNoRescale);

        Sell=Cross(Line4,C);
        PlotShapes(IIf
(Sell,shapeHollowDownArrow,shapeNone),colorRed,0,H,-10);
      }
    }
  }

  if ( !NullY2[i] ){ // only plot lines when enough datapoints avail.
    if ( x2[i] != x2[i-1] ) {

      mr = (y3[i] - y2[i])/(x3[i] - x2[i]); // simple slope of
resistance

      if ( NOT extendedRes ) { // Haven't extended one yet

        extendedRes = 1;
        Line5= LineArray( x2[i], y2[i], x3[i] + 3, y3[i] + (3 *
mr),0,True);
        Plot(Line5,"",ColLRC,styleLine);

        Line6 = LineArray( x3[i] + 3, y3[i] + (3 * mr), x3[i] + 4,y3
[i] + (4 * mr), 1,True);
        Plot(Line6,"Cat3Sup",colorWhite,styleLine+styleNoRescale);

        Buy=Cross(C,Line6);
        PlotShapes(IIf
(Buy,shapeUpArrow,shapeNone),colorBrightGreen,0,L,-10);

      } else { // old Cat3Sup lines, use 'look ahead' extensions

        Line7= LineArray( x2[i], y2[i], x3[i] + 3, y3[i] + (3 *
mr),0,True);
        Plot(Line7,"",colorBlue,styleLine);

        Line8 = LineArray( x3[i] + 3, y3[i] + (3 * mr),
                                    xrf[i] + 3, y3[i] + mr * (xrf[i] -
x3[i] + 3), 0,True);
        Plot(Line8,"Cat3Sup",colorWhite,styleLine+styleNoRescale);

        Buy=Cross(C,Line8);
        PlotShapes(IIf
(Buy,shapeUpArrow,shapeNone),colorBrightGreen,0,L,-10);
      }
    }
  }
}

NumColumns = 0;

// EXPLORATION EXAMPLE:
Filter = Buy OR Sell;
AddTextColumn(FullName(),"Full name",77,colorPlum, IIf(Close <
1.00,colorYellow,colorDefault ) );
result = WriteIf(Buy,"Buy","Sell");
AddTextColumn(result,"Trade", formatChar, IIf
(Buy,colorDarkGreen,colorRed ),
IIf(Sell,colorPink,colorLime));
AddColumn(Ref(Close,-1),"Y-Close",1.4, IIf( ROC(Ref(C,-1),1)>=
0,colorDarkGreen, colorRed ),50 );
AddColumn(Open,"Open",1.4,IIf( ROC(Open, 1 ) >= 0, colorDarkGreen,
colorRed ) );
AddColumn(High,"High",1.4,IIf( ROC(High, 1 ) >= 0, colorDarkGreen,
colorRed ) );
AddColumn(Low,"Low",1.4,IIf( ROC(Low, 1 ) >= 0, colorDarkGreen,
colorRed ) );
AddColumn( Close, "Close", 1.4, IIf( ROC(C, 1 ) >= 0, colorDarkGreen,
colorRed ),50 );
AddColumn( ROC( Close, 1 ), "ROC(1)", 1.2, IIf( ROC(C, 1 ) >= 0,
colorDarkGreen, colorRed));
AddColumn( Volume, "Volume", 10.0, IIf( ROC(V, 1 ) >= 0,
colorDarkGreen, colorRed ) );
AddColumn( y3, "TL Break", 10.4, colorDarkBlue,37 );
AddColumn( ((Close-y3)/y3)*100, "TL Break %", 10.2,
colorDarkBlue,37 );
AddColumn( y1, "TL Break", 10.4, colorRed,40 );
AddColumn( ((Close-y1)/Close)*100, "TL Break %", 10.2, colorRed,40 );





------------------------ Yahoo! Groups Sponsor --------------------~--> 
In low income neighborhoods, 84% do not own computers.
At Network for Good, help bridge the Digital Divide!
http://us.click.yahoo.com/EpW3eD/3MnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

Check AmiBroker web page at:
http://www.amibroker.com/

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/