<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Welcome to Gusgraph</title>
		<description><![CDATA[Gusgraph ]]></description>
		<link>https://gusgraph.com/index.php?view=category&amp;id=8</link>
		<lastBuildDate>Fri, 22 May 2026 23:16:43 +0000</lastBuildDate>
		<generator>Joomla! - Open Source Content Management</generator>
		<atom:link rel="self" type="application/rss+xml" href="https://gusgraph.com//index.php?view=category&amp;id=8&amp;format=feed&amp;type=rss"/>
		<language>en-gb</language>
		<item>
			<title>Market Gate GO/NO-GO (Long-Only) indicator</title>
			<link>https://gusgraph.com/index.php/home/digital-projects/market-gate-go-no-go-long-only-indicator</link>
			<guid isPermaLink="true">https://gusgraph.com/index.php/home/digital-projects/market-gate-go-no-go-long-only-indicator</guid>
			<description><![CDATA[<div style="max-width: 920px; margin: 0 auto; padding: 24px; font-family: 'Georgia', 'Palatino', serif; color: #0f172a; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);">
<h2 style="margin: 0 0 12px; font-size: 26px; color: #0f172a;">Market Gate GO/NO-GO (Long Only)</h2>
<p style="margin: 0 0 16px; font-size: 15px; line-height: 1.6;">This indicator is for traders who want a quick, objective answer to one question before they take any long: <strong data-start="108" data-end="196">“Is the overall market environment supportive right now, or am I fighting the tape?”</strong> Most losses in long-only swing trading don’t come from picking the wrong stock — they come from buying good setups while the broader market is risk-off. This script is meant to solve that by acting as a <strong data-start="400" data-end="432">top-level market regime gate</strong> you keep on your chart (or in a separate window) and check first. It does not place trades, does not connect to any broker, and it does not predict. It simply prints a daily <strong data-start="607" data-end="621">GO / NO-GO</strong> state based on market conditions, and you use it as a <strong data-start="676" data-end="696">permission layer</strong> before taking any long setups on individual tickers (breakouts, pullbacks, SMA crosses, reclaim/hold, etc.).</p>
<p style="margin: 0 0 16px; font-size: 15px; line-height: 1.6;">A simple indicator , mechanical risk filter designed to keep long entries aligned with broader market conditions. It does <strong>not</strong> place trades and does <strong>not</strong> connect to any broker. It prints a daily <strong>GO/NO-GO</strong> state and is meant to be used as a “permission layer” before taking any long setups on individual tickers.</p>
<div style="display: grid; gap: 20px;">
<section style="background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px;">
<h3 style="margin: 0 0 8px; font-size: 18px; color: #1e293b;">Logic (Strict Market Gate)</h3>
<p style="margin: 0 0 10px;">Market Gate is <strong>GO</strong> only when all three conditions are true (daily data):</p>
<ul style="margin: 0 0 8px; padding-left: 20px;">
<li>SPY is above its SMA(20)</li>
<li>QQQ is above its SMA(20)</li>
<li>VIX is below its SMA(10)</li>
</ul>
<p style="margin: 0;">If any condition fails, Market Gate is <strong>NO-GO</strong>.</p>
</section>
<section style="background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px;">
<h3 style="margin: 0 0 8px; font-size: 18px; color: #1e293b;">How to use</h3>
<ul style="margin: 0; padding-left: 20px;">
<li><strong>GO</strong> = you’re allowed to take long setups on your chart.</li>
<li><strong>NO-GO</strong> = stand down (avoid new longs, avoid “catching falling knives”).</li>
<li>Combine with your own entry trigger (e.g., SMA10 crossing above SMA20, reclaim/hold, breakouts).</li>
<li>Works on any chart timeframe, but the gate itself always uses daily SPY/QQQ/VIX.</li>
</ul>
</section>
<section style="background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px;">
<h3 style="margin: 0 0 8px; font-size: 18px; color: #1e293b;">Signals / Visuals</h3>
<ul style="margin: 0; padding-left: 20px;">
<li>GO/NO markers are printed once per day (first bar of the day on intraday charts) to avoid label spam.</li>
<li>Optional SMA10/20 plots can be used for your local entry timing.</li>
</ul>
</section>
<section style="background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px;">
<h3 style="margin: 0 0 8px; font-size: 18px; color: #1e293b;">Inputs</h3>
<ul style="margin: 0; padding-left: 20px;">
<li>Symbols: SPY, QQQ, CBOE:VIX (editable)</li>
<li>Lengths: SPY/QQQ SMA length (default 20), VIX SMA length (default 10)</li>
<li>Optional: require both SPY &amp; QQQ above SMA (strict) vs either (looser)</li>
</ul>
</section>
<section style="background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px;">
<h3 style="margin: 0 0 8px; font-size: 18px; color: #1e293b;">Notes</h3>
<p style="margin: 0; line-height: 1.6;">This is a market-regime filter, not a full strategy. It will intentionally stay NO-GO during downtrends and volatility expansions. Always test and adjust to your own risk tolerance and instruments.</p>
</section>
</div>
<div style="margin-top: 20px; padding: 12px 16px; background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 12px;">
<p style="margin: 0; font-size: 14px;">Made by:<a style="color: #4338ca; font-weight: 600; text-decoration: none;" href="https://gusgraph"> Gus Kazem</a>  •  Find on <a style="color: #4338ca; font-weight: 600; text-decoration: none;" href="https://www.tradingview.com/script/NIPvg21x-Market-Gate-GO-NO-GO-Long-Only-SPY-QQQ-Trend-VIX-Filter/" target="_blank" rel="noopener">TradingView</a></p>
</div>
<h3 style="margin: 24px 0 10px; font-size: 18px; color: #1e293b;"><strong>Source Code:</strong></h3>
<pre style="margin: 0; padding: 16px; background: #0f172a; color: #e2e8f0; border-radius: 12px; overflow: auto; white-space: pre-wrap; font-size: 13px; line-height: 1.6;"><code>//@version=6
indicator("SMA10/20 Cross GO (Strict Market Gate) + Death Zone", overlay=true, max_labels_count=500)

// ─────────────────────────────────────────────────────────────────────────────
// Inputs
// ─────────────────────────────────────────────────────────────────────────────
src0   = input.source(close, "Source")
len10  = input.int(10, "SMA 10", minval=1)
len20  = input.int(20, "SMA 20", minval=1)

// Strict Market Gate (daily)
spySym0 = input.string("SPY",      "SPY symbol")
qqqSym0 = input.string("QQQ",      "QQQ symbol")
vixSym0 = input.string("CBOE:VIX", "VIX symbol")

spyLen0 = input.int(20, "SPY SMA length", minval=1)
qqqLen0 = input.int(20, "QQQ SMA length", minval=1)
vixLen0 = input.int(10, "VIX SMA length", minval=1)

// Death Cross settings (computed, not plotted)
dcFastLen0 = input.int(50,  "Death Cross fast SMA (50)",  minval=1)
dcSlowLen0 = input.int(200, "Death Cross slow SMA (200)", minval=1)

// ─────────────────────────────────────────────────────────────────────────────
// Plot SMA10 / SMA20 (current chart)
// ─────────────────────────────────────────────────────────────────────────────
s10_0 = ta.sma(src0, len10)
s20_0 = ta.sma(src0, len20)
plot(s10_0, linewidth=3, title="SMA 10")
plot(s20_0, linewidth=3, title="SMA 20")

// ─────────────────────────────────────────────────────────────────────────────
// Market Gate (STRICT): SPY &gt; SMA20 AND QQQ &gt; SMA20 AND VIX &lt; SMA10
// Uses DAILY data regardless of chart timeframe.
// ─────────────────────────────────────────────────────────────────────────────
fD0(string sym, float expr) =&gt;
    request.security(sym, "D", expr, barmerge.gaps_off, barmerge.lookahead_off)

spyC0 = fD0(spySym0, close)
qqqC0 = fD0(qqqSym0, close)
vixC0 = fD0(vixSym0, close)

spySMA0 = ta.sma(spyC0, spyLen0)
qqqSMA0 = ta.sma(qqqC0, qqqLen0)
vixSMA0 = ta.sma(vixC0, vixLen0)

marketGO0 = (spyC0 &gt; spySMA0) and (qqqC0 &gt; qqqSMA0) and (vixC0 &lt; vixSMA0)

// ─────────────────────────────────────────────────────────────────────────────
// GO / NO signals
// GO fires ONLY when SMA10 crosses ABOVE SMA20 AND Market Gate is GO (strict).
// NO fires when SMA10 crosses BELOW SMA20 (regardless of gate).
// ─────────────────────────────────────────────────────────────────────────────
goSignal0 = ta.crossover(s10_0, s20_0) and marketGO0
noSignal0 = ta.crossunder(s10_0, s20_0)

fStickyLabel(bool condition, float y, string labelText, color bgColor, color txtColor, style) =&gt;
    if condition
        label.new(bar_index, y, labelText, xloc=xloc.bar_index, yloc=yloc.price, style=style, color=bgColor, textcolor=txtColor, size=size.tiny)

fStickyLabel(goSignal0, low, "GO", color.lime, color.black, label.style_label_up)
fStickyLabel(noSignal0, high, "NO", color.red, color.rgb(31, 13, 24), label.style_label_down)

// ─────────────────────────────────────────────────────────────────────────────
// Death Cross mark (orange): SMA50 crosses BELOW SMA200 (on chart symbol)
// ─────────────────────────────────────────────────────────────────────────────
dcFast0 = ta.sma(src0, dcFastLen0)
dcSlow0 = ta.sma(src0, dcSlowLen0)
deathCross0 = ta.crossunder(dcFast0, dcSlow0)

fStickyLabel(deathCross0, high, "Death Zone", color.orange, color.black, label.style_label_down)</code>
  </pre>
</div>]]></description>
			<category>Digital Projects</category>
			<pubDate>Sat, 07 Feb 2026 05:04:49 +0000</pubDate>
		</item>
	</channel>
</rss>
