I have made some changes to the AFL. Need some more help. How do I scan for breakouts above the earlier swing high or swing low? Here are the changes that I have made:
_SECTION_BEGIN("Price Chart");
bgTop = ParamColor("BgTop", colorBlack);
bgBot = ParamColor("BgBottom", colorBlack);
SetChartBkGradientFill( bgTop ,bgBot, colorBlack);
pStyle = ParamList("Price Style", "Candle|Solid Candle|Bar|Line|Heikin-Ashi",2);
cBull = ParamColor("Price Bull", colorBrightGreen);
CBear = ParamColor("Price Bear", colorRed);
cLine = ParamColor("Price Line", colorLavender);
Plot (EMA(Close,200), "", colorBrightGreen,styleNoLabel |styleThick |styleDashed);
_SECTION_BEGIN("Magnified Market Price");
FS=Param("Font Size",30,30,100,1);
GfxSelectFont("Arial", FS, 900, italic = False, underline = False, True );
GfxSetBkMode( colorOrange );
GfxSetTextColor( ParamColor("Color",colorYellow) );
//Hor=Param("Horizontal Position",800,800,800,800);
Hor=Param("Horizontal Position",20,20,500,20);
Ver=Param("Vertical Position",50,50,250,50);
GfxTextOut(""+C,Hor , Ver );
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)*100,2);
GfxSelectFont("Arial", 12, 700, italic = False, underline = False, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor(ParamColor("Color",colorYellow) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor+5, Ver+45 );
_SECTION_END();
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}}- {{INTERVAL}} {{DATE}} O= %g, H= %g, L= %g, C= %g (%.1f%%) V= " +WriteVal( V, 1.0 ) +"\n{{VALUES}}", O, H, L, C,
SelectedValue( ROC( C, 1 )) ));
ThisStyle = styleCandle;
ThisTitle = "";
_O=O; _C=C; _H=H; _L=L;
ThisColor = IIf( _C>_O, cBull, IIf(_C<_O, CBear, CLine));
switch (pStyle )
{
case "Solid Candle":
SetBarFillColor( ThisColor );
break;
case "Bar":
ThisStyle = styleBar;
break;
case "Line":
ThisStyle = styleLine;
ThisColor = cLine;
break;
case "Heikin-Ashi":
_C = (O+H+L+C)/4;
_O = AMA( Ref( _C, -1 ), 0.5 );
_H = Max( H, Max( _C, _O ) );
_L = Min( L, Min( _C, _O ) );
ThisColor = IIf(_C >= _O,CBull, CBear);
SetBarFillColor( ThisColor );
ThisColor = IIf(_C >= _O,cLine, cLine);
ThisTitle = "Heikin-Ashi";
break;
default:
SetBarFillColor( ThisColor );
ThisColor = cLine;
break;
}
PlotOHLC( _O, _H, _L, _C, ThisTitle, ThisColor, ThisStyle);
GraphXSpace = 8;
_SECTION_END();
_SECTION_BEGIN("Swing Chart");
H1 = Ref( H, -1 );
H2 = Ref( H, -2);
H3 = Ref( H, -3);
L1 = Ref( L, -1 );
L2 = Ref( L, -2 );
L3 = Ref( L, -3 );
Up = H > H1 AND L > L1 OR ( H1 > H2 AND L1 > L2 AND (H > H1 AND L < L1)) OR ( H2 > H3 AND L2 > L3 AND (H1 > H2 AND L1 < L2));
Down = H < H1 AND L < L1 OR ( L1 < L2 AND H1 < H2 AND (L < L1 AND H > H1)) OR ( L2 < L3 AND H2 < H3 AND (L1 < L2 AND H1 > H2));
// give High on "up" bars, Low on "down" bars, keep previous value otherwise
result = ValueWhen( Up OR Down, IIf( Up, High, Low ) );
Plot(result, "swing",colorWhite,styleLine |styleThick);
_SECTION_END();