//  RASHEED'S BREAKOUTS
 
//  help requested for adding an exploration 
for End of Day breakouts
 
/*  coded by NW Trader 
1-29-10 
with exploration, chart signals and chart options
 
          
toggle parameter to select between C or H & L for the breakout 
crossings
 
          
toggle parameter added to remove extra trade 
signals
 
          
Volume at price added
 
*/ 
 
  _SECTION_BEGIN("BREAK 
OUTS");
 
  //  ============ == Standard Chart Code 
============ ========= =======
 
  
 
CodeName 
= "Rasheed's 
Breakouts" 
; 
 
SetFormulaName("Rasheed's 
Breakouts" 
);
 
  //   ------------ ---  Controls for Chart Display  
------------ --------- --------- ----
 
                
SetChartOptions(0,chartShowDates|chartWrapTitle);
 
              
if( 
ParamToggle("Tooltip 
shows", 
"All 
Values|Only Prices" 
) )
 
                   
{
 
                   
ToolTip=StrFormat("Open: 
%g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%) \nVolume: "+NumToStr( 
V, 
1 
), O, 
H, 
L, 
C, 
SelectedValue( 
ROC( 
C, 
1 
)));
 
                   
}
 
              
space = Param("Space 
on Chart", 
20, 
-15, 
50, 
1);
 
              
GraphXSpace 
= space;             
    
 
              
SetChartBkColor(  ParamColor("Background 
Color" 
, colorLightGrey) 
);
 
  // 
============ ===== Rasheed's original code (with Lookback and Shift default set 
to his specs) ============ =====
 
  H0=H;
 
  L0=L;
 
  C0=C;
 
  O0=O;
 
  Lookback=Param("LookBack",10,10,50,1); 
// 
Default for interday commodity currency trading
 
  shift=Param("Shift", 
5,1,50,1);                     
// 
?
 
  x0=LastValue(Cum(1));
 
  x1=x0-shift;
 
  H=Ref(H,-shift+1);
 
  L=Ref(L,-shift+1);
 
 H1=LastValue(Ref(HHV(H,Lookback),-1));
 
 L1=LastValue(Ref(LLV(L,Lookback),-1));
 
  Plot(H1,"H1",colorYellow);
 
  Plot(L1,"L1",colorYellow);
 
  H=H0;L=L0;C=C0;O=O0;
 
  up=Cross(H,H1) 
AND 
Cum(1)>x1;
 
  dn=Cross(L1,L) 
AND 
Cum(1)>x1;
 
  Plot(C,"Close",IIf(Cum(1)>x1-Lookback 
AND 
Cum(1)<=x1,colorBlue,IIf
 
(Up,colorBrightGreen,IIf( 
Dn,colorRed,colorBlack))),64);
 
PlotShapes(shapeDownArrow*(Cum(1)==x1+1),colorBlue);
 
  
 
// 
============ ========= == Exploration and Signal Code 
============ =====
 
  
 
TRIGGER 
= ParamToggle("Trigger 
" 
,"CLOSE|HIGH 
OR LOW") 
;
 
  XH1 
= Cross(C,H1) 
;
 
XL1 
= Cross(L1,C);
 
XH2 
= Cross(H,H1);
 
XL2 
= Cross(L1,L);
 
  if( 
TRIGGER ==0)
 
{  
 
Buy 
=  XH1 ; 
 
Sell 
=  XL1 ; 
}
 
else
 
{  
 
Buy 
=  XH2 ; 
 
Sell 
=  XL2 ; 
 
}
 
TradeDisplay 
= ParamToggle("Remove 
Extra Trades?", 
"No|Yes");
 
  
 
if(TradeDisplay 
== 0)
 
{ 
}
 
else
 
{
 
 Buy 
= ExRem(Buy,Sell); 
Sell  = ExRem(Sell,Buy);  // 
THIS WILL REMOVE EXESS SIGNALS ON A CHART OR IN AN EXPLORATION 
 
}
 
Filter 
= Buy 
OR 
Sell;
 
  Action 
= "">WriteIf(Buy, 
"BUY", 
WriteIf( 
Sell, 
"SELL",  "   " 
) );
 
  AddTextColumn(IndustryID(1) 
,"Industry 
Sector  ", 
30.0, 
colorBlue, 
colorYellow);
 
AddColumn(C, 
"Last 
",2.2, 
colorWhite,colorBlue);
 
AddTextColumn(Action, 
"Action", 
8.0, 
IIf(XH1, 
colorDarkGreen, 
colorDarkRed),  colorWhite);  
 
AddColumn( 
IIf( 
XH1, H1 , L1  )  , "BREAKOUT 
LEVEL", 
3.2 
,colorYellow,   IIf(XH1, 
colorDarkGreen, 
colorDarkRed) 
);
 
  
 
// 
------------ --------- --------- --------- --------- --------- --------- --------- --------  Arrow signals --- FOR TRADES  
------------ --------- --------- --------- --------- --------- -
 
  PlotShapes(Buy*shapeUpArrow,colorBrightGreen 
,0, 
L 
/* 
ENTRY_TRAILARRAY */ 
, -30); 
 
PlotShapes(Sell*shapeDownArrow,colorLightYellow,0, 
H 
, -30);
 
_SECTION_END();
_SECTION_BEGIN("Volume 
At Price");
 
PlotVAPOverlay( 
Param("Lines", 
1000, 
100, 
1000, 
10 
), 
 
Param("Width", 
15, 
1, 
100, 
1 
), 
 
ParamColor("Color", 
colorBlueGrey 
), 
 
ParamToggle("Side", 
"Left|Right", 
1 
) | 4*ParamToggle("Z-order", 
"On 
top|Behind", 
1 
) );
 
_SECTION_END();