{"id":51183860,"url":"https://github.com/pro100off/gridpulse","last_synced_at":"2026-06-27T09:01:00.252Z","repository":{"id":361583460,"uuid":"1254363523","full_name":"pro100off/gridpulse","owner":"pro100off","description":"⚡ Free crypto screener — no signup, open in 1 click. MACD + VWAP + ATR signals across Bybit, Binance,  KuCoin, OKX, Pionex. One-click Pionex Grid Bot launch cards.","archived":false,"fork":false,"pushed_at":"2026-06-21T10:02:17.000Z","size":958,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-21T12:04:35.365Z","etag":null,"topics":["adx","atr","binance","bybit","crypto","crypto-screener","cryptocurrency","grid-bot","grid-trading","javascript","kucoin","macd","okx","open-source","pionex","pionex-bot","trading","trading-bot","vwap"],"latest_commit_sha":null,"homepage":"https://pro100off.github.io/gridpulse/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pro100off.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-30T13:23:37.000Z","updated_at":"2026-06-21T10:02:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"b728daad-e763-442d-b4ec-5bab00596710","html_url":"https://github.com/pro100off/gridpulse","commit_stats":null,"previous_names":["pro100off/gridpulse"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pro100off/gridpulse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro100off%2Fgridpulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro100off%2Fgridpulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro100off%2Fgridpulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro100off%2Fgridpulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pro100off","download_url":"https://codeload.github.com/pro100off/gridpulse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro100off%2Fgridpulse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34847287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adx","atr","binance","bybit","crypto","crypto-screener","cryptocurrency","grid-bot","grid-trading","javascript","kucoin","macd","okx","open-source","pionex","pionex-bot","trading","trading-bot","vwap"],"created_at":"2026-06-27T09:00:59.659Z","updated_at":"2026-06-27T09:01:00.237Z","avatar_url":"https://github.com/pro100off.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡ GridPulse v14.8.0 🤝 Pionex Companion\r\n\r\n\u003e **Free, open-source, multi-exchange crypto reversal screener** purpose-built as a **companion tool for Pionex Grid Bots** — with directional **STRONG / GRID BUY/SELL** modes, **TF-adaptive Strictness**, MACD + VWAP + ATR + ADX + Funding-aware setups across **Pionex, Bybit, Binance, KuCoin, and OKX** — and one-click **Launch Cards** with copy-paste-ready parameters that take you straight into a Pionex trading session.\r\n\r\n[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)\r\n[![Version](https://img.shields.io/badge/version-14.8.0-blue.svg)](https://github.com/pro100off/gridpulse/releases/latest)\r\n[![Pionex Partner](https://img.shields.io/badge/🤝-Official%20Pionex%20Partner-26d97a)](https://bit.ly/43bkdc7)\r\n[![Stars](https://img.shields.io/github/stars/pro100off/gridpulse?style=social)](https://github.com/pro100off/gridpulse/stargazers)\r\n[![Single File](https://img.shields.io/badge/build-single--file-success)](index.html)\r\n[![No Build Tools](https://img.shields.io/badge/dependencies-zero-success)]()\r\n[![Languages](https://img.shields.io/badge/i18n-EN%20·%20UA%20·%20ES%20·%20RU%20·%20ZH-purple)]()\r\n\r\n---\r\n\r\n## 🔗 Quick links\r\n\r\n| Resource | URL |\r\n|----------|-----|\r\n| 🌐 **Live demo (canonical)** | [https://tradescout.trade/](https://tradescout.trade/) |\r\n| 🪞 **GitHub Pages mirror** | [https://pro100off.github.io/gridpulse/](https://pro100off.github.io/gridpulse/) |\r\n| 💻 **GitHub repository** | [https://github.com/pro100off/gridpulse](https://github.com/pro100off/gridpulse) |\r\n| 🤝 **Sign up on Pionex** (referral) | [https://bit.ly/43bkdc7](https://bit.ly/43bkdc7) |\r\n| 📢 **Telegram channel** | [https://t.me/tradescoutfree](https://t.me/tradescoutfree) |\r\n| 🐦 **Twitter / X** | [https://x.com/tradeaiscout](https://x.com/tradeaiscout) |\r\n| 📜 **License** | [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) |\r\n| 📋 **Changelog** | [CHANGELOG.md](CHANGELOG.md) |\r\n| 🐛 **Issues** | [GitHub Issues](https://github.com/pro100off/gridpulse/issues) |\r\n| 🚀 **Latest release** | [Releases](https://github.com/pro100off/gridpulse/releases/latest) |\r\n\r\n[![GridPulse Screenshot](docs/screenshot.png)](docs/screenshot.png)\r\n\r\n---\r\n\r\n## 🤝 Official Pionex Partner\r\n\r\nGridPulse v14.8.0 is positioned as a **dedicated companion tool for Pionex Grid Bots**. Pionex is the **default exchange** for new users, and every Launch Card features a prominent **\"Open in Pionex\"** CTA with UTM-tagged deep links that carry the setup context (symbol, TF, mode) into your Pionex session.\r\n\r\n\u003e Bybit, Binance, KuCoin, and OKX remain **fully supported** via the exchange dropdown. The Pionex-first positioning is about defaults and UX polish — not lock-in.\r\n\r\n### Why Pionex?\r\n\r\n- **16 free built-in trading bots** (Grid, Reverse Grid, Smart Trade, DCA, etc.)\r\n- **0.05% trading fee** — among the lowest in the industry\r\n- **10M+ users**, licensed exchange, cold storage, 24/7 support\r\n- **Native Grid Bot parameters** map 1:1 to GridPulse Launch Cards (Lower Limit, Upper Limit, Grid Lines, ATR-based SL/TP)\r\n\r\n---\r\n\r\n## 📑 Table of contents\r\n\r\n- [✨ Features](#-features)\r\n- [🚀 Quick start](#-quick-start)\r\n- [🤝 Pionex companion workflow](#-pionex-companion-workflow)\r\n- [⌨ Hotkeys](#-hotkeys)\r\n- [🧠 How it works](#-how-it-works)\r\n- [📈 Directional modes](#-directional-modes)\r\n- [🎯 TF-adaptive Strictness](#-tf-adaptive-strictness)\r\n- [🛡 Classified SKIP reasons](#-classified-skip-reasons)\r\n- [⭐ Two paths to STRONG](#-two-paths-to-strong)\r\n- [📊 Indicators reference](#-indicators-reference)\r\n- [💰 Funding-aware logic](#-funding-aware-logic)\r\n- [🎛 Settings \u0026 filters](#-settings--filters)\r\n- [📋 Launch Cards](#-launch-cards)\r\n- [📸 Export \u0026 content tools](#-export--content-tools)\r\n- [🌐 Internationalization](#-internationalization)\r\n- [🛠 Self-hosting](#-self-hosting)\r\n- [🔄 Optional Cloudflare Worker proxy](#-optional-cloudflare-worker-proxy)\r\n- [📁 Repository structure](#-repository-structure)\r\n- [🧾 What's new in v14.8.0](#-whats-new-in-v1480)\r\n- [📜 Version history (carried-over highlights)](#-version-history-carried-over-highlights)\r\n- [⚠ Disclaimer](#-disclaimer)\r\n- [💚 Transparency](#-transparency)\r\n- [📊 Analytics](#-analytics)\r\n- [🤝 Contributing](#-contributing)\r\n- [❓ FAQ](#-faq)\r\n- [📄 License](#-license)\r\n\r\n---\r\n\r\n## ✨ Features\r\n\r\n* **🤝 Built around Pionex** — Pionex is the default exchange; Launch Cards map directly to Pionex Grid Bot parameters\r\n* **5 exchanges:** Pionex, Bybit, Binance, KuCoin, OKX (**Spot + USDT Futures**)\r\n* **Indicators:** MACD divergence, VWAP confluence ⭐, ATR, ADX, Volume ratio, R:R\r\n* **TF-adaptive Strictness** — thresholds scale automatically by timeframe (**1m softer → 1W stricter**) with a global selector: **soft / normal / strict**\r\n* **Two paths to STRONG setups:**\r\n  * **Exhaustion** — blow-off trend + reversal candle\r\n  * **Quality** — moderate trend + ⭐ VWAP confluence + strong R:R\r\n* **Classified SKIP reasons** with exact per-row tooltip thresholds:\r\n  * ⚡ **WATCH** — strong reversal candle present, but reward (R:R) too low\r\n  * 🌊 **TREND** — market still trending too strongly, no valid reversal yet\r\n  * ⚖ **LOW R:R** — poor reward relative to risk\r\n* **Funding-aware setups** for perpetual contracts:\r\n  * current rate\r\n  * 7-day average (21 payments)\r\n  * daily / annual cost\r\n  * hold-period projection\r\n  * LONG / SHORT bias indicator\r\n* **5 languages:** English · Українська · Español · Русский · 中文\r\n* **Launch Cards** with copy-paste-ready Grid Bot parameters and a **prominent \"Open in Pionex\" CTA** with UTM tracking — five directional modes:\r\n  * **STRONG BUY**\r\n  * **GRID BUY**\r\n  * **STRONG SELL**\r\n  * **GRID SELL**\r\n  * **SKIP**\r\n* **Pionex Only mode** — single header toggle that locks the screener to Pionex for a focused workflow\r\n* **Breakout entry logic** — `limL` placed at the opposite extreme of the reversal candle:\r\n  * bearish reversal → candle **low**\r\n  * bullish reversal → candle **high**\r\n* **TradingView integration** — open chart for any setup in one click, with symbol-fallback chain (Bybit ↔ Binance ↔ KuCoin)\r\n* **CSV export** of all scan results (with funding columns)\r\n* **Content-creator tools** — accessible via hotkeys:\r\n  * Horizontal full screenshot\r\n  * Vertical 1080×1350 **PNG Cards** (top 5)\r\n  * Vertical 1080×1350 **PNG Table** (top 15)\r\n  * 5-slide **Carousel** (cover + top 3 + CTA)\r\n  * Daily watermark with scan serial counter\r\n* **Privacy-first:**\r\n  * no signup\r\n  * no cookies\r\n  * no individual user tracking\r\n  * no fingerprinting\r\n  * GDPR-compliant\r\n* **Light / Dark theme** with full localization and high-contrast rows\r\n* **Auto-fallback proxies** — scan still completes even when one exchange API is blocked in your region\r\n* **Custom domain support** — canonical URL: [https://tradescout.trade/](https://tradescout.trade/)\r\n* **Zero-build single-file architecture** — entire app is one `index.html`\r\n* **No npm, no webpack, no dependencies** — works on `file://`, GitHub Pages, Cloudflare Pages, Netlify, Vercel, Apache, nginx, Caddy, or any static host\r\n\r\n---\r\n\r\n## 🚀 Quick start\r\n\r\n### Option A — Use the hosted version (no install)\r\n\r\n1. Open [https://tradescout.trade/](https://tradescout.trade/)\r\n2. The screener opens on **Pionex / Spot** by default (you can switch to Bybit / Binance / KuCoin / OKX anytime)\r\n3. Select **timeframes** (defaults: 1h, 4h, 1D)\r\n4. Optionally adjust **Strictness** (`soft` / `normal` / `strict`)\r\n5. Click **▶ Scan** — results usually appear in ~30 seconds\r\n6. Click 📋 next to any symbol to open the **Launch Card**\r\n7. Click the big **🚀 Open in Pionex** button → the setup carries over via UTM-tagged deep link\r\n8. Paste the parameters into a Pionex Grid Bot and manage the trade manually\r\n\r\n### Option B — Self-host (1 command)\r\n\r\n```bash\r\ngit clone https://github.com/pro100off/gridpulse.git\r\ncd gridpulse\r\npython3 -m http.server 8000\r\n# Open http://localhost:8000 in your browser\r\nCopy\r\nOr simply double-click `index.html` — it also works on `file://`.\r\n\r\n---\r\n\r\n## 🤝 Pionex companion workflow\r\n\r\nGridPulse v14.8.0 is designed around a **focused, two-tool workflow**:\r\n\r\n```text\r\n┌─────────────────────────┐                ┌─────────────────────────┐\r\n│  GridPulse              │                │  Pionex                 │\r\n│  (scan + plan)          │  ────────►     │  (execute)              │\r\n│                         │  Open in       │                         │\r\n│  • Multi-TF scan        │  Pionex CTA    │  • Grid Bot             │\r\n│  • Launch Card          │  + UTM tags    │  • Reverse Grid         │\r\n│  • Copy parameters      │                │  • Smart Trade          │\r\n└─────────────────────────┘                └─────────────────────────┘\r\nA floating ⌨ button in the bottom-left corner shows the full hotkey reference at any time.\r\n\r\nKey\tAction\r\nShift + T\tVertical / TikTok-friendly layout\r\nShift + P\tExport PNG Cards (top 5, 1080×1350)\r\nShift + Alt + P\tExport PNG Table (top 15, 1080×1350)\r\nShift + C\tGenerate 5-slide carousel\r\nEsc\tClose any open modal\r\nDouble-click row\tHighlight selected row, dim others\r\nTip: Hotkeys are ignored while typing inside \u003cinput\u003e, \u003ctextarea\u003e, or \u003cselect\u003e so you can keep typing custom pair lists without conflicts.\r\n\r\n🧠 How it works\r\nGridPulse fetches public market data directly from exchange APIs (with proxy fallbacks for restricted regions) and calculates all indicators client-side in your browser.\r\n\r\nCopyExchange API ──► (optional proxy) ──► your browser ──► indicators ──► classifier\r\n                                                                          │\r\n                                                                          ▼\r\n                                                                  Launch Card UI\r\nNo personal data is sent to any server.\r\nYour preferences are stored locally in localStorage.\r\nScan results are kept only in memory (and sessionStorage cache).\r\nProxy chain \u0026 fallback strategy\r\nFor each request, GridPulse tries:\r\n\r\nDirect fetch (for Bybit, Pionex, Binance, KuCoin, OKX endpoints that are CORS-friendly)\r\nCloudflare Worker proxy (rate-limited shared instance) — see Optional Cloudflare Worker proxy\r\nCodeTabs proxy\r\nAllOrigins proxy\r\nCORS.lol proxy\r\nThingProxy proxy\r\nEach proxy has a health tracker:\r\n\r\nAuto-ban for 30 seconds after a single failure\r\nHard-ban for 120 seconds after 3 consecutive failures\r\nRate-limit warning surfaces in the header when 3+ failures land within 10 seconds\r\nBinance Futures GeoIP fallback\r\nSome regions return HTTP 451 for fapi.binance.com. In that case, GridPulse:\r\n\r\nTries fapi/v1/exchangeInfo → fails\r\nFalls back to fapi/v1/ticker/price → if also blocked,\r\nMirrors the pair list and klines via Bybit so the scan still completes\r\nLogs the fallback transparently in the Activity Log\r\nCache\r\nPair lists: cached for 60 seconds (sessionStorage)\r\nKline data: cached for 60 seconds per (exchange, market, symbol, TF) key\r\nMCap rankings: cached for 60 seconds per top-N bucket\r\nFunding rates: cached for 60 seconds per (exchange, symbol, history) key\r\n📈 Directional modes\r\nEach setup is classified into one of five modes:\r\n\r\nMode\tDirection\tLogic summary\tLaunch Card layout\r\nSTRONG BUY\tbullish\tTwo routes (see Two paths to STRONG). Thresholds are TF-adaptive and globally tuned by Strictness.\tLimit buy + Stop loss + Conservative SL + fixed TP + trailing trigger\r\nGRID BUY\tbullish\tModerate trend + controlled VWAP distance + acceptable reward/risk. Thresholds scale by TF / Strictness.\tGrid lower / upper / width / lines + ATR-based SL + ATR-based TP\r\nSTRONG SELL\tbearish\tMirror of STRONG BUY\tLimit sell + Stop loss + Conservative SL + fixed TP + trailing trigger\r\nGRID SELL\tbearish\tMirror of GRID BUY\tGrid lower / upper / width / lines + ATR-based SL + ATR-based TP\r\nSKIP\tany\tSetup does not qualify; classified into WATCH / TREND / LOW R:R with tooltip explanation\tReference price + warning\r\nMode sort priority\r\nResults table is sorted (when sorting by Mode column) as:\r\n\r\nCopySTRONG_BUY  ≡  STRONG_SELL  \u003e  GRID_BUY  ≡  GRID_SELL  \u003e  SKIP\r\nWithin the same priority, ties are broken by R:R then by depth.\r\n\r\n🎯 TF-adaptive Strictness\r\nUnlike previous versions with static cutoffs, v14.7.6 scales every threshold by:\r\n\r\nCopyeffective_threshold  =  base_value  ×  TF_multiplier  ×  Strictness_multiplier\r\nTF multipliers\r\nTF\tADX\tVWAP\tVolume\tR:R\tDepth\r\n1m\t0.70\t0.20\t0.95\t0.90\t0.60\r\n5m\t0.78\t0.30\t1.00\t0.95\t0.70\r\n15m\t0.85\t0.45\t1.00\t1.00\t0.80\r\n30m\t0.90\t0.60\t1.00\t1.00\t0.85\r\n1h\t0.95\t0.80\t1.05\t1.00\t0.95\r\n4h\t1.00\t1.00\t1.10\t1.00\t1.00\r\n1D\t1.10\t1.50\t1.20\t1.10\t1.20\r\n1W\t1.20\t2.50\t1.40\t1.20\t1.50\r\n1M\t1.30\t4.00\t1.60\t1.30\t2.00\r\nStrictness multipliers\r\nSetting\tMultiplier\tUse case\r\nSoft\t0.75\tFaster signals, more false positives. Great for active scanning.\r\nNormal\t1.00\tDefault balance.\r\nStrict\t1.30\tOnly the cleanest setups. Best for higher TFs (1D, 1W).\r\nBase thresholds (before scaling)\r\nMetric\tSTRONG\tGRID (max/min)\r\nADX\t≥ 25\t\u003c 28\r\nVWAP distance %\t\u003e 5 %\t≤ 5 %\r\nVolume ratio\t≥ 1.5×\t—\r\nR:R\t≥ 2.0\t≥ 1.5\r\nDepth\t≥ 5\t—\r\nExample — On 4h / normal, STRONG ADX threshold = 25 × 1.00 × 1.00 = 25. On 1W / strict, it becomes 25 × 1.20 × 1.30 = 39. On 5m / soft, it drops to 25 × 0.78 × 0.75 ≈ 14.6.\r\n\r\nThis is also reflected in the right-side filter panel:\r\n\r\nADX ≥ 18 checkbox → effective threshold scales with TF / Strictness\r\nR:R ≥ 1.5 checkbox → effective threshold scales with TF / Strictness\r\n🛡 Classified SKIP reasons\r\nWhen a setup doesn't qualify for STRONG or GRID, it's no longer a generic \"skip\". It's classified, with the exact failing thresholds shown in a per-row tooltip.\r\n\r\nTag\tMeaning\r\n⚡ WATCH\tA strong reversal candle is already present, but R:R is too low for entry. Worth keeping on a watchlist for a possible re-entry on a pullback.\r\n🌊 TREND\tMarket is still trending too strongly for grid, and there is no reversal candle yet. Wait for exhaustion.\r\n⚖ LOW R:R\tThe reward is too small relative to the risk. Filter caught it before entry.\r\n🛡 SKIP\tEdge case that doesn't match any of the above categories.\r\nTooltip example\r\nCopy[4h/normal] ADX 31.2≥28.0 (too trendy for grid) · |VWAP| 6.1%\u003e5.0%\r\n   · strong reversal candle but R:R too low — watch for re-entry\r\nThis means the row is WATCH, on the 4h timeframe with normal Strictness, and it tells you exactly which numeric thresholds were exceeded.\r\n\r\n⭐ Two paths to STRONG\r\nA STRONG setup can be unlocked in two different ways, so trades aren't gated solely on extreme blow-off conditions.\r\n\r\n1️⃣ Exhaustion route\r\nThe classic blow-off / trend-exhaustion entry:\r\n\r\nADX ≥ TF-scaled 25\r\n|VWAP%| \u003e TF-scaled 5\r\nVolume ≥ 1.5×\r\nR:R ≥ 2.0\r\ndepth ≥ 5\r\nReversal candle present\r\n2️⃣ Quality route\r\nSometimes a clean reversal happens at moderate trend strength. The Quality route catches those by requiring:\r\n\r\nADX ≥ ~18 (≈ 72 % of the Exhaustion threshold)\r\n|VWAP%| \u003e ~3 % (≈ 60 % of the Exhaustion threshold)\r\nVolume ≥ 1.5×\r\nR:R ≥ 2.0\r\ndepth ≥ ~7 (≈ 140 % of the Exhaustion threshold)\r\nReversal candle present\r\n⭐ VWAP confluence required\r\nBoth routes still scale with TF and Strictness.\r\n\r\nA subtitle in the Mode tooltip tells you which route fired:\r\n\r\nExhaustion (trend blow-off)\r\nQuality (⭐ VWAP confluence)\r\n📊 Indicators reference\r\nIndicator\tPeriod\tNotes\r\nMACD\t12 / 26 / 9\tUsed for divergence + histogram window\r\nVWAP\t50\tRolling, volume-weighted\r\nVWAP bands\t50, ±1σ / ±2σ\tUsed for ⭐ confluence detection\r\nATR\t14\tDrives candle-size filter and Grid SL/TP\r\nADX\t14\tTrend strength; reused for grid range width\r\nVolume ratio\tlast vs. avg of 20\tUsed for Vol ≥ 1.1× / 1.5× filters\r\nR:R\tderived from limit / stop / next swing\tReward-to-risk\r\nReversal candle detection\r\nA bearish reversal candle (for a BEAR / STRONG_SELL setup) is the first down-close candle whose high is the highest within the last Extremum window (default 5 candles). The next candle must also close down, with high ≤ reversal-candle high.\r\n\r\nBullish reversal mirrors this.\r\n\r\nEntry geometry (limL / stopL / stopC)\r\nFor a bearish setup:\r\n\r\nlimL = reversal candle low (breakout-against-trend entry)\r\nstopL = max high of the last 7 candles up to and including the reversal candle\r\nstopC (conservative) = reversalHigh + 2 × (reversalHigh − reversalLow)\r\nFor a bullish setup, all extremes are mirrored.\r\n\r\n⭐ VWAP confluence\r\nA setup gets the ⭐ tag when limL lands within a tight band around any of:\r\n\r\nVWAP\r\nVWAP ± 1σ\r\nVWAP ± 2σ\r\nThe tolerance is small (\u003c 0.5 % of price), so this is a real confluence — not just \"near VWAP\".\r\n\r\nATR-based Grid SL / TP\r\nFor GRID setups, SL and TP are scaled by ATR per timeframe:\r\n\r\nTF\tSL = ATR ×\tTP = ATR ×\r\n1m\t1.5\t1.2\r\n5m\t1.8\t1.4\r\n15m\t2.0\t1.5\r\n30m\t2.2\t1.6\r\n1h\t2.5\t1.8\r\n4h\t2.8\t2.0\r\n1D\t3.0\t2.2\r\n1W\t3.5\t2.5\r\n1M\t4.0\t3.0\r\nIf ATR is missing, the screener falls back to a fixed 15 % / 20 % rule.\r\n\r\n💰 Funding-aware logic\r\nOnly active on USDT Futures market.\r\n\r\nWhen enabled, the screener fetches funding data and uses it to:\r\n\r\nshow current rate, avg 7d (over 21 payments), daily (×3 sessions), annualized, hold-period cost, and next-payment countdown\r\ncompute a directional bias label:\r\n🟢 LONG-friendly / 🔴 LONG-costly\r\n🟢 SHORT-friendly / 🔴 SHORT-costly\r\n➖ Neutral\r\noptionally SKIP setups that exceed your configured daily funding threshold\r\nFunding settings\r\nSetting\tEffect\r\nCONSIDER FUNDING\tMaster switch (Futures only)\r\nUSE 7-DAY HISTORY\tUse the 21-sample average instead of the current rate\r\nSKIP IF EXCEEDS THRESHOLD\tDrop adverse rows beyond Max daily funding\r\nMax daily funding\t0.05% / 0.10% / 0.20% / 0.30% / 0.50% / 1.00%\r\nHold (days)\tTime horizon for the cost projection in the Launch Card\r\nFunding fallback chain\r\nFor Binance Futures funding under GeoIP block, GridPulse falls back to Bybit's tickers endpoint so the field is still populated. For Pionex, it tries:\r\n\r\npionex /market/indexes\r\npionex /market/fundingRates\r\nBybit fallback by base symbol\r\nThis is logged transparently with a Funding source line in the Launch Card.\r\n\r\n🎛 Settings \u0026 filters\r\nAll settings are persisted in `localStorage` under the key `gp_settings_v14_8_0` and **auto-migrated** from earlier versions (`v14_7_6`, `v14_7_5`, `v14_7_4`, `v14_7_3`, `v14_7_2`, `v14_7`, `v14_6`, `v14_5`).\r\n\r\nLeft panel — Timeframes \u0026 depth\r\nControl\tDescription\r\nTimeframe row\tPick any combination of 1m / 5m / 15m / 30m / 1h / 4h / 1D / 1W / 1M. Click ALL to toggle all. Disabled (struck-through) TFs are unsupported by the current exchange.\r\nSearch depth\tHow many bars back to look for a reversal pattern.\r\nMin TF\tMinimum number of timeframes that must produce a hit for the symbol to be shown.\r\nExtremum\tLookback window used when validating the reversal candle's extreme.\r\nStrictness\tsoft / normal / strict — global multiplier on every threshold.\r\nRight panel — Exchange \u0026 filters\r\nControl\tDescription\r\nExchange\t**Pionex** 🤝 (default) · Bybit · Binance · KuCoin · OKX\r\nMarket\tSpot · USDT Futures\r\nType\tBoth · Bullish only · Bearish only\r\nTop MCap\tRestrict to CoinGecko top N (50/100/200/500/All)\r\nMax\tCap the number of returned rows\r\nREVERSAL FILTER\tRequire a real reversal candle\r\nCONSERVATIVE STOP\tAdds the wide stopC calculation\r\nVWAP filters\tVWAP DIRECTION (price must be on the right side of VWAP) · VWAP CONFLUENCE (require ⭐)\r\nCandle filters\tATR SIZE ×0.8 · VOLUME ×1.1\r\nTrend / R:R\tADX ≥ 18 · R:R ≥ 1.5 (both TF-scaled)\r\nFunding (Futures only)\tCONSIDER FUNDING · USE 7-DAY HISTORY · SKIP IF EXCEEDS THRESHOLD\r\n\r\n### Header toggles\r\n\r\n| Toggle | Effect |\r\n|--------|--------|\r\n| ⭐ **Star on GitHub** | Direct link to the repo |\r\n| 🌐 **Language** | EN / UA / ES / RU / ZH switcher |\r\n| 🌙 / ☀️ **Theme** | Dark / Light |\r\n| 🔊 / 🔇 **Sound** | Scan-tick audio synth (WebAudio) |\r\n| 🤝 **Pionex Only** | Lock exchange to Pionex (persists in `localStorage`) |\r\n\r\n---\r\n\r\n## 📋 Launch Cards\r\n\r\nEach row in the results table has a 📋 button. Clicking it opens a **Launch Card** — a focused, copy-paste-ready trading plan with a prominent **\"Open in Pionex\"** CTA.\r\n\r\n### v14.8.0 Launch Card improvements\r\n\r\n- **Larger fonts** across the board (labels +30 %, values +33 %, indicator names +33 %)\r\n- **Wider modal** (560 px → 640 px) for better mobile readability\r\n- **Mode badge** is 27 % larger and more prominent\r\n- **Big \"🚀 Open in Pionex\" CTA** — full-width gradient button with UTM tags\r\n- **Larger embedded QR code** for Pionex referral (46 → 84 px) in a dedicated bordered panel\r\n- **Footer buttons** (Copy all / Open chart / Share TG) increased in size for touch-friendliness\r\n\r\n### Launch Card layouts per mode\r\n\r\nSTRONG BUY / STRONG SELL\r\nEntry (Buy/Sell Price) — limL\r\nStop Loss — stopL\r\nConservative SL — stopC\r\nFixed Take Profit — calculated from R:R\r\nTrailing trigger — ±10 % from entry\r\nMax trailing drawdown — 5–7 %\r\nPosition size — 10–20 % of capital\r\nGRID BUY / GRID SELL (Pionex Grid Bot ready)\r\nLower Limit — bot range low\r\nUpper Limit — bot range high\r\nRange width — % of price\r\nGrid lines count — 30 / 40 / 50 depending on width\r\nGrid mode — Geometric\r\nInvestment — tokens (base asset)\r\nStop Loss — ATR-based (see table above)\r\nTake Profit — ATR-based\r\nSKIP\r\nCurrent price\r\nEntry reference (limL)\r\nStop reference (stopL)\r\nWarning that conditions are not optimal\r\nExtras in every Launch Card\r\nIndicator confirmation panel with colour-coded ADX / R:R / Vol / VWAP% / Depth / TF\r\nR:R bar with green / yellow / red zones\r\nFunding section (Futures only) — full breakdown + cost over N days + bias\r\nQR code (84 px) for Pionex referral signup, in a dedicated bordered panel\r\n**🤝 Official Partner** badge in the \"Trade on Pionex\" section\r\nButtons:\r\n📋 Copy all (full plain-text plan)\r\n📊 Open chart (TradingView)\r\n✈️ Share to Telegram\r\n**🚀 Open in Pionex** (large full-width gradient CTA with UTM tags)\r\nAll numeric values are click-to-copy with a confirmation toast.\r\n\r\n### UTM tracking on Pionex deep links\r\n\r\nWhen you click **\"Open in Pionex\"** from a Launch Card, the destination URL is enriched with UTM parameters that carry the setup context:\r\n\r\n```text\r\n?utm_source=gridpulse\r\n\u0026utm_medium=launchcard\r\n\u0026utm_campaign={mode}        # strong_buy, grid_sell, etc.\r\n\u0026utm_content={symbol}_{tf}  # BTCUSDT_4h\r\n\r\n📸 Export \u0026 content tools\r\nTool\tTrigger\tOutput\r\nCSV export\tCSV button\tFull results + funding columns\r\nFull screenshot\t📸 Screenshot button\tHorizontal PNG of the whole results section, with watermark and daily scan serial\r\nVertical PNG Cards\tShift + P (TikTok mode)\t1080×1350 PNG of the top 5 setups as readable cards\r\nVertical PNG Table\tShift + Alt + P (TikTok mode)\t1080×1350 PNG of the top 15 setups in compact table form\r\n5-slide Carousel\tShift + C\tFive 1080×1350 PNGs: Cover · Top 1 · Top 2 · Top 3 · CTA\r\nDaily scan serial\tAuto\tPer-day counter stored in localStorage, included in every export filename + watermark\r\nTikTok pager\tShift + T then ◀ ▶\tPaginates results 10 rows per page, ready for vertical video recording\r\nOn iOS, screenshots open in a new tab with instructions to long-press → Save to Photos.\r\n\r\n🌐 Internationalization\r\nAll UI text is fully translated into 5 languages:\r\n\r\nCode\tLanguage\tFlag\r\nen\tEnglish\t🇬🇧\r\nua\tУкраїнська\t🇺🇦\r\nes\tEspañol\t🇪🇸\r\nru\tРусский\t🇷🇺\r\nzh\t中文\t🇨🇳\r\nLanguage priority\r\nURL query: ?lang=en, ?lang=ua, ?lang=es, ?lang=ru, ?lang=zh\r\nlocalStorage preference (gp_lang)\r\nnavigator.language autodetect\r\nFallback: English\r\nWhat's localized\r\nAll controls, labels, placeholders (including the new **Pionex Only** toggle and Strictness selector)\r\nAll log entries\r\nAll Launch Card sections (including the new \"Open in Pionex\" CTA)\r\nAll mode labels and SKIP categories (WATCH / TREND / LOW R:R)\r\nFunding bias labels\r\nWelcome hint\r\nFooter disclosure and license text\r\nAll screenshot / carousel slide content\r\nAll sharing templates (Telegram share text)\r\nHreflang \u0026 SEO\r\nThe single-file build ships with hreflang alternates and an inLanguage array in JSON-LD so that search engines can correctly serve the right localized URL.\r\n\r\n🛠 Self-hosting\r\nGridPulse is a single index.html file. There are no build tools, no npm dependencies, and no server-side code.\r\n\r\n1-minute setup\r\nCopy# Clone\r\ngit clone https://github.com/pro100off/gridpulse.git\r\ncd gridpulse\r\n\r\n# Serve locally (any of these work)\r\npython3 -m http.server 8000           # Python 3\r\nphp -S localhost:8000                 # PHP\r\nnpx serve .                           # Node\r\ncaddy file-server --listen :8000      # Caddy\r\n\r\n# Or just open index.html directly — file:// works too.\r\nCompatible hosts\r\n✅ GitHub Pages\r\n✅ Cloudflare Pages\r\n✅ Netlify\r\n✅ Vercel (static)\r\n✅ Apache / nginx / Caddy\r\n✅ Local file://\r\nExternal CDN dependencies\r\nThe single file pulls two libraries from CDN at runtime:\r\n\r\nLibrary\tPurpose\tCDN\r\nqrcodejs\tQR code for Pionex referral\tcdnjs\r\nhtml2canvas\tPNG / carousel rendering\tcdnjs\r\ntv.js\tTradingView embedded widget\ts3.tradingview.com (lazy-loaded only when a chart is opened)\r\nCloudflare Web Analytics\tAnonymous traffic counter\tstatic.cloudflareinsights.com\r\nYou can self-host these by replacing the \u003cscript src=...\u003e tags in index.html.\r\n\r\n🔄 Optional Cloudflare Worker proxy\r\nFor improved Pionex / Binance reliability in restricted regions, you can deploy your own Cloudflare Worker proxy.\r\n\r\nThe default deployment uses:\r\n\r\nCopyhttps://gridpulse-proxy.pro100off.workers.dev/?url=\r\nThis is a rate-limited shared instance. If you fork GridPulse, please deploy your own and update the CUSTOM_PROXY constant near the top of the \u003cscript\u003e block in index.html:\r\n\r\nCopyconst CUSTOM_PROXY = 'https://YOUR-WORKER.workers.dev/?url=';\r\nA minimal worker is enough — it just needs to forward ?url=\u003ctarget\u003e and pass the JSON response back with appropriate CORS headers.\r\n\r\n📁 Repository structure\r\nCopygridpulse/\r\n├── index.html                current release (v14.8.0)\r\n├── LICENSE                   CC BY-NC-SA 4.0\r\n├── README.md                 this file\r\n├── CHANGELOG.md              full version history\r\n├── docs/\r\n│   └── screenshot.png        preview image (OG / social cards)\r\n└── legacy/                   archived previous versions\r\n    ├── index-v14.2.html\r\n    ├── index-v14.3.html\r\n    ├── index-v14.5.html\r\n    ├── index-v14.7.5.html\r\n    └── index-v14.7.6.html\r\n🧾 What's new in v14.8.0\r\nThis is a **positioning + UX release** that formalizes GridPulse as a dedicated companion tool for Pionex Grid Bots. No scanning logic was changed.\r\n\r\n🤝 Pionex Companion positioning\r\n**\"Official Partner\" badge** in header, footer, and Launch Card — clearly communicates the relationship between GridPulse and Pionex\r\n**Pionex is now the default exchange** for new sessions (was Bybit). Existing users keep their previous selection.\r\n**Pionex Only toggle** in the header — single checkbox to lock the screener to Pionex for a focused workflow\r\n\r\n🚀 Big \"Open in Pionex\" CTA\r\nEvery Launch Card now features a **prominent, full-width gradient button** that takes you directly into Pionex with UTM tags carrying:\r\n\r\nthe setup mode (strong_buy, grid_sell, etc.)\r\nthe symbol and TF\r\nthe referral source\r\n\r\nThis makes the GridPulse → Pionex handoff explicit and trackable.\r\n\r\n📐 Launch Card readability boost\r\nSignificant typography upgrade across the entire Launch Card:\r\n\r\n| Element | Before | After | Change |\r\n|---------|-------:|------:|-------:|\r\n| `.lc-label` | 10 px | **13 px** | +30 % |\r\n| `.lc-val` | 12 px | **16 px** | +33 % |\r\n| `.lc-ind-name` | 9 px | **12 px** | +33 % |\r\n| `.lc-ind-val` | 11 px | **16 px** | +45 % |\r\n| `.lc-sec-title` | 9 px | **12 px** | +33 % |\r\n| Modal max-width | 560 px | **640 px** | +14 % |\r\n| Mode badge | 11 px | **14 px** | +27 % |\r\n| Footer buttons | 11 px | **13 px** | +18 % |\r\n| Row padding | 5 px | **9 px** | +80 % |\r\n\r\nThe card is now much more readable on mobile and in screenshots.\r\n\r\n📷 Larger QR codes\r\n**Top banner QR**: 64 → **96 px** (wrapper 72 → 108 px)\r\n**Launch Card QR**: 46 → **84 px** in a dedicated bordered panel (`.lc-ref-block`)\r\n\r\n💾 Settings migration\r\nNew storage key: `gp_settings_v14_8_0`\r\nAutomatic migration from `v14_7_6` → `v14_7_5` → … → `v14_5`\r\nWelcome hint key: `gp_visited_v1476` → `gp_visited_v1480`\r\n\r\n🐛 No breaking changes\r\nAll v14.7.6 scanning logic, classification, TF-adaptive thresholds, Strictness selector, classified SKIP reasons, and ATR-based GRID SL/TP behaviour are **preserved unchanged**.\r\n\r\n📜 Version history (carried-over highlights)\r\nFull history lives in CHANGELOG.md.\r\n\r\nv14.7.6\r\nTF-adaptive Strictness — every threshold scales by TF × Strictness\r\nTwo paths to STRONG (Exhaustion + Quality routes)\r\nClassified SKIP reasons — ⚡ WATCH / 🌊 TREND / ⚖ LOW R:R with per-row tooltip\r\nDual TikTok PNG export — Cards (top 5) and Table (top 15)\r\nATR-based GRID SL/TP with TF multipliers\r\nCustom domain — https://tradescout.trade/\r\nHreflang \u0026 SEO for all 5 languages\r\nSET_KEY → gp_settings_v14_7_6\r\n\r\nv14.7.5\r\nDirectional Grid Modes — replaced unified BOT mode with STRONG_BUY / GRID_BUY / STRONG_SELL / GRID_SELL / SKIP\r\nBreakout entry logic — limL now points at the opposite extreme of the reversal candle\r\nLight theme contrast boost — zebra rows, accent-coloured badges with visible borders, no text-shadow blur, contrast-compliant numeric cells\r\nLight TikTok mode — vertical layout no longer forces black background when light theme is active\r\nHotkeys panel — floating ⌨ button (bottom-left) listing all shortcuts\r\nTikTok-branded UI hidden — TikTok PNG button, Carousel button, vertical-mode toggle, and Launch Card \"Export for TikTok\" no longer visible. All functions retained, accessible via hotkeys.\r\nFixed STRONG SELL Launch Card silently failing (stray Cyrillic char)\r\nFixed carousel indicators array (duplicate VWAP% fragment)\r\nSET_KEY → gp_settings_v14_7_5\r\nv14.7.4\r\nDark theme contrast boost — brighter text (#f0f4fa), brighter table headers with accent underline + text-shadow, stronger BUY/SELL colours (#26d97a / #ff4566), brighter VWAP / funding cells (.dg / .dr / .dy / .dc / .dp)\r\nRestored full referral banner UA i18n keys (ref.sub, ref.f2)\r\nRestored full footer disclosure UA text (foot.disclosure)\r\nVersion markers updated everywhere (title, meta, JSON-LD, ready log, CSV filename, screenshot filename, watermark, lic-mark)\r\nSET_KEY → gp_settings_v14_7_3\r\nv14.7.2\r\ntt-watermark hidden by default (display:none); only shows in TikTok mode\r\nupdateTTWatermark() only runs when TikTok mode is on\r\nRemoved redundant playTick('tick') — no more audio noise on every miss\r\nHighlight Row uses double-click (ondblclick)\r\ntt-watermark positioning hardened (right offset + z-index)\r\nRedesigned carousel slides: zero dead zones\r\nv14.7.1\r\nRedesigned 5-slide carousel layout (now used in v14.7.6)\r\nv14.7\r\n📱 TikTok Mode (Shift+T) — vertical layout, paginated table\r\n✨ Highlight Row — spotlight selected row, dim others\r\n🏷 Auto-watermark with daily scan serial counter (localStorage)\r\n📱 Export for TikTok button on Launch Card → 1080×1350 PNG\r\n🎬 Auto-Carousel — 5-slide pack (cover + top 3 + CTA)\r\n🔊 Scan tick sound (WebAudio synth, no asset deps)\r\n🛡 Bold SKIP visual — shield icon, prominent border\r\nv14.6\r\nScreenshot button (with watermark + TikTok variants)\r\nBinance Futures 451 → Bybit mirror fallback\r\nPionex PERP discovery, 1M=null, KuCoin direct fetch\r\nsafeFetch early-return on API-error payload\r\n⚠ Disclaimer\r\nGridPulse is an analytical tool, NOT financial advice.\r\n\r\nCryptocurrency trading involves substantial risk of loss. Always do your own research (DYOR).\r\n\r\nThe screener identifies potential setups based on technical indicators. It does not predict price movement and does not guarantee profitability. Past patterns do not guarantee future results.\r\n\r\nYou are solely responsible for your trading decisions. Authors and contributors of GridPulse accept no liability for losses, missed gains, taxes, or any other damages resulting from the use of this tool.\r\n\r\n💚 Transparency\r\nGridPulse is free and open-source.\r\n\r\nThe author is an **Official Pionex Partner** and earns a **referral commission from Pionex** when users sign up via the referral link and trade.\r\n\r\nThis is the project's only monetization.\r\nThere are no ads.\r\nThere are no paid tiers.\r\nThere are no premium features locked behind paywalls.\r\nThe \"Official Partner\" badge is **purely a partnership program label** — Pionex does not direct the screener's classification logic, does not pay for ranking, and does not have any editorial control over the project.\r\n\r\n### Why Pionex specifically?\r\n\r\nPionex's Grid Bot is one of the few exchange-native automation products whose parameters map cleanly to a screener's output (Lower Limit / Upper Limit / Grid Lines / SL / TP). That made it the natural execution target for GridPulse Launch Cards. Other exchanges are still fully supported — Pionex is just the **default** and the **deepest Launch Card integration**.\r\n\r\n### Forking\r\n\r\nForks with your own referral are welcome — please keep:\r\n\r\na visible link back to the original repository,\r\nthe CC BY-NC-SA 4.0 license,\r\nand the transparency disclosure in the footer.\r\n\r\nIf you remove or replace the Pionex partnership badge in a fork, please also remove the \"Official Partner\" wording — it specifically refers to the original project.\r\n\r\n📊 Analytics\r\nGridPulse uses Cloudflare Web Analytics for anonymous, aggregate traffic statistics (page views, country breakdown, referrers).\r\n\r\nProperty\tStatus\r\nCookies\t❌ none\r\nPersonal data\t❌ none\r\nIndividual tracking\t❌ none\r\nFingerprinting\t❌ none\r\nGDPR-compliant\t✅ yes\r\nOpen about what's tracked\t✅ yes\r\nAll user-specific settings (theme, language, last-used filters, scan serial, custom pairs draft) stay in your browser's localStorage and never leave your device.\r\n\r\n🤝 Contributing\r\nIssues and PRs are welcome.\r\n\r\nFor major changes, please open an issue first so we can discuss direction.\r\n\r\nEspecially appreciated\r\nTranslations — adding new languages or improving existing ones (EN / UA / ES / RU / ZH).\r\nExchange adapters — pair-list and kline fetchers for additional exchanges.\r\nFunding fallbacks — additional reliable mirrors for restricted regions.\r\nUI accessibility — keyboard navigation, screen-reader labels, colour-contrast audits.\r\nContribution rules\r\nKeep the build single-file. The whole app must remain shippable as one index.html.\r\nKeep dependencies CDN-loaded and optional (no npm).\r\nPreserve the CC BY-NC-SA 4.0 license and the transparency footer.\r\nMatch the existing localization pattern when introducing new strings — all 5 languages must be updated together.\r\nIf you remove the Pionex partnership branding in your fork, also remove the \"Official Partner\" badge — it specifically refers to the upstream project.\r\n❓ FAQ\r\n**Why is Pionex the default exchange now?**\r\nGridPulse v14.8.0 is positioned as a companion tool for Pionex Grid Bots. The Launch Card output maps directly to Pionex Grid Bot parameters (Lower Limit, Upper Limit, Grid Lines, ATR-based SL/TP). Other exchanges (Bybit, Binance, KuCoin, OKX) are still fully supported via the dropdown — switching is one click away.\r\n\r\n**What does \"Official Pionex Partner\" mean?**\r\nIt means the project is enrolled in Pionex's official affiliate / partner program and the author earns a referral commission when users sign up via the link. It does **not** mean Pionex controls the screener's logic, pays for ranking, or has any editorial input. The classification logic is fully open-source — read it in `index.html`.\r\n\r\n**Can I use GridPulse without signing up on Pionex?**\r\nAbsolutely. GridPulse is 100 % free and requires no signup on anything. The Pionex referral is optional and supports the project, but every feature works without it.\r\n\r\nWhy does Binance Futures sometimes show \"Bybit mirror\" in the log?\r\nSome regions return HTTP 451 for fapi.binance.com. GridPulse mirrors the pair list and klines from Bybit so your scan still completes — and clearly logs that the fallback happened.\r\n\r\nWhy is 1M greyed out on Pionex?\r\nPionex's klines API does not currently expose a monthly interval, so the 1M button is disabled (and visually struck-through) when Pionex is selected.\r\n\r\nMy scan returns zero rows — what's wrong?\r\nCheck the Activity Log (bottom of the page). The most common causes:\r\n\r\nAll proxies are rate-limited at once — wait ~30 seconds and retry.\r\nYou picked a market the chosen exchange doesn't support (e.g. inverse pairs).\r\nTop MCap filter is too aggressive — try 200 or All.\r\nStrictness is set to strict on a low TF — try normal or soft.\r\nCan I scan custom pairs only?\r\nYes. Click Custom pairs and paste a comma/space/newline-separated list (e.g. BTCUSDT, ETHUSDT, SOLUSDT). GridPulse normalizes the format per exchange (BTC-USDT for KuCoin spot, BTC_USDT_PERP for Pionex perps, BTC-USDT-SWAP for OKX, etc.).\r\n\r\nIs my data sent anywhere?\r\nNo. Indicators run client-side. The only outbound calls are:\r\n\r\nexchange APIs (direct or via proxy),\r\nTradingView widget (only when you open a chart),\r\nCloudflare Web Analytics beacon (anonymous, aggregate),\r\nand — if you click \"Open in Pionex\" — the Pionex referral URL with UTM tags carrying only the setup classification (no personal data).\r\nWhy CC BY-NC-SA?\r\nBecause GridPulse is free, but commercial resale is prohibited. Forks and personal use are encouraged. See LICENSE.\r\n\r\nWhere do I report bugs?\r\nGitHub Issues. Include:\r\n\r\nexchange + market,\r\nTF list,\r\nStrictness setting,\r\na copy of the relevant Activity Log lines.\r\n📄 License\r\nThis project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).\r\n\r\n✅ Personal use\r\n✅ Forking\r\n✅ Modification\r\n✅ Self-hosting with your own referral\r\n❌ Commercial resale\r\n⚠ Derivatives must keep the same license and link back to the original\r\nSee LICENSE for full terms.\r\n\r\n🔗 All links one more time\r\n🌐 Live demo: https://tradescout.trade/\r\n🪞 GitHub Pages mirror: https://pro100off.github.io/gridpulse/\r\n💻 GitHub: https://github.com/pro100off/gridpulse\r\n🤝 Pionex (referral): https://bit.ly/43bkdc7\r\n📢 Telegram: https://t.me/tradescoutfree\r\n🐦 Twitter / X: https://x.com/tradeaiscout\r\n🐛 Issues: https://github.com/pro100off/gridpulse/issues\r\n📋 Changelog: CHANGELOG.md\r\n🚀 Latest release: Releases\r\n📜 License: CC BY-NC-SA 4.0\r\n\r\n⚡ **GridPulse v14.8.0** · 🤝 **Official Pionex Partner** · Built with care · single-file · no build tools · runs everywhere · © 2026 GridPulse Project\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpro100off%2Fgridpulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpro100off%2Fgridpulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpro100off%2Fgridpulse/lists"}