Hello Experts / Traders,
Well, you might ask me to stop trading for questioning our dear "whipsaw"!
Anyways, still asking to learn your poison that you have found best over the years. Because life is so good when things trend, otherwise not. Where do I draw a line between subjectivity and objectivity of trading?
It is understandable that Whipsaws cannot be eliminated 100%, but your suggestions might help it reduce.
Let me share few things that I have learned from reading books and surfing internet.
-
Bollinger-Keltner Squeeze from Carter's "Mastering the Trade" book
(Please Note: Different parameters period, width and MA Type will yield different results. Don't know whether extensive optimization will make any difference )
_SECTION_BEGIN( "Boll-In-Kelt" );
P = ParamField( "Price field", 3 );
Periods = Param( "Periods", 20, 2, 300, 1 );
Width = Param( "Width", 2, 0, 10, 0.05 );
CenterLine = MA( P, Periods );
Plot( Centerline, "Centerline", colorGrey50, styleDashed | styleNoTitle );
// Keltner Channels
KTop = CenterLine + Width * ATR( Periods );
KBot = CenterLine - Width * ATR( Periods );
Plot( KTop, "KBTop", colorOrange, styleThick | styleNoTitle );
Plot( KBot, "KBBot", colorOrange, styleThick | styleNoTitle );
// Bollinger Bands
BTop = BBandTop( P, Periods, Width );
BBot = BBandBot( P, Periods, Width );
Plot( BTop, "BTop", colorAqua, styleLine | styleNoTitle );
Plot( BBot, "KBBot", colorAqua, styleLine | styleNoTitle );
// Price
Plot( C, "Close", colorDefault, styleBar | styleThick | styleNoTitle );
// Bollinger Bands in Kelter channel
BollKeltDiff = BTop - KTop;
color = IIf( BollKeltDiff > 0, ColorRGB( 2, 18, 30 ), colorGold );
Plot( 2, "", color, styleOwnScale | styleArea | styleNoLabel, Null, Null, 0, 0, 5 );
_N( Title = "{{DATE}}\nO " + O + " H " + H + " L " + L + " C " + C +
EncodeColor( colorGrey50 ) + "\nMA( C, " + Periods + " ) " + NumToStr( CenterLine, 1.2 ) +
EncodeColor( colorOrange ) + "\nKTop " + NumToStr( KTop, 1.2 ) + " KBot " + NumToStr( KBot, 1.2 ) +
EncodeColor( colorAqua ) + "\nBTop " + NumToStr( BTop, 1.2 ) + " BBot " + NumToStr( BBot, 1.2 ) );
_SECTION_END();
-
Vertical Horizontal Filter (description link)
_SECTION_BEGIN( "Vertical Horizontal Filter" );
per = Param( "Period", 28, 1, 233, 1 );
tf = Param( "Set Timeframe (in Minutes)", 30, 5, 1440, 1 );
TimeFrameSet( in1Minute * tf );
arr = Avg;
VhfComp = ( HHV( arr, per ) - LLV( arr, per ) ) / Sum( abs( arr - Ref( arr, -1 ) ), per );
TimeFrameRestore();
VHF = TimeFrameExpand( VhfComp, in1Minute * tf, expandLast ) * 100;
Plot( VHF, "VHF", colorAqua, styleStaircase );
_N( Title = "30-Min VHF for 15-Min Price chart\n" + EncodeColor( colorAqua ) + "VHF " + NumToStr( VHF, 1.2 ) );
_SECTION_END();
-
Ehler's Guassian Filter (Description link)
Currently studying - Efficient way to calculate Gauss Filter -
Learning hard to live with Whipsaw. But man it hurts!
Ed Seykota's Whipsaw song
What helps you identify and avoid "whipsaw" or "periods of congestion"?