This may be close to what you're looking for. I have it as a scan right now, but you should be able to make it into a watch list without too much difficulty.
Code:
input closeness = 0.0005;
def ema05 = MovingAverage(averageType = AverageType.EXPONENTIAL, length = 5, data = close);
def ema08 = MovingAverage(averageType = AverageType.EXPONENTIAL, length = 8, data = close);
def ema13 = MovingAverage(averageType = AverageType.EXPONENTIAL, length = 13, data = close);
def highest = max(max(ema05, ema08), ema13);
def lowest = min(min(ema05, ema08), ema13);
def middle = (highest + lowest) / 2;
def upperbound = middle * (1 + closeness);
def lowerbound = middle * (1 - closeness);
def cond1 = if ema05 > lowerbound AND ema05 < upperbound then 1 else 0;
def cond2 = if ema08 > lowerbound AND ema08 < upperbound then 1 else 0;
def cond3 = if ema13 > lowerbound AND ema13 < upperbound then 1 else 0;
plot eureka = if cond1 == 1 AND cond2 == 1 and cond3 == 1 then 1 else double.nan;
To run through what it's doing...
It calculates the 5, 8, and 13 EMAs
It finds the highest of those three
it finds the lowest of the three
it finds the average of the highest and lowest
it finds boundaries within whatever closeness you've specified
it checks whether each ema is between those boundaries
if all three emas are between the boundaries, it is a hit.
Note that I prefer explicit 1 and 0 results for things. it makes debugging much simpler than implied true and false statements.
I, of course, didn't actually look at any of the results, but with closeness Set at 0.0005 and a minimum price of 5 and a min vol of 1M, I got back something like 14 results.
happy trading,
mashume