I don’t seem to have the BBsqueeze.afl indicator, Can you tell me where I can 
find it?

 

Lionel

 

From: [email protected] [mailto:[email protected]] On Behalf Of 
cas soni
Sent: Sunday, July 18, 2010 7:32 AM
To: [email protected]
Subject: Re: [amibroker] Re: pl. code this

 

  


Hello ,

I had given you BBsqueeze .afl  indicator long time ago...use that..i think it 
is same as per mt4 indicator..

* i dont have that afl 

have a nice time. .

--- On Sun, 18/7/10, bharat <[email protected]> wrote:


From: bharat <[email protected]>
Subject: [amibroker] Re: pl. code this
To: [email protected]
Date: Sunday, 18 July, 2010, 5:41 PM

  

Hi

Found full MT4 code for this.Pl. Code AFL 

===========================================================================================================
// This indicator is based on a strategy mentioned in John Carter's book, 
Mastering the Trade. The basic idea 
// behind the strategy is that markets tend to move from periods of low 
volatility to high volatility and
// visa versa. The strategy aims to capture moves from low to high volatility. 
For gauging this he uses two 
// common indicators - Bollinger Bands and Keltner Channels (ok, not so 
common!). He also uses the Momentum 
// indicator to provide a trade bias as soon as the Bollinger Bands come back 
outside the Keltner Channels.
// 
// The Squeeze_Break indicator combines this into a signal indicator and has 
the following components:
// 1. A positive green histogram means that the Bollinger Bands are outside the 
Keltner Channels
// and the market is lightly to be trending or volatile. The stronger the 
histogram the stronger 
// the directional price move.
// 2. A negative red histogram means that the Bollinger Bands are inside the 
Keltner Channels 
// and the market is lightly to be consolidating. The stronger the red 
histogram the tighter
// price action is becoming.
// 3. Incorporated into the indicator is a Momentum indicator. According to the 
strategy J. Carter
// goes long when the Bollinger Bands break outside the Keltner Bands and the 
Momentum indicator 
// is above the zero line. He goes short when the Momentum indicator is below 
the zero line on the 
// break.
// 4. I've also added other indicator info in the top left hand corner to give 
a broader idea 
// of current market conditions.
// 5. The indicator provides audio alerts when a potential breakout is 
occurring. 
// 
// This indicator tends to be better with the larger timeframes. Personally I 
don't trade on an alert 
// signal alone. It's just a handy tool for warning me of potential breakout 
trades. 
// 
===========================================================================================================

#property copyright "DesORegan"
#property link "mailto: [email protected]"



// ====================
// indicator properties
// ====================
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 ForestGreen
#property indicator_color2 Red
#property indicator_color3 Blue


// ===================
// User Inputs
// ===================
extern int Boll_Period=20;
extern double Boll_Dev=2.0;
extern int Keltner_Period=20;
extern double Keltner_Mul=1.5;
extern int Momentum_Period=12;
extern int Back_Bars=1000;
extern bool Alert_On=true;
extern bool On_Screen_Info=true;


// =========================
// Buffer Array Declarations
// =========================
double Pos_Diff[]; // Pos Histogram
double Neg_Diff[]; // Neg Histogram
double Momentum[]; // Momentum Indicator 


// ===========================
// Internal Array Declarations
// ===========================
double Squeeze[]; // Used to track which "i" (index value) is above 
// and below zero line. 0 followed by 1 triggers alert 

// ========================= 
// Internal Global Variables
// =========================

datetime Last_Alert_Time = 0; // Used to prevent continuous alerts on current 
bar 


//+----------------------------------------------------------+
//| Custom indicator initialization function |
//+----------------------------------------------------------+
int init()
{

IndicatorDigits(4); // indicator value precision


//======================
// Indicator Setup
//======================
SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,3);
SetIndexBuffer(0,Pos_Diff);
SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,3);
SetIndexBuffer(1,Neg_Diff);
SetIndexStyle(2,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(2,Momentum); 


// ===================
// Indicator Labels
// ===================
IndicatorShortName("Squeeze_Break 
(Boll:"+Boll_Period+","+DoubleToStr(Boll_Dev,1)+";Kelt:"+Keltner_Period+","+DoubleToStr(Keltner_Mul,1)+";Mom:"+Momentum_Period+")");
 


// ====================
// Array Initialization
// ====================
ArrayResize(Squeeze, Back_Bars); // Stores whether histogram is above/below 
zero line
ArrayInitialize(Squeeze, 0); // initialises array with 0's




return(0);
}




//+----------------------------------------------------------+
//| Custom indicator deinitialization function |
//+----------------------------------------------------------+
int deinit()
{

ObjectsDeleteAll(); 
Comment(" ","\n",
" ","\n",
" ","\n",
" ","\n",
" ");


return(0);
}




//+----------------------------------------------------------+
//| Custom indicator iteration function |
//+----------------------------------------------------------+
int start()
{ 

//=======================
// Indicator Optimization
//=======================
int Counted_Bars = IndicatorCounted();
if(Counted_Bars < 0) return;
if(Counted_Bars > 0) Counted_Bars = Counted_Bars - Keltner_Period;
int limit = Bars - Counted_Bars;


//=======================
// On-Screen Information
//======================= 
if (On_Screen_Info == true)
{ 
double ATR =iATR(Symbol(),PERIOD_D1,14,0);
double Todays_Range = iHigh(Symbol(),PERIOD_D1,0) - iLow(Symbol(),PERIOD_D1,0);
double ADX = iADX(Symbol(),0,12,PRICE_CLOSE,MODE_MAIN,0);
double RSI = iRSI(Symbol(),0,12,PRICE_CLOSE,0); 
double MACD_Main = iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
double MACD_Signal = iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
double Sto_Main = iStochastic(Symbol(),0,10,3,3,MODE_SMA,1,MODE_MAIN,0); 
double Sto_Signal = iStochastic(Symbol(),0,10,3,3,MODE_SMA,1,MODE_SIGNAL,0);


Comment("----------------------------------------------------------",
"\nDaily ATR(14): ",ATR," Todays Range: ",Todays_Range,
"\nADX(12): ",NormalizeDouble(ADX,2)," RSI(12): ",NormalizeDouble(RSI,2),
"\nMACD(12,26,9): ",MACD_Main,", ",MACD_Signal,
"\nStochastic(10,3,3): ",NormalizeDouble(Sto_Main,2),", 
",NormalizeDouble(Sto_Signal,2),
"\n----------------------------------------------------------");
}




//======================
// Main Indicator Loop
//======================

for(int i = limit; i >= 0; i--) //main indicator FOR loop
{ 

// ======================
// Indicator Calculations
// ======================
double MA_Hi = iMA(Symbol(),0,Keltner_Period,0,MODE_SMA,PRICE_HIGH,i);
double MA_Lo = iMA(Symbol(),0,Keltner_Period,0,MODE_SMA,PRICE_LOW,i);
double Kelt_Mid_Band = 
iMA(Symbol(),0,Keltner_Period,0,MODE_SMA,PRICE_TYPICAL,i);
double Kelt_Upper_Band = Kelt_Mid_Band + ((MA_Hi - MA_Lo)*Keltner_Mul);
double Kelt_Lower_Band = Kelt_Mid_Band - ((MA_Hi - MA_Lo)*Keltner_Mul);
double Boll_Upper_Band = iBands(Symbol(),0, Boll_Period,Boll_Dev,0,PRICE_CLOSE, 
MODE_UPPER,i);
double Boll_Lower_Band = iBands(Symbol(),0, Boll_Period,Boll_Dev,0,PRICE_CLOSE, 
MODE_LOWER,i);


// ======================
// Buffer Calculations
// ======================

Momentum[i] = (Close[i] - Close[i+Momentum_Period]);


if (Boll_Upper_Band >= Kelt_Upper_Band || Boll_Lower_Band <= Kelt_Lower_Band)
{
Pos_Diff[i] = (MathAbs(Boll_Upper_Band - 
Kelt_Upper_Band)+MathAbs(Boll_Lower_Band - Kelt_Lower_Band));
Squeeze[i] = 1;
}
else 
{
Pos_Diff[i] = 0;
} 


if (Boll_Upper_Band < Kelt_Upper_Band && Boll_Lower_Band > Kelt_Lower_Band)
{
Neg_Diff[i] = -(MathAbs(Boll_Upper_Band - 
Kelt_Upper_Band)+MathAbs(Boll_Lower_Band - Kelt_Lower_Band));
Squeeze[i] = 0;
}
else 
{
Neg_Diff[i] = 0;
} 


// ======================
// Trigger Check
// ======================
if (Squeeze[i] == 1 && Squeeze[i+1] == 0 && Momentum[i] > 0 && i == 0) // a 
cross above zero line and Mom > 0
{ 
if (Last_Alert_Time != Time[0]) 
{
if (Alert_On == true) Alert("Alert: Possible Breakout - "+Symbol()+" - 
"+TimeToStr(TimeLocal()));
Last_Alert_Time = Time[0]; 
ObjectCreate("Breakout"+Time[0],OBJ_ARROW,0,Time[0],Ask);
ObjectSet("Breakout"+Time[0],OBJPROP_ARROWCODE,1);
ObjectSet("Breakout"+Time[0],OBJPROP_COLOR,Blue);
ObjectSet("Breakout"+Time[0],OBJPROP_WIDTH,2); 
}
}


if (Squeeze[i] == 1 && Squeeze[i+1] == 0 && Momentum[i] < 0 && i == 0 ) // a 
cross above zero line and Mom < 0
{
if (Last_Alert_Time != Time[0]) 
{
if (Alert_On == true) Alert("Alert: Possible Breakout - "+Symbol()+" - 
"+TimeToStr(TimeLocal())); 
Last_Alert_Time = Time[0]; 
ObjectCreate("Breakout"+Time[0],OBJ_ARROW,0,Time[0],Bid);
ObjectSet("Breakout"+Time[0],OBJPROP_ARROWCODE,1);
ObjectSet("Breakout"+Time[0],OBJPROP_COLOR,Red);
ObjectSet("Breakout"+Time[0],OBJPROP_WIDTH,2); 
}
} 



} // end of main indicator FOR loop






return(0);
}



//+----------------------------------------------------------

--- In [email protected], "bharat" <bharat_parth2...@...> wrote:
>
> Hi
> 
> Pl. see 
> http://www.inditraders.com/metatrader/1762-mq4-indicators-metatrader.html
> This indicator is based on a strategy mentioned in John Carter's book, 
> Mastering the Trade. The basic idea 
> // behind the strategy is that markets tend to move from periods of low 
> volatility to high volatility and
> // visa versa. The strategy aims to capture moves from low to high 
> volatility. For gauging this he uses two 
> // common indicators - Bollinger Bands and Keltner Channels (ok, not so 
> common!). He also uses the Momentum 
> // indicator to provide a trade bias as soon as the Bollinger Bands come back 
> outside the Keltner Channels.
> // 
> // The Squeeze_Break indicator combines this into a signal indicator and has 
> the following components:
> // 1. A positive green histogram means that the Bollinger Bands are outside 
> the Keltner Channels
> // and the market is lightly to be trending or volatile. The stronger the 
> histogram the stronger 
> // the directional price move.
> // 2. A negative red histogram means that the Bollinger Bands are inside the 
> Keltner Channels 
> // and the market is lightly to be consolidating. The stronger the red 
> histogram the tighter
> // price action is becoming.
> // 3. Incorporated into the indicator is a Momentum indicator. According to 
> the strategy J. Carter
> // goes long when the Bollinger Bands break outside the Keltner Bands and the 
> Momentum indicator 
> // is above the zero line. He goes short when the Momentum indicator is below 
> the zero line on the 
> // break.
> // 4. I've also added other indicator info in the top left hand corner to 
> give a broader idea 
> // of current market conditions.
> // 5. The indicator provides audio alerts when a potential breakout is 
> occurring. 
> // 
> // This indicator tends to be better with the larger timeframes. Personally I 
> don't trade on an alert 
> // signal alone. It's just a handy tool for warning me of potential breakout 
> trades.
> 
> 
> make AFL for me.
> 
> thanx 
> 
> bharat
>

 



<<image003.jpg>>

<<image004.jpg>>

Reply via email to