Вы находитесь на странице: 1из 2

// 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", colorBlack));

// ================= 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, IIf(C > O, colorGreen, colorRed)))), 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){
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", colorBlue), ParamToggle("Side", "Left|Right", 1) | 4
*ParamToggle("Z-order", "On top|Behind", 1));

_SECTION_END();

Вам также может понравиться