• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Tìm hiểu thêm.

Sử dụng Price Breakout Detection Exploration

traders

Administrator
Thành viên BQT
Tham gia ngày
29/4/17
Bài viết
224
Thích
3
Điểm
18
Website
traders.vn
#1
amibroker code - Price Breakout Detection Exploration trong phân tích kỹ thuật :
Đây là một chỉ báo kỹ thuật rất hay được phát triển bởi Rasheed để hiển thị mức hỗ trợ và kháng cự ngang dựa trên price breakouts được vẽ trên slide bar.

Chép code sau ( Để tiện theo dõi bài viết mình để code này trong khung cuối bài )
Copy và dán vào Formular editor và lưu lại
( bạn có thể đặt một tên nào đó dễ nhớ để tiện việc sử dụng )
Chương trình sẽ lưu theo mặc định : Program files\Amibroker\formulas\.file của bạn




Code sử dụng :

// 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();
 
Top