Would there be anyone interested in translating this Tradestation formula into .efs? It uses the relationship between overlayed Bollinger Bands and Keltner Channels to indicate an impending breakout. I'll paste in the explanation, formula and chart below. Thanks in advance.
From Tradestationworld:
(http://www.tradestationworld.com/dis...m=NickMBigMove );
NickMBigMove
"Description: nickm001 has kindly given me permission to share with you his indicator which identifies breakouts. As students of Bollinger Bands know, when the bands get "narrow", a breakout is about to occur. But how narrow is narrow? This indicator simply plots a value of 1 in the rare case that Bollinger Bands fit inside the Keltner Channel of the same length, and it plots a value of 0 otherwise.
nickm001 said this:
I would like to add couple of things to the initial idea in hope that more comments or feedback is generated.
Method is another variation of “coiled spring” and visually depicts reduction of short term volatility compared with it’s historic value, when Bollinger Band “squeezes” Keltner channel. It could be used as a setup within breakout system. Bollinger Band (ma, -2, =2) and Keltner (ma, 1.5, -1.5) channel should be plotted around the same length MA, for this to work. The following condition will enhance the probability and the size of breakout:
• Recent volatility is well within Keltner. The size of the pending move is inversely proportional to the width of the BB – the narrower the channel, bigger the move.
• Keltner is plotting horizontal channel. Basically stock is moving sideways in congestion and volatility is dropping in preparation for a big move.
• It does happen in all time frames, more often in short time frames then long. I have seen it very seldom in daily charts, however if you do see one, probability of substantial move is pretty high.
Limitations: This indicator does not show whether the next move is a breakout or a breakdown, or how soon it's going to happen; that would have to come from your other technical or fundamental insights."
Formula:
==================
{ An implementation of an idea by nickm001, who observed that when the
Bollinger Band fit inside the keltner channel, a breakout is about
to occur. It works on longer term charts, such as 15 minute to daily
charts.
Note: Style needs to be set to histogram.
Code by eKam 7/17/2003
}
inputs:
Price(Close), Length(20),
nK(1.5), nBB(2);
var:
Avg(0),
ATR(0), KShift(0), KLower(0), KUpper(0),
SDev(0), BBLower(0), BBUpper(0);
if barnumber = 1 then begin
var: alertTextID(-1);
alertTextID = Text_New(date,time,0,"RSI");
end;
Avg = AverageFC(Price, Length);
{ keltner }
ATR = AvgTrueRange(Length);
KUpper = Avg + nK * ATR;
KLower = Avg - nK * ATR;
{ Bollinger }
SDev = StandardDev(Price, Length, 1);
BBUpper = Avg + nBB * SDev;
BBLower = Avg - nBB * SDev;
if BBUpper <= KUpper
and BBLower >= KLower then begin { bb fits inside keltner }
plot1(1,"nickm bkout");
if plot1 > 0 and plot1[1] = 0
and Text_GetTime(alertTextID) <> time then begin
text_setLocation(alertTextID, date, time, 0);
alert("nickm big move");
end;
end;
======================
From Tradestationworld:
(http://www.tradestationworld.com/dis...m=NickMBigMove );
NickMBigMove
"Description: nickm001 has kindly given me permission to share with you his indicator which identifies breakouts. As students of Bollinger Bands know, when the bands get "narrow", a breakout is about to occur. But how narrow is narrow? This indicator simply plots a value of 1 in the rare case that Bollinger Bands fit inside the Keltner Channel of the same length, and it plots a value of 0 otherwise.
nickm001 said this:
I would like to add couple of things to the initial idea in hope that more comments or feedback is generated.
Method is another variation of “coiled spring” and visually depicts reduction of short term volatility compared with it’s historic value, when Bollinger Band “squeezes” Keltner channel. It could be used as a setup within breakout system. Bollinger Band (ma, -2, =2) and Keltner (ma, 1.5, -1.5) channel should be plotted around the same length MA, for this to work. The following condition will enhance the probability and the size of breakout:
• Recent volatility is well within Keltner. The size of the pending move is inversely proportional to the width of the BB – the narrower the channel, bigger the move.
• Keltner is plotting horizontal channel. Basically stock is moving sideways in congestion and volatility is dropping in preparation for a big move.
• It does happen in all time frames, more often in short time frames then long. I have seen it very seldom in daily charts, however if you do see one, probability of substantial move is pretty high.
Limitations: This indicator does not show whether the next move is a breakout or a breakdown, or how soon it's going to happen; that would have to come from your other technical or fundamental insights."
Formula:
==================
{ An implementation of an idea by nickm001, who observed that when the
Bollinger Band fit inside the keltner channel, a breakout is about
to occur. It works on longer term charts, such as 15 minute to daily
charts.
Note: Style needs to be set to histogram.
Code by eKam 7/17/2003
}
inputs:
Price(Close), Length(20),
nK(1.5), nBB(2);
var:
Avg(0),
ATR(0), KShift(0), KLower(0), KUpper(0),
SDev(0), BBLower(0), BBUpper(0);
if barnumber = 1 then begin
var: alertTextID(-1);
alertTextID = Text_New(date,time,0,"RSI");
end;
Avg = AverageFC(Price, Length);
{ keltner }
ATR = AvgTrueRange(Length);
KUpper = Avg + nK * ATR;
KLower = Avg - nK * ATR;
{ Bollinger }
SDev = StandardDev(Price, Length, 1);
BBUpper = Avg + nBB * SDev;
BBLower = Avg - nBB * SDev;
if BBUpper <= KUpper
and BBLower >= KLower then begin { bb fits inside keltner }
plot1(1,"nickm bkout");
if plot1 > 0 and plot1[1] = 0
and Text_GetTime(alertTextID) <> time then begin
text_setLocation(alertTextID, date, time, 0);
alert("nickm big move");
end;
end;
======================
Comment