As requested by @andyj (https://www.prorealcode.com/prorealtime-indicators/m-oscillator/ ), this is the code to screen all stocks whose Signal Line crosses over 0:
Period = 14 //Number of Periods
ct = close //Today's close
S = 0
FOR i = 1 TO Period
cp = close [ i]
r = (ct - cp) > 0 //R = Today's CLOSE - Previous Day's CLOSE, 1 = today > yesterday
IF r = 0 THEN
r = ((ct - cp) < 0 ) * - 1 //R = Today's CLOSE - Previous Day's CLOSE, -1 = today < yesterday
ENDIF
s = s + r //Sum up all r's
NEXT
Ema5 = ExponentialAverage [ 5 ] (s) //Histogram
Ema3 = ExponentialAverage [ 3 ] (Ema5)//M-Oscillator
Ema3b= ExponentialAverage [ 3 ] (Ema3)//Signal Line
CrossOver = Ema3b CROSSES OVER 0
SCREENER [ CrossOver] (volume AS "Volume" )
2 users thanked author for this post.