A few days ago I shared my AsGoodAsItGets-LoweredSquaredHistogram https://usethinkscript.com/threads/asgoodasitgets_histogram-for-thinkorswim.18233/
and am now sharing my companion lower 8/20 EMA crossovers (with credits to BenTen modified for original). https://usethinkscript.com/threads/moving-average-crossovers-for-thinkorswim.229/
I'm using the 20 EMA instead of the traditional Fibonnaci 21 EMA (the 20 EMA gives me a heads up to the 21 EMA (which seems to be a favored algorithm for the big boys) I also do not show the plots on lower for FastMA or Slow MA.
I also highlight the indicator and move it up into the same lower area as the AGAIG Histogram. These are thinner and lighter colored (a light green for the long crossover and light red for the short crossover).
Here is the code:
and am now sharing my companion lower 8/20 EMA crossovers (with credits to BenTen modified for original). https://usethinkscript.com/threads/moving-average-crossovers-for-thinkorswim.229/
I'm using the 20 EMA instead of the traditional Fibonnaci 21 EMA (the 20 EMA gives me a heads up to the 21 EMA (which seems to be a favored algorithm for the big boys) I also do not show the plots on lower for FastMA or Slow MA.
I also highlight the indicator and move it up into the same lower area as the AGAIG Histogram. These are thinner and lighter colored (a light green for the long crossover and light red for the short crossover).
Here is the code:
Ruby:
# Moving Average Crossover With Arrows, Alerts, Crossing Count and Bubble at Cross
# Mobius
# Chat Room Request 01.25.2017
# Modified a bit by BenTen
#Arrows removed by C.Ricks 3/3/24
#Modified to work on lower by C. Ricks 3/19/24
Declare Lower;
input price = close;
input fastLength = 8;
input slowLength = 20;
input averageType = AverageType.EXPONENTIAL;
def FastMA = MovingAverage(averageType, price, fastLength);
def SlowMA = MovingAverage(averageType, price, slowLength);
plot CrossoverUp = if FastMA crosses above SlowMA then low else double.nan;
CrossoverUp.SetPaintingStrategy(PaintingStrategy.SQUARED_HISTOGRAM);
plot CrossoverDN = if FastMA crosses below SlowMA then high else double.nan;
CrossoverUp.SetPaintingStrategy(PaintingStrategy.SQUARED_HISTOGRAM);
Alert(CrossoverUp, " ", Alert.Bar, Sound.Bell);
Alert(CrossoverDn, " ", Alert.Bar, Sound.Bell);
CrossoverUp.SetDefaultColor(CreateColor(153, 255, 153));
CrossoverDN.SetDefaultColor(CreateColor(255, 153, 153));
Last edited by a moderator: