Volatility Expansion

Full title: The Counter-productive Nature of Sudden Volatility Expansion.

Start by accepting the idea of measuring volatility in 1.5-hour terms. Yes, you must go down to 30 mins to do this.

dvol[i]=NormalizeDouble((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-Low[i])*10000,2);
uvol[i]=NormalizeDouble((High[i]-(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))))*10000,2);

The BB filter used is a 60-sample (2SD) over medians.

Off we go.

There are 3 different ways to hit the limit.

An absolute limit is the diagonal going beyond 49 pips outside the bands.

if (uvol[i]>49 || (uvol[i]>32 && High[i]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i))) ObjectSetText("Citera"+IntegerToString(i), "          "+NormalizeDouble((High[i]-(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))))*10000,2)+" SELL", 18, "Impact", Gold);

if (dvol[i]>49 || (dvol[i]>32 && Low[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i))) ObjectSetText("Citera"+IntegerToString(i), "         "+NormalizeDouble((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-Low[i])*10000,2)+" BUY", 18, "Impact", Gold);

The second way is staying within the bands, but exceeding 32 pips (fluctuation size).

if (uvol[i]>49 || (uvol[i]>32 && High[i]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i))) 

if (dvol[i]>49 || (dvol[i]>32 && Low[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i))) 

The third way (A & B version) is when the first candle of the diagonal exceeds 22 pips and you get a new 6-sample high or the first low of the diagonal is outside the bands.

if (High[i+3]-Low[i+3]>220*Point && iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i))==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,6,i)))

 if (High[i+3]-Low[i+3]>220*Point && Low[i+3]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i+3))

Tadaa… new directional logic. Almost entirely based on volatility surges.