Google Sheets Trading Workbook — ETF Pullback System
Budget: ₹12,500 – ₹37,500 INR
Goal (5-min daily workflow @ 3:10–3:25 pm IST):
Screen NSE ETFs, compute indicators (RSI/ATR/EMA/Supertrend), show a tick-snapped limit price for entries, and manage exits & portfolio risk—no market orders.
1) ETF Selection (Universe & Signal)
Universe: Start from ~50 NSE ETFs → weekly rank by ADV Value (20d); trade only Top-35 with acceptable spread proxy.
Signal (all must be true):
Trend: Supertrend (Daily) = Green
Momentum: RSI(14) > 50
Pullback: % change ≤ −1.5% vs prior close
Liquidity: ADV = PASS (Top-35 & spreads OK)
Deep-Dip override: If today ≤ −15% and still ST Green + RSI>50 + PASS → that name gets priority.
2) Order & Trade Management (Limit-Only, No Slippage)
Captured LTP (manual snapshot ~3:15 pm).
Entry Trigger = PriorClose × (1 − Pullback%).
Suggested Entry (Limit) = MIN(Captured LTP, Entry Trigger, Bands if enabled) → MROUND to TickSize; Good-Till-Day only.
Don’t-Chase guard: If live LTP > Limit + 1 tick → skip.
Sizing: Daily budget (e.g., ₹50k), one tranche per ticker/day, theme cap (one per sector), portfolio risk cap (reference-risk ≤ X% of capital).
Logs: POSITIONS stores entry price (limit used), qty, highest close, trail stop, P&L, holding days.
3) Exit Signals
TP1: +6% on 50% of position (closing basis).
TP2 / Trail: Either cap at +10%, or trail 5% from highest close since entry (runner).
Admin: Sell only one tranche per day even if multiple hit targets.
4) Averaging Signals (Optional Modules)
Module A (Add-1): Add near EMA(34) − 1×ATR(14) (only if ST Green, RSI>50, above EMA(89) regime).
Module B (Add-2): Add near EMA(34) − 2×ATR(14) (same regime).
Toggle modules ON/OFF in CONFIG. No more than 2 adds total; freeze adds if price below EMA(89).
Deliverables
Google Sheet with tabs: CONFIG, UNIVERSE, OHLCV Data, INDICATORS, SUMMARY (screener + limit surface), POSITIONS, RISK, HELP.
Robust formulas (no LET/LAMBDA), locale-safe (comma/semicolon variants).
Exports: SUMMARY snapshot to PDF; POSITIONS to CSV.
1–2 page builder notes + short Loom walkthrough.
Acceptance (must pass)
SUMMARY shows BUY @ ₹<SuggestedLimit> (GTD) only when selection, risk/budget, and Don’t-Chase checks pass.
Deep-Dip/averaging bands work as specified; TickSize snapping is correct.
Risk dashboard caps Total Open Risk ≤ X%; sector/theme/concurrency enforced.
What to include in your bid
Examples of Google Sheets with market data/indicators.
Your approach to OHLCV blocks, dynamic ranges, limit surface, and GOOGLEFINANCE gaps.
Fixed-fee quote + milestones, and hourly rate for post-delivery tweaks.
(I’ll share a detailed spec and a Pine Script v5 for parity after award.)
Screen NSE ETFs, compute indicators (RSI/ATR/EMA/Supertrend), show a tick-snapped limit price for entries, and manage exits & portfolio risk—no market orders.
1) ETF Selection (Universe & Signal)
Universe: Start from ~50 NSE ETFs → weekly rank by ADV Value (20d); trade only Top-35 with acceptable spread proxy.
Signal (all must be true):
Trend: Supertrend (Daily) = Green
Momentum: RSI(14) > 50
Pullback: % change ≤ −1.5% vs prior close
Liquidity: ADV = PASS (Top-35 & spreads OK)
Deep-Dip override: If today ≤ −15% and still ST Green + RSI>50 + PASS → that name gets priority.
2) Order & Trade Management (Limit-Only, No Slippage)
Captured LTP (manual snapshot ~3:15 pm).
Entry Trigger = PriorClose × (1 − Pullback%).
Suggested Entry (Limit) = MIN(Captured LTP, Entry Trigger, Bands if enabled) → MROUND to TickSize; Good-Till-Day only.
Don’t-Chase guard: If live LTP > Limit + 1 tick → skip.
Sizing: Daily budget (e.g., ₹50k), one tranche per ticker/day, theme cap (one per sector), portfolio risk cap (reference-risk ≤ X% of capital).
Logs: POSITIONS stores entry price (limit used), qty, highest close, trail stop, P&L, holding days.
3) Exit Signals
TP1: +6% on 50% of position (closing basis).
TP2 / Trail: Either cap at +10%, or trail 5% from highest close since entry (runner).
Admin: Sell only one tranche per day even if multiple hit targets.
4) Averaging Signals (Optional Modules)
Module A (Add-1): Add near EMA(34) − 1×ATR(14) (only if ST Green, RSI>50, above EMA(89) regime).
Module B (Add-2): Add near EMA(34) − 2×ATR(14) (same regime).
Toggle modules ON/OFF in CONFIG. No more than 2 adds total; freeze adds if price below EMA(89).
Deliverables
Google Sheet with tabs: CONFIG, UNIVERSE, OHLCV Data, INDICATORS, SUMMARY (screener + limit surface), POSITIONS, RISK, HELP.
Robust formulas (no LET/LAMBDA), locale-safe (comma/semicolon variants).
Exports: SUMMARY snapshot to PDF; POSITIONS to CSV.
1–2 page builder notes + short Loom walkthrough.
Acceptance (must pass)
SUMMARY shows BUY @ ₹<SuggestedLimit> (GTD) only when selection, risk/budget, and Don’t-Chase checks pass.
Deep-Dip/averaging bands work as specified; TickSize snapping is correct.
Risk dashboard caps Total Open Risk ≤ X%; sector/theme/concurrency enforced.
What to include in your bid
Examples of Google Sheets with market data/indicators.
Your approach to OHLCV blocks, dynamic ranges, limit surface, and GOOGLEFINANCE gaps.
Fixed-fee quote + milestones, and hourly rate for post-delivery tweaks.
(I’ll share a detailed spec and a Pine Script v5 for parity after award.)