Image 1 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 2 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 3 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 4 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 5 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 6 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 7 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.
Image 8 — My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.

My list of 100% completions including the mandatory Peppa Pig 100% in the order in which I got them starting from the most recent.

u/Shtonky — 1 day ago

SPY Dark Pool And Options Analysis Going Into Monday 6-15-26

With the reported U.S.–Iran framework deal and potential reopening of the Strait of Hormuz, futures are reacting like this is a major relief event. Oil pressure easing would generally support risk assets, but the setup still feels fragile because the agreement depends on follow-through and the next 60-day negotiation window.

Looking at SPY over the last 22 trading sessions, dark pool volume does not look like a clean directional accumulation trend. It looks more range-bound, with larger spikes around macro/geopolitical stress points. In other words, DP activity seems to be expanding around headline-driven volatility rather than steadily building off clean technical levels.

The options side is more interesting. Multi-leg trades have dominated much of the recent activity, which suggests the options market has been expressing uncertainty, hedging, or volatility positioning rather than clean directional conviction. Put contract activity has also stayed above call activity in parts of the range, especially near highs, which reinforces the idea that traders were still carrying defensive positioning even while price was holding up.

That fits the price structure. SPY has been ping-ponging in a broad range instead of trending cleanly, so the flow looks less like “everyone is bullish” or “everyone is bearish” and more like a market bracing for headline risk.

The Dark Pool A/D line is currently elevated, with 73.4% of DP-active stocks closing higher. That is constructive breadth, but it is also high enough that I would not blindly chase the open. If we gap hard on the peace-deal news, I’m watching for either:

a true gap-and-go trend day if buyers hold the open, or
a pop-and-drop / gap-fill attempt if the relief move gets faded.

My bias is slightly more toward watching for a pop-and-drop first, then reassessing after the first hour. If the gap holds and DP/options activity confirms, then the larger uptrend continuation case gets stronger. If the gap fades quickly, that tells me the market may have already priced in a lot of the relief.

u/Shtonky — 21 days ago

SPY Dark Flow Read Going Into Monday

With the reported U.S.–Iran framework deal and potential reopening of the Strait of Hormuz, futures are reacting like this is a major relief event. Oil pressure easing would generally support risk assets, but the setup still feels fragile because the agreement depends on follow-through and the next 60-day negotiation window.

Looking at SPY over the last 22 trading sessions, dark pool volume does not look like a clean directional accumulation trend. It looks more range-bound, with larger spikes around macro/geopolitical stress points. In other words, DP activity seems to be expanding around headline-driven volatility rather than steadily building off clean technical levels.

The options side is more interesting. Multi-leg trades have dominated much of the recent activity, which suggests the options market has been expressing uncertainty, hedging, or volatility positioning rather than clean directional conviction. Put contract activity has also stayed above call activity in parts of the range, especially near highs, which reinforces the idea that traders were still carrying defensive positioning even while price was holding up.

That fits the price structure. SPY has been ping-ponging in a broad range instead of trending cleanly, so the flow looks less like “everyone is bullish” or “everyone is bearish” and more like a market bracing for headline risk.

The Dark Pool A/D line is currently elevated, with 73.4% of DP-active stocks closing higher. That is constructive breadth, but it is also high enough that I would not blindly chase the open. If we gap hard on the peace-deal news, I’m watching for either:

a true gap-and-go trend day if buyers hold the open, or
a pop-and-drop / gap-fill attempt if the relief move gets faded.

My bias is slightly more toward watching for a pop-and-drop first, then reassessing after the first hour. If the gap holds and DP/options activity confirms, then the larger uptrend continuation case gets stronger. If the gap fades quickly, that tells me the market may have already priced in a lot of the relief.

u/Shtonky — 21 days ago

Dark Pool and Option Flow Analysis on AAPL.

I’ve been working on a market analyzer that tries to make institutional flow easier to read visually.

I wanted to built an analyzer so all the data I get surrounding the dark pool and institutional grade option flow could be easily visualized in one place.

Top panel: daily candlestick chart of AAPL.
Middle panel: dark pool activity, shown here by volume
Bottom panel: options flow activity, split by calls, puts, and multi-leg contracts

The goal is not to say “dark pool is bullish” or “options flow is predictive.” That’s usually way too simplistic. What I’m trying to see is whether the different parts of flow are confirming each other or diverging.

For example, in this AAPL view, price pushed higher into late May early June, then rolled over hard. Dark pool volume was active during the run-up, then started fading after the move weakened. The options panel gives another layer: calls, puts, and multi-leg trades are separated so you can see whether options activity is broad based or concentrated in one type of flow.

What I like about this view is that it makes a few questions easier to answer quickly:

Is price rising while dark pool activity is also rising?
Is options activity chasing after the move?
Are puts increasing while price is weakening?
Are multi-leg trades dominating the options tape?
Is flow expanding with price, or drying up while price continues moving?

To me, that’s where dark pool and options data becomes useful. Not as a magic prediction tool, but as context. Price shows what happened. Dark pool data shows where large off-exchange volume is showing up. Options flow shows how traders are expressing risk around that move.

Individually, each dataset is noisy. Together, they can help show whether a move has confirmation, exhaustion, or divergence.

This is still a work in progress, but this is the kind of structure I’ve wanted for a while: price action on top, dark pool activity underneath it, and options flow split out below that so the relationship is visually obvious instead of buried in tables.

Not investment advice. Just trying to build better market context tools.

What do you guys think?

u/Shtonky — 22 days ago

Built a custom Thinkorswim study that combines a standard Opening Range Breakout (5m / 15m / 30m) with automatic directional Fibonacci levels based on the opening auction structure. Code in body for everyone to have.

This is a custom script I built that plots the ORB on ToS and automatically plots fib levels within that orb. This is an open source thing I think anyone that trades fibs and ORB should have, so the ThinkScript is at the bottom for you to copy paste and use on your own!

I’m not making anything on this, I’m not promoting anything, just sharing my creation with fellow day traders. I have no ulterior motive other than to share information freely. I do not work for Charles Schwab or their ToS team either.

The script:

plots the ORB high/low as a defined range box
automatically builds fib retracement + extension levels from the ORB
determines bullish/bearish bias based on where the opening range closes
keeps the original ORB bias locked for the day (doesn’t repaint)
includes optional 161.8 / 261.8 extensions
supports separate 5m / 15m / 30m ORBs
shows left-side fib % labels and right-side price labels
includes breakout arrows + alerts

Still testing it, but the structure interaction has been surprisingly clean so far.

The best advice I have for using this is if the fib levels don’t look clean to price action, use a different time frame and see if price on that alternative time scale respects price action better.

The Code
___________________________________________________

# ORB + Directional Fibonacci Levels

# Native-style ORB box + left % labels + right price labels

input OR_Length = {default FiveMin, FifteenMin, ThirtyMin};

input showOnlyRTH = yes;

input showSignals = yes;

input showORBCloud = yes;

input showFibLevels = yes;

input showLeftPercentLabels = yes;

input showRightPriceLabels = yes;

input showExtensions = yes;

input show236 = yes;

input show382 = yes;

input show500 = yes;

input show618 = yes;

input show786 = yes;

def RTHopen = 0930;

def RTHclose = 1600;

def ORend =

if OR_Length == OR_Length.FiveMin then 0935

else if OR_Length == OR_Length.FifteenMin then 0945

else 1000;

def isRTH = SecondsFromTime(RTHopen) >= 0 and SecondsTillTime(RTHclose) > 0;

def inOR = SecondsFromTime(RTHopen) >= 0 and SecondsTillTime(ORend) > 0;

def afterOR = SecondsFromTime(ORend) >= 0 and SecondsTillTime(RTHclose) > 0;

def newDay = GetDay() <> GetDay()[1];

def ORHigh = CompoundValue(1,

if newDay then Double.NaN

else if inOR and IsNaN(ORHigh[1]) then high

else if inOR then Max(ORHigh[1], high)

else ORHigh[1],

Double.NaN);

def ORLow = CompoundValue(1,

if newDay then Double.NaN

else if inOR and IsNaN(ORLow[1]) then low

else if inOR then Min(ORLow[1], low)

else ORLow[1],

Double.NaN);

def ORClose = CompoundValue(1,

if newDay then Double.NaN

else if inOR then close

else ORClose[1],

Double.NaN);

def ORMid = (ORHigh + ORLow) / 2;

def ORRange = ORHigh - ORLow;

def bullishORB = ORClose >= ORMid;

def bearishORB = ORClose < ORMid;

def plotOk = if showOnlyRTH then isRTH else yes;

def orbOk = plotOk and afterOR and !IsNaN(ORHigh) and ORRange > 0;

def fibOk = orbOk and showFibLevels;

# --- Directional fib logic ---

def F0 =

if bullishORB then ORLow else ORHigh;

def F236 =

if bullishORB then ORLow + ORRange * 0.236

else ORHigh - ORRange * 0.236;

def F382 =

if bullishORB then ORLow + ORRange * 0.382

else ORHigh - ORRange * 0.382;

def F500 =

if bullishORB then ORLow + ORRange * 0.500

else ORHigh - ORRange * 0.500;

def F618 =

if bullishORB then ORLow + ORRange * 0.618

else ORHigh - ORRange * 0.618;

def F786 =

if bullishORB then ORLow + ORRange * 0.786

else ORHigh - ORRange * 0.786;

def F100 =

if bullishORB then ORHigh else ORLow;

def F1618 =

if bullishORB then ORHigh + ORRange * 0.618

else ORLow - ORRange * 0.618;

def F2618 =

if bullishORB then ORHigh + ORRange * 1.618

else ORLow - ORRange * 1.618;

# --- ORB range structure ---

plot pORHigh = if orbOk then ORHigh else Double.NaN;

plot pORLow = if orbOk then ORLow else Double.NaN;

pORHigh.SetDefaultColor(Color.CYAN);

pORLow.SetDefaultColor(Color.CYAN);

pORHigh.SetLineWeight(4);

pORLow.SetLineWeight(4);

pORHigh.HideBubble();

pORLow.HideBubble();

plot ORCloudHigh = if showORBCloud and orbOk then ORHigh else Double.NaN;

plot ORCloudLow = if showORBCloud and orbOk then ORLow else Double.NaN;

ORCloudHigh.Hide();

ORCloudLow.Hide();

AddCloud(ORCloudHigh, ORCloudLow, Color.DARK_GRAY, Color.DARK_GRAY);

# --- Fib plots ---

plot p0 = if fibOk then F0 else Double.NaN;

plot p236 = if fibOk and show236 then F236 else Double.NaN;

plot p382 = if fibOk and show382 then F382 else Double.NaN;

plot p500 = if fibOk and show500 then F500 else Double.NaN;

plot p618 = if fibOk and show618 then F618 else Double.NaN;

plot p786 = if fibOk and show786 then F786 else Double.NaN;

plot p100 = if fibOk then F100 else Double.NaN;

plot p1618 = if fibOk and showExtensions then F1618 else Double.NaN;

plot p2618 = if fibOk and showExtensions then F2618 else Double.NaN;

p0.SetDefaultColor(Color.CYAN);

p236.SetDefaultColor(Color.CYAN);

p382.SetDefaultColor(Color.CYAN);

p500.SetDefaultColor(Color.CYAN);

p618.SetDefaultColor(Color.CYAN);

p786.SetDefaultColor(Color.CYAN);

p100.SetDefaultColor(Color.CYAN);

p1618.SetDefaultColor(Color.CYAN);

p2618.SetDefaultColor(Color.CYAN);

p0.SetLineWeight(2);

p100.SetLineWeight(2);

p236.SetStyle(Curve.SHORT_DASH);

p382.SetStyle(Curve.SHORT_DASH);

p500.SetStyle(Curve.SHORT_DASH);

p618.SetStyle(Curve.SHORT_DASH);

p786.SetStyle(Curve.SHORT_DASH);

p1618.SetStyle(Curve.LONG_DASH);

p2618.SetStyle(Curve.LONG_DASH);

p0.HideBubble();

p236.HideBubble();

p382.HideBubble();

p500.HideBubble();

p618.HideBubble();

p786.HideBubble();

p100.HideBubble();

p1618.HideBubble();

p2618.HideBubble();

# --- Label positioning ---

def firstFibBar = afterOR and !afterOR[1];

def lastBar = BarNumber() == HighestAll(BarNumber());

# Left-side percent labels

AddChartBubble(showLeftPercentLabels and fibOk and firstFibBar, F0, "0.0%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show236 and firstFibBar, F236, "23.6%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show382 and firstFibBar, F382, "38.2%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show500 and firstFibBar, F500, "50.0%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show618 and firstFibBar, F618, "61.8%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show786 and firstFibBar, F786, "78.6%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and firstFibBar, F100, "100.0%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and showExtensions and firstFibBar, F1618, "161.8%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and showExtensions and firstFibBar, F2618, "261.8%", Color.CYAN, yes);

# Right-side price labels

AddChartBubble(showRightPriceLabels and fibOk and lastBar, F0, "$" + AsText(Round(F0, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show236 and lastBar, F236, "$" + AsText(Round(F236, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show382 and lastBar, F382, "$" + AsText(Round(F382, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show500 and lastBar, F500, "$" + AsText(Round(F500, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show618 and lastBar, F618, "$" + AsText(Round(F618, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show786 and lastBar, F786, "$" + AsText(Round(F786, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and lastBar, F100, "$" + AsText(Round(F100, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and showExtensions and lastBar, F1618, "$" + AsText(Round(F1618, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and showExtensions and lastBar, F2618, "$" + AsText(Round(F2618, 2)), Color.CYAN, no);

# --- Bias / failure state ---

def bullishFailed = bullishORB and afterOR and close < ORLow;

def bearishFailed = bearishORB and afterOR and close > ORHigh;

AddLabel(afterOR,

if bullishFailed then "ORB FIB BIAS: BULLISH FAILED"

else if bearishFailed then "ORB FIB BIAS: BEARISH FAILED"

else if bullishORB then "ORB FIB BIAS: BULLISH"

else "ORB FIB BIAS: BEARISH",

if bullishFailed or bearishFailed then Color.YELLOW

else if bullishORB then Color.GREEN

else Color.RED

);

AddLabel(afterOR,

"ORB Range: $" + AsText(Round(ORLow, 2)) + " - $" + AsText(Round(ORHigh, 2)),

Color.CYAN

);

# --- Breakout signals ---

def breakUp = showSignals and afterOR and close crosses above ORHigh;

def breakDn = showSignals and afterOR and close crosses below ORLow;

plot UpSignal = if breakUp then low else Double.NaN;

plot DnSignal = if breakDn then high else Double.NaN;

UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP);

DnSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);

UpSignal.SetDefaultColor(Color.GREEN);

DnSignal.SetDefaultColor(Color.RED);

Alert(breakUp, "Opening Range Breakout UP", Alert.BAR, Sound.Ring);

Alert(breakDn, "Opening Range Breakout DOWN", Alert.BAR, Sound.Ring);

u/Shtonky — 1 month ago

Built a custom ThinkScript study that combines a standard Opening Range Breakout (5m / 15m / 30m) with automatic directional Fibonacci levels based on the opening auction structure.

EDIT: On the original post I had the Fib levels flipped by mistake. I’ve corrected that issue and updated the code below.

This is a custom script I built that plots the ORB on ToS and automatically plots fib levels within that orb. This is an open source thing I think anyone that trades fibs and ORB should have, so the ThinkScript is at the bottom for you to copy paste and use on your own!

I’m not making anything on this, I’m not promoting anything, just sharing my creation with fellow day traders. I have no ulterior motive other than to share information freely. I do not work for Charles Schwab or their ToS team either.

The script:

plots the ORB high/low as a defined range box
automatically builds fib retracement + extension levels from the ORB
determines bullish/bearish bias based on where the opening range closes
keeps the original ORB bias locked for the day (doesn’t repaint)
includes optional 161.8 / 261.8 extensions
supports separate 5m / 15m / 30m ORBs
shows left-side fib % labels and right-side price labels
includes breakout arrows + alerts

Still testing it, but the structure interaction has been surprisingly clean so far.

The best advice I have for using this is if the fib levels don’t look clean to price action, use a different time frame and see if price on that alternative time scale respects price action better.

The Code
___________________________________________________

# ORB + Directional Fibonacci Levels

# Native-style ORB box + left % labels + right price labels

input OR_Length = {default FiveMin, FifteenMin, ThirtyMin};

input showOnlyRTH = yes;

input showSignals = yes;

input showORBCloud = yes;

input showFibLevels = yes;

input showLeftPercentLabels = yes;

input showRightPriceLabels = yes;

input showExtensions = yes;

input show236 = yes;

input show382 = yes;

input show500 = yes;

input show618 = yes;

input show786 = yes;

def RTHopen = 0930;

def RTHclose = 1600;

def ORend =

if OR_Length == OR_Length.FiveMin then 0935

else if OR_Length == OR_Length.FifteenMin then 0945

else 1000;

def isRTH = SecondsFromTime(RTHopen) >= 0 and SecondsTillTime(RTHclose) > 0;

def inOR = SecondsFromTime(RTHopen) >= 0 and SecondsTillTime(ORend) > 0;

def afterOR = SecondsFromTime(ORend) >= 0 and SecondsTillTime(RTHclose) > 0;

def newDay = GetDay() <> GetDay()[1];

def ORHigh = CompoundValue(1,

if newDay then Double.NaN

else if inOR and IsNaN(ORHigh[1]) then high

else if inOR then Max(ORHigh[1], high)

else ORHigh[1],

Double.NaN);

def ORLow = CompoundValue(1,

if newDay then Double.NaN

else if inOR and IsNaN(ORLow[1]) then low

else if inOR then Min(ORLow[1], low)

else ORLow[1],

Double.NaN);

def ORClose = CompoundValue(1,

if newDay then Double.NaN

else if inOR then close

else ORClose[1],

Double.NaN);

def ORMid = (ORHigh + ORLow) / 2;

def ORRange = ORHigh - ORLow;

def bullishORB = ORClose >= ORMid;

def bearishORB = ORClose < ORMid;

def plotOk = if showOnlyRTH then isRTH else yes;

def orbOk = plotOk and afterOR and !IsNaN(ORHigh) and ORRange > 0;

def fibOk = orbOk and showFibLevels;

# --- Corrected TOS-style directional fib logic ---

# Bullish draw: LOW -> HIGH

# TOS labels this as 0% at HIGH and 100% at LOW

# Bearish draw: HIGH -> LOW

# TOS labels this as 0% at LOW and 100% at HIGH

def F0 =

if bullishORB then ORHigh else ORLow;

def F236 =

if bullishORB then ORHigh - ORRange * 0.236

else ORLow + ORRange * 0.236;

def F382 =

if bullishORB then ORHigh - ORRange * 0.382

else ORLow + ORRange * 0.382;

def F500 =

if bullishORB then ORHigh - ORRange * 0.500

else ORLow + ORRange * 0.500;

def F618 =

if bullishORB then ORHigh - ORRange * 0.618

else ORLow + ORRange * 0.618;

def F786 =

if bullishORB then ORHigh - ORRange * 0.786

else ORLow + ORRange * 0.786;

def F100 =

if bullishORB then ORLow else ORHigh;

def F1618 =

if bullishORB then ORLow - ORRange * 0.618

else ORHigh + ORRange * 0.618;

def F2618 =

if bullishORB then ORLow - ORRange * 1.618

else ORHigh + ORRange * 1.618;

# --- ORB range structure ---

plot pORHigh = if orbOk then ORHigh else Double.NaN;

plot pORLow = if orbOk then ORLow else Double.NaN;

pORHigh.SetDefaultColor(Color.CYAN);

pORLow.SetDefaultColor(Color.CYAN);

pORHigh.SetLineWeight(4);

pORLow.SetLineWeight(4);

pORHigh.HideBubble();

pORLow.HideBubble();

plot ORCloudHigh = if showORBCloud and orbOk then ORHigh else Double.NaN;

plot ORCloudLow = if showORBCloud and orbOk then ORLow else Double.NaN;

ORCloudHigh.Hide();

ORCloudLow.Hide();

AddCloud(ORCloudHigh, ORCloudLow, Color.DARK_GRAY, Color.DARK_GRAY);

# --- Fib plots ---

plot p0 = if fibOk then F0 else Double.NaN;

plot p236 = if fibOk and show236 then F236 else Double.NaN;

plot p382 = if fibOk and show382 then F382 else Double.NaN;

plot p500 = if fibOk and show500 then F500 else Double.NaN;

plot p618 = if fibOk and show618 then F618 else Double.NaN;

plot p786 = if fibOk and show786 then F786 else Double.NaN;

plot p100 = if fibOk then F100 else Double.NaN;

plot p1618 = if fibOk and showExtensions then F1618 else Double.NaN;

plot p2618 = if fibOk and showExtensions then F2618 else Double.NaN;

p0.SetDefaultColor(Color.CYAN);

p236.SetDefaultColor(Color.CYAN);

p382.SetDefaultColor(Color.CYAN);

p500.SetDefaultColor(Color.CYAN);

p618.SetDefaultColor(Color.CYAN);

p786.SetDefaultColor(Color.CYAN);

p100.SetDefaultColor(Color.CYAN);

p1618.SetDefaultColor(Color.CYAN);

p2618.SetDefaultColor(Color.CYAN);

p0.SetLineWeight(2);

p100.SetLineWeight(2);

p236.SetStyle(Curve.SHORT_DASH);

p382.SetStyle(Curve.SHORT_DASH);

p500.SetStyle(Curve.SHORT_DASH);

p618.SetStyle(Curve.SHORT_DASH);

p786.SetStyle(Curve.SHORT_DASH);

p1618.SetStyle(Curve.LONG_DASH);

p2618.SetStyle(Curve.LONG_DASH);

p0.HideBubble();

p236.HideBubble();

p382.HideBubble();

p500.HideBubble();

p618.HideBubble();

p786.HideBubble();

p100.HideBubble();

p1618.HideBubble();

p2618.HideBubble();

# --- Label positioning ---

def firstFibBar = afterOR and !afterOR[1];

# FIX: last real candle, not chart expansion space

def priceLabelBar = isRTH and !isRTH[-1];

def priceBubbleOk = showFibLevels and afterOR and !IsNaN(ORHigh) and ORRange > 0;

# Left-side percent labels

AddChartBubble(showLeftPercentLabels and fibOk and firstFibBar, F0, "0.0%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show236 and firstFibBar, F236, "23.6%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show382 and firstFibBar, F382, "38.2%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show500 and firstFibBar, F500, "50.0%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show618 and firstFibBar, F618, "61.8%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and show786 and firstFibBar, F786, "78.6%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and firstFibBar, F100, "100.0%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and showExtensions and firstFibBar, F1618, "161.8%", Color.CYAN, yes);

AddChartBubble(showLeftPercentLabels and fibOk and showExtensions and firstFibBar, F2618, "261.8%", Color.CYAN, yes);

# Right-side price labels on the fib bars themselves

AddChartBubble(showRightPriceLabels and fibOk and priceLabelBar, F0,

"$" + AsText(Round(F0, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show236 and priceLabelBar, F236,

"$" + AsText(Round(F236, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show382 and priceLabelBar, F382,

"$" + AsText(Round(F382, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show500 and priceLabelBar, F500,

"$" + AsText(Round(F500, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show618 and priceLabelBar, F618,

"$" + AsText(Round(F618, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and show786 and priceLabelBar, F786,

"$" + AsText(Round(F786, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and priceLabelBar, F100,

"$" + AsText(Round(F100, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and showExtensions and priceLabelBar, F1618,

"$" + AsText(Round(F1618, 2)), Color.CYAN, no);

AddChartBubble(showRightPriceLabels and fibOk and showExtensions and priceLabelBar, F2618,

"$" + AsText(Round(F2618, 2)), Color.CYAN, no);

# --- Bias / failure state ---

def bullishFailed = bullishORB and afterOR and close < ORLow;

def bearishFailed = bearishORB and afterOR and close > ORHigh;

AddLabel(afterOR,

if bullishFailed then "ORB FIB BIAS: BULLISH FAILED"

else if bearishFailed then "ORB FIB BIAS: BEARISH FAILED"

else if bullishORB then "ORB FIB BIAS: BULLISH"

else "ORB FIB BIAS: BEARISH",

if bullishFailed or bearishFailed then Color.YELLOW

else if bullishORB then Color.GREEN

else Color.RED

);

AddLabel(afterOR,

"ORB Range: $" + AsText(Round(ORLow, 2)) + " - $" + AsText(Round(ORHigh, 2)),

Color.CYAN

);

# --- Breakout signals ---

def breakUp = showSignals and afterOR and close crosses above ORHigh;

def breakDn = showSignals and afterOR and close crosses below ORLow;

plot UpSignal = if breakUp then low else Double.NaN;

plot DnSignal = if breakDn then high else Double.NaN;

UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP);

DnSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);

UpSignal.SetDefaultColor(Color.GREEN);

DnSignal.SetDefaultColor(Color.RED);

Alert(breakUp, "Opening Range Breakout UP", Alert.BAR, Sound.Ring);

Alert(breakDn, "Opening Range Breakout DOWN", Alert.BAR, Sound.Ring);

reddit.com
u/Shtonky — 1 month ago

I wanted to make the ultimate “I’m not employed” list. How’d I do?

u/Shtonky — 1 month ago

I am ready for the new LOTF. Hopefully it drops soon!

Just finished the 2014 LOTF. It’s janky, but it’s not the worst thing ever. LOTF 2023 though was a masterpiece.

u/Shtonky — 2 months ago

Everyone’s been posting their “About Me Video Games” lists, so for fun I tried to make the worst possible list imaginable while still keeping some of the answers technically defendable. How badly did I do?

u/Shtonky — 2 months ago

41yo, didn’t really start playing video games until Covid. Here’s my list.

u/Shtonky — 2 months ago
▲ 0 r/gamers

I love video games, but I’ve never liked calling myself a “gamer.” Something about adults building their entire identity around consuming entertainment always felt weird to me.

That said, I absolutely love 100%ing games and trophy hunting. Anyone else feel disconnected from “gamer culture” but still love games?

reddit.com
u/Shtonky — 2 months ago

I finally did it. I beat 10/20 mode! After about two weeks of grinding this obscenely hard mode, dying multiple times far along into 5am, and hours of YouTube video research later…I finally did it and survived night 7 on 10/20 difficulty! I used a timer and the right vent camping Strat to accomplish this.

My hands are still shaking…I haven’t had this feeling from a video game since Sekiro and beating Isshan Sword Saint. What an experience.

u/Shtonky — 2 months ago