Hey guys,
I’m looking for help refining my script and “strategy” (or lack thereof). I’m trying to trade reversals on SPY and QQQ, aiming to move into 0DTE options. The script is simple — I wait for at least three periods of stochRSI under 20, then a pop above it for longs, and the reverse (over 80) for shorts. A signal arrow is placed on the chart along with an audible alert.
On a SPY/QQQ chart, this often nails reversals, but in strong trends it can fail as price keeps going. I want to pair it with something that confirms entries, but I haven’t found anything useful. Moving averages and other lagging indicators feel pointless, and nothing lines up.
Any feedback, recommendations, or ideas would be great. This setup has at least kept me from taking losses, but without confidence in the reversal I often exit too early.
I’m looking for help refining my script and “strategy” (or lack thereof). I’m trying to trade reversals on SPY and QQQ, aiming to move into 0DTE options. The script is simple — I wait for at least three periods of stochRSI under 20, then a pop above it for longs, and the reverse (over 80) for shorts. A signal arrow is placed on the chart along with an audible alert.
On a SPY/QQQ chart, this often nails reversals, but in strong trends it can fail as price keeps going. I want to pair it with something that confirms entries, but I haven’t found anything useful. Moving averages and other lagging indicators feel pointless, and nothing lines up.
Any feedback, recommendations, or ideas would be great. This setup has at least kept me from taking losses, but without confidence in the reversal I often exit too early.
Code:
declare upper;
# StochRSI
def fullK = StochRSI().FullK;
def fullD = StochRSI().FullD;
def bullCond = fullK[0] > 20
AND fullK[1] <= 20
AND fullK[2] <= 20
AND fullK[3] <= 20
;
def bearCond = fullK[0] < 80
AND fullK[1] >= 80
AND fullK[2] >= 80
AND fullK[3] >= 80
;
def mySignal = bullCond OR bearCond;
plot MyBullArrow = bullCond;
MyBullArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
MyBullArrow.SetDefaultColor(Color.GREEN);
MyBullArrow.SetLineWeight(2);
plot MyBearArrow = bearCond;
MyBearArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
MyBearArrow.SetDefaultColor(Color.RED);
MyBearArrow.SetLineWeight(2);
Alert(mySignal, "Signal Alert", Alert.BAR, Sound.Ring);