ILIKESTOCKS
Member
I made this watchlist with the help of the dreaded AI. It works though. Basically has the mag 7 with the SPY you have to manually enter each morning the Max Pain for the day for each in the code. If anyone has a workaround for that let me know. It works on a percentage above below for the current price vs the max pain. Works well in these recent trading days.
mod note:
Why This Helps Day Traders
This isn’t a trade signal — it’s context. It keeps you oriented so your decisions are grounded in positioning, not emotion.
Morning Routine for Using This Watchlist
mod note:
Why This Helps Day Traders
| Benefit | Explanation |
|---|---|
| Spot stretched names | Helps avoid chasing tops or bottoms blindly |
| Identify pinned names | Shows where price is magnetized toward Max Pain |
| See positioning pressure | Reveals where buyers or sellers have the upper hand |
| Anticipate reversion zones | Highlights where drift back toward Max Pain is more likely |
Morning Routine for Using This Watchlist
| Step | What You Do | Why It Matters |
|---|---|---|
| 1. Look up Max Pain for SPY + Mag 7 | Gather the day’s MP levels | Inputs must be fresh daily |
| 2. Update the script inputs | Replace the MP values in the code | Ensures accurate % readings |
| 3. Add/refresh the custom watchlist column | Apply the script to your watchlist | Displays real‑time convergence % |
| 4. Watch the % move intraday | Observe stretch, pinning, and drift | Guides risk and timing |
| 5. Use the readings to guide decisions | Risk, sizing, chase vs wait, stretch vs room | Keeps your trading disciplined and structured |
Code:
# ============================================
# WATCHLIST COLUMN — MP CONVERGENCE %
# ============================================
declare lower;
# -----------------------------
# MANUAL MAX PAIN ENTRY
# -----------------------------
input MP_SPY = 678.0;
input MP_AAPL = 250.0;
input MP_MSFT = 470.0;
input MP_GOOGL = 270.0;
input MP_AMZN = 215.0;
input MP_META = 630.0;
input MP_NVDA = 150.0;
input MP_TSLA = 470.0;
# -----------------------------
# SYMBOL → MP MAP (INLINE)
# -----------------------------
def MP =
if GetSymbol() == "SPY" then MP_SPY
else if GetSymbol() == "AAPL" then MP_AAPL
else if GetSymbol() == "MSFT" then MP_MSFT
else if GetSymbol() == "GOOGL" then MP_GOOGL
else if GetSymbol() == "AMZN" then MP_AMZN
else if GetSymbol() == "META" then MP_META
else if GetSymbol() == "NVDA" then MP_NVDA
else if GetSymbol() == "TSLA" then MP_TSLA
else 0;
# -----------------------------
# CONVERGENCE %
# -----------------------------
def price = close;
def convergencePct =
if MP != 0
then ((price - MP) / MP) * 100
else 0;
plot MP_Convergence = convergencePct;
MP_Convergence.AssignValueColor(
if convergencePct > 0 then Color.RED
else if convergencePct < 0 then Color.GREEN
else Color.WHITE
);
Last edited by a moderator: