Download Bill Williams ATZ MT4 Indicator

Cash Back Forex Rebates

Bill Williams concludes that the price movements are randomly happening; that is why the price action analysis should not contain factors of forecasting. Let the price charts mature and observe the price action. This is the main key to trade forex without having any stress. After doing researches Bill Williams conclude that because of their linearity, the capabilities of standard indicators were limited

A trader who does not have his own forex trading strategy, is doomed to lose. Trading based on coin tossing, recommendations and rumors bring only frustration.

Mr. Williams says that making money in the forx market can be easy if you understand the nature of trading and market structure. In order to do this, you have to be aware of the market’s essential parts called dimensions. These market dimensions are: Fractal, Momentum, Acceleration / Deceleration, Zone, Balance Line.

Bill Williams ATZ indicator combines these powerful elements to find the right entry points to maximize profit.

How To Trade With Bill Williams ATZ:

Buy Signal: Wait for blue arrow to appear below the price par.

Sell Signal: Wait for blue arrow to appear below the price par.

[php]

//+——————————————————————+
//| MACD.mq4 |
//| Copyright © 2005, David W. Thomas |
//| mailto:[email protected] |
//+——————————————————————+
// This is the correct computation and display of MACD.
#property copyright “Copyright © 2005, David W. Thomas”
#property link “mailto:[email protected]

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Green

//—- input parameters
extern int FastMAPeriod=12;
extern int SlowMAPeriod=26;
extern int SignalMAPeriod=9;

//—- buffers
double MACDLineBuffer[];
double SignalLineBuffer[];
double HistogramBuffer[];

//—- variables
double alpha = 0;
double alpha_1 = 0;

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1);
//—- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MACDLineBuffer);
SetIndexDrawBegin(0,SlowMAPeriod);
SetIndexStyle(1,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(1,SignalLineBuffer);
SetIndexDrawBegin(1,SlowMAPeriod+SignalMAPeriod);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(2,HistogramBuffer);
SetIndexDrawBegin(2,SlowMAPeriod+SignalMAPeriod);
//—- name for DataWindow and indicator subwindow label
IndicatorShortName(“MACD(“+FastMAPeriod+”,”+SlowMAPeriod+”,”+SignalMAPeriod+”)”);
SetIndexLabel(0,”MACD”);
SetIndexLabel(1,”Signal”);
//—-
alpha = 2.0 / (SignalMAPeriod + 1.0);
alpha_1 = 1.0 – alpha;
//—-
return(0);
}
//+——————————————————————+
//| Custor indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int limit;
int counted_bars = IndicatorCounted();
//—- check for possible errors
if (counted_bars<0) return(-1);
//—- last counted bar will be recounted
if (counted_bars>0) counted_bars–;
limit = Bars – counted_bars;

for(int i=limit; i>=0; i–)
{
MACDLineBuffer[i] = iMA(NULL,0,FastMAPeriod,0,MODE_EMA,PRICE_CLOSE,i) – iMA(NULL,0,SlowMAPeriod,0,MODE_EMA,PRICE_CLOSE,i);
SignalLineBuffer[i] = alpha*MACDLineBuffer[i] + alpha_1*SignalLineBuffer[i+1];
HistogramBuffer[i] = MACDLineBuffer[i] – SignalLineBuffer[i];
}

//—-
return(0);
}
//+——————————————————————+

[/php]

[php]

//+——————————————————————+
//| BillWilliams_ATZ.mq4 |
//| Copyright © Arturo Lopez Perez |
//| For customizations find me at: [email protected] |
//+——————————————————————+
#property copyright “Arturo Lopez Perez”
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
#define OP_NOTHING 6

//——————————-
// Input parameters: none
//——————————-

//——————————-
// Buffers
//——————————-
double ExtMapBuffer1[];
double ExtMapBuffer2[];

//——————————-
// Internal variables
//——————————-
int nShift;

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
// Buffers and style
SetIndexStyle(0, DRAW_ARROW, 0, 1);
SetIndexArrow(0, 233);
SetIndexBuffer(0, ExtMapBuffer1);
SetIndexStyle(1, DRAW_ARROW, 0, 1);
SetIndexArrow(1, 234);
SetIndexBuffer(1, ExtMapBuffer2);

// Data window
IndicatorShortName(“Bill Williams ATZ”);
SetIndexLabel(0, “Buy arrow”);
SetIndexLabel(1, “Sell arrow”);

// Chart offset calculation
switch(Period())
{
case 1: nShift = 1; break;
case 5: nShift = 3; break;
case 15: nShift = 5; break;
case 30: nShift = 10; break;
case 60: nShift = 15; break;
case 240: nShift = 20; break;
case 1440: nShift = 80; break;
case 10080: nShift = 100; break;
case 43200: nShift = 200; break;
}

return(0);
}
//+——————————————————————+
//| Custor indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int limit;
int counted_bars = IndicatorCounted();

// check for possible errors
if(counted_bars < 0)
return(-1);

//last counted bar will be recounted
if(counted_bars > 0)
counted_bars–;
limit = Bars – counted_bars;

// Check the signal foreach bar
for(int i = 0; i < limit; i++)
{
// SMA
double MA = iMA(Symbol(), 0, 10, 0, MODE_SMA, PRICE_CLOSE, i);

// Indicate the trend
int ma_trend = OP_NOTHING;
int a_trend = OP_NOTHING;

// Bill williams zonetrade indicators to point detect early strenght
int tz = tradezone(i);
int tz1 = tradezone(i+1);

// Open and close of the current candle to filter tz signals
double CLOSE = iClose(Symbol(),0, i);
double OPEN = iOpen(Symbol(),0, i);
double HIGH = iHigh(Symbol(),0, i);
double LOW = iLow(Symbol(),0, i);

// Macd present and past
double MACD_main = iCustom(Symbol(), 0, “2line_MACD”, 0, i);
double MACD_signal = iCustom(Symbol(), 0, “2line_MACD”, 1, i);
double MACD_main_last = iCustom(Symbol(), 0, “2line_MACD”, 0, i+1);
double MACD_signal_last = iCustom(Symbol(), 0, “2line_MACD”, 1, i+1);

// Alligator
double a_jaw = iAlligator(Symbol(), 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, i);
double a_teeth = iAlligator(Symbol(), 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, i);
double a_lips = iAlligator(Symbol(), 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS, i);

// Calculate alligator trend
if(a_lips > a_teeth && a_teeth > a_jaw)
a_trend = OP_BUY;
else if(a_lips < a_teeth && a_teeth < a_jaw)
a_trend = OP_SELL;

// Evaluate if going long or short is dangerous now
bool long_dangerous = false;
bool short_dangerous = false;
if(CLOSE > a_lips && MACD_main < MACD_signal) long_dangerous = true;
if(CLOSE < a_lips && MACD_main > MACD_signal) short_dangerous = true;

// Long signal
if((tz == OP_BUY && tz1 != OP_BUY && a_trend == OP_BUY && CLOSE > OPEN && long_dangerous == false))
{
// Display only if signal is not repated
ExtMapBuffer1[i] = Low[i] – nShift*Point;

// Throw Message
Print(“[BILL WILLIAMS ATZ] Buy stop at “+ HIGH);
}

// Short signal
if(tz == OP_SELL && tz1 != OP_SELL && a_trend == OP_SELL && CLOSE < OPEN && short_dangerous == false)
{
// Display only if signal is not repeated
ExtMapBuffer2[i] = High[i] + nShift*Point;

// Throw Message
Print(“[BILL WILLIAMS ATZ] Sell stop at “+ LOW);
}
}
return(0);
}

/**
* Returns bill williams trade zone for the candle received has parameter.
* @param int shift
* @return int
*/

int tradezone(int shift = 1)
{
// AC and AO for current and last candle
double AC = iAC(Symbol(), 0, shift);
double AC_last = iAC(Symbol(), 0, shift+1);
double AO = iAO(Symbol(), 0, shift);
double AO_last = iAO(Symbol(), 0, shift+1);

// Returns action for this candle
if(AO < AO_last && AC < AC_last) return(OP_SELL);
if(AO > AO_last && AC > AC_last) return(OP_BUY);
return(OP_NOTHING);
}

//+——————————————————————+

&nbsp;

[/php]

Click Here to Download

Click Here to Download

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *