{
 "schemaVersion": "0.1",
 "manifestSchema": "https://botshelfvampire.com/schemas/capability-manifest-v0.1.json",
 "sources": [
  "https://botshelfvampire.com/trading/catalog.json",
  "trader-toolkit/catalog.json (recipes) in the BSV repository",
  "https://botshelfvampire.com/robot-pilot/#recipes"
 ],
 "method": "Generated at build time from the public catalogue and the BSV recipes. Verification follows the catalogue flags; nothing here is VERIFIED because BSV has not run these on their platforms. Gated source is not included.",
 "counts": {
  "total": 90,
  "catalogue": 75,
  "bsvRecipes": 14,
  "teleopRecipes": 1,
  "byVerificationStatus": {
   "STRUCTURAL": 14,
   "UNTESTED": 76
  }
 },
 "capabilities": [
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.bachini-crossover",
   "title": "Moving Average Cross",
   "job": "Study a complete long/short moving-average crossover backtest.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "strategy orders and backtest results",
     "type": "Strategy"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Generates strategy orders inside the platform's strategy engine or tester."
   ],
   "approvalBoundary": [
    "The user adds it to a chart and decides whether any order is routed to an account."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 6d14308f8ce4 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://botshelfvampire.com/trading/licenses/mit-james-bachini.txt"
   },
   "seller": {
    "id": "github:jamesbachini",
    "displayName": "James Bachini"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bachini-crossover.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-positionsizer",
   "title": "Position Sizer",
   "job": "Plan position size before placing an order. Useful for traders who want an explicit entry, stop and account-currency risk calculation rather than mental lot arithmetic.",
   "domains": [
    "trading",
    "risk tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch master); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/PositionSizer/blob/master/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-positionsizer.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-arnaud-legoux-moving-average",
   "title": "Arnaud Legoux Moving Average",
   "job": "Compare a smooth ALMA trend line with a standard average.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-arnaud-legoux-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-marketprofile",
   "title": "Market Profile",
   "job": "Find price areas where the market spent more time. Useful for examining session structure and repeated acceptance of a price zone.",
   "domains": [
    "trading",
    "levels"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch master); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/MarketProfile/blob/master/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-marketprofile.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.bachini-breakout-sniper",
   "title": "Breakout Sniper",
   "job": "Explore rolling high/low breakouts and signal-based exits.",
   "domains": [
    "trading",
    "breakout"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "strategy orders and backtest results",
     "type": "Strategy"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Generates strategy orders inside the platform's strategy engine or tester."
   ],
   "approvalBoundary": [
    "The user adds it to a chart and decides whether any order is routed to an account."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 6d14308f8ce4 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://botshelfvampire.com/trading/licenses/mit-james-bachini.txt"
   },
   "seller": {
    "id": "github:jamesbachini",
    "displayName": "James Bachini"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bachini-breakout-sniper.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-atr-trailing-stop",
   "title": "ATR Trailing Stop",
   "job": "Explore volatility-based trailing exits on positions you already hold. Use it to compare a changing stop distance with a fixed-distance exit.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/ATR-Trailing-Stop/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-atr-trailing-stop.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-spike-trader",
   "title": "Spike Trader",
   "job": "Study a counter-spike trading rule with separate MT4 and MT5 source implementations. Research and isolated demo use only.",
   "domains": [
    "trading",
    "price action"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit abc322e8da3c (provenance only, not a functional test).",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://botshelfvampire.com/trading/licenses/apache-2.0.txt"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-spike-trader.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.bachini-price-channels",
   "title": "Price Channels",
   "job": "Backtest a long-only return inside an EMA/ATR channel.",
   "domains": [
    "trading",
    "mean reversion"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "strategy orders and backtest results",
     "type": "Strategy"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Generates strategy orders inside the platform's strategy engine or tester."
   ],
   "approvalBoundary": [
    "The user adds it to a chart and decides whether any order is routed to an account."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 6d14308f8ce4 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://botshelfvampire.com/trading/licenses/mit-james-bachini.txt"
   },
   "seller": {
    "id": "github:jamesbachini",
    "displayName": "James Bachini"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bachini-price-channels.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-acceleration-bands",
   "title": "Acceleration Bands",
   "job": "See a high/low envelope whose width responds to relative range.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-acceleration-bands.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-accelerator-oscillator",
   "title": "Accelerator Oscillator",
   "job": "Study momentum changes relative to a smoothed baseline.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-accelerator-oscillator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-account-protector",
   "title": "Account Protector",
   "job": "Define account-management actions before an emergency. Useful for testing conditional position closing, timed actions and a manual emergency control.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch master); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Account-Protector/blob/master/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-account-protector.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-adaptive-laguerre-filter",
   "title": "Adaptive Laguerre Filter",
   "job": "Explore adaptive smoothing with a configurable color-change alert.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-adaptive-laguerre-filter.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-adaptive-rsi-moving-average",
   "title": "Adaptive RSI Moving Average",
   "job": "Study a trend line whose response changes with RSI distance from 50.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-adaptive-rsi-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-adjustable-ma",
   "title": "Adjustable MA",
   "job": "Compare moving-average crossover rules in MetaTrader’s tester. A configurable teaching EA for testing, not a profitable-system claim.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Adjustable-MA/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-adjustable-ma.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-ahrens-moving-average",
   "title": "Ahrens Moving Average",
   "job": "Explore a recursive average with a delayed-average correction.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-ahrens-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-alpha-decreasing-exponential-moving-average",
   "title": "Alpha-Decreasing EMA",
   "job": "Explore an average whose smoothing weight shrinks across loaded history.",
   "domains": [
    "trading",
    "research"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-alpha-decreasing-exponential-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-amazing",
   "title": "Amazing",
   "job": "Study a two-sided pending-order approach around scheduled announcements.",
   "domains": [
    "trading",
    "sessions"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Amazing/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-amazing.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-awesome-oscillator",
   "title": "Awesome Oscillator",
   "job": "Compare short and long midpoint-price momentum.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-awesome-oscillator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-binario",
   "title": "Binario",
   "job": "Study a moving-average channel breakout as an automated research example.",
   "domains": [
    "trading",
    "breakout"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Binario/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-binario.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-bollinger-squeeze-advanced",
   "title": "Bollinger Squeeze Advanced",
   "job": "Separate volatility compression from the accompanying momentum direction.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Bollinger-Squeeze-Advanced/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-bollinger-squeeze-advanced.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-box-breakout-alert",
   "title": "Box Breakout Alert",
   "job": "Monitor a breakout beyond the high/low range of a chosen number of previous candles.",
   "domains": [
    "trading",
    "breakout"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Box-Breakout-Alert/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-box-breakout-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-breakeven-line",
   "title": "Breakeven Line",
   "job": "See the combined break-even reference for multiple trades on the same symbol.",
   "domains": [
    "trading",
    "risk tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Breakeven-Line/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-breakeven-line.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-butterworth-filter",
   "title": "Butterworth Filter",
   "job": "Study a recursive low-pass filter with slope coloring.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-butterworth-filter.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-candle-timer-and-spread-indicator",
   "title": "Candle Timer & Spread",
   "job": "Keep the next candle time and current spread visible while monitoring a chart.",
   "domains": [
    "trading",
    "sessions"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Candle-Timer-and-Spread-Indicator/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-candle-timer-and-spread-indicator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-candle-wicks-length-display",
   "title": "Candle Wicks Length Display",
   "job": "Make candle-shadow measurements visible without repeatedly using a ruler.",
   "domains": [
    "trading",
    "price action"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Candle-Wicks-Length-Display/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-candle-wicks-length-display.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-center-of-gravity-oscillator",
   "title": "Center of Gravity Oscillator",
   "job": "Explore a price-weighted oscillator against its prior-bar trigger.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-center-of-gravity-oscillator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-chart-pattern-helper",
   "title": "Chart Pattern Helper",
   "job": "Turn trader-drawn chart patterns into explicit breakout order management.",
   "domains": [
    "trading",
    "breakout"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Chart-Pattern-Helper/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-chart-pattern-helper.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-close-all-orders",
   "title": "Close All Orders / Positions",
   "job": "Close a defined set of trades in one operation rather than handling each position manually.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "one-off chart script output",
     "type": "Script"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Close-All-Orders/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-close-all-orders.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-coppock-curve",
   "title": "Coppock Curve",
   "job": "Combine two rates of change into a smoother momentum curve.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-coppock-curve.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-cumulative-volume-delta",
   "title": "Cumulative Volume Delta",
   "job": "Examine divergence between price and an accumulated bullish/bearish activity estimate.",
   "domains": [
    "trading",
    "volume"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Cumulative-Volume-Delta/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-cumulative-volume-delta.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-currency-strength-lines",
   "title": "Currency Strength Lines",
   "job": "Compare the relative behavior of major currencies instead of looking at one pair in isolation.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Currency-Strength-Lines/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-currency-strength-lines.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-derivative-oscillator",
   "title": "Derivative Oscillator",
   "job": "Observe changes in a twice-smoothed RSI.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-derivative-oscillator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-disparity-index",
   "title": "Disparity Index",
   "job": "Measure the percentage gap between price and its moving average.",
   "domains": [
    "trading",
    "mean reversion"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-disparity-index.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-distance-weighted-moving-average",
   "title": "Distance Weighted Moving Average",
   "job": "Inspect an average weighted by price proximity rather than time.",
   "domains": [
    "trading",
    "research"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-distance-weighted-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-donchian-ultimate",
   "title": "Donchian Ultimate",
   "job": "Inspect rolling high/low boundaries for breakout and range studies.",
   "domains": [
    "trading",
    "breakout"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Donchian-Ultimate/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-donchian-ultimate.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-dorsey-inertia",
   "title": "Dorsey Inertia",
   "job": "Separate directional volatility and smooth it into a relative-strength curve.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-dorsey-inertia.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-double-exponential-moving-average",
   "title": "Double Exponential Moving Average",
   "job": "Compare DEMA with a conventional EMA at the same period.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-double-exponential-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-double-weighted-moving-average",
   "title": "Double Weighted Moving Average",
   "job": "Smooth a price series with two sequential weighted averages.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-double-weighted-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-ehlers-cyber-cycle",
   "title": "Ehlers Cyber Cycle",
   "job": "Inspect a recursive cycle filter and its one-bar trigger.",
   "domains": [
    "trading",
    "research"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-ehlers-cyber-cycle.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-ehlers-super-smoother-filter",
   "title": "Ehlers Super Smoother",
   "job": "Compare two- and three-pole recursive smoothing on price.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-ehlers-super-smoother-filter.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-elastic-volume-weighted-moving-average",
   "title": "Elastic Volume Weighted Moving Average",
   "job": "Let relative current-bar volume control a recursive average.",
   "domains": [
    "trading",
    "volume"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-elastic-volume-weighted-moving-average.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.bachini-fear-greed",
   "title": "Fear and Greed — Price/Volume Model",
   "job": "Highlight extremes in a locally calculated price/volume score.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 6d14308f8ce4 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://botshelfvampire.com/trading/licenses/mit-james-bachini.txt"
   },
   "seller": {
    "id": "github:jamesbachini",
    "displayName": "James Bachini"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bachini-fear-greed.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-forecast-oscillator",
   "title": "Forecast Oscillator",
   "job": "Compare price with the current endpoint of a rolling linear regression.",
   "domains": [
    "trading",
    "mean reversion"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-forecast-oscillator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-fractals-trailing-stop",
   "title": "Fractals Trailing Stop",
   "job": "Test exits that follow confirmed swing structures rather than a constant number of points.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Fractals-Trailing-Stop/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-fractals-trailing-stop.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.bachini-gaussian-regression",
   "title": "Gaussian Process Regression",
   "job": "Inspect a rolling regression curve and model projection.",
   "domains": [
    "trading",
    "research"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 6d14308f8ce4 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://botshelfvampire.com/trading/licenses/mit-james-bachini.txt"
   },
   "seller": {
    "id": "github:jamesbachini",
    "displayName": "James Bachini"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bachini-gaussian-regression.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-heiken-ashi-naive",
   "title": "Heiken Ashi Naive",
   "job": "Study a simple automated interpretation of strong Heiken Ashi candles. Treat this as a strategy-research example, not a ready-made income system.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Heiken-Ashi-Naive/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-heiken-ashi-naive.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-interquartile-range-bands",
   "title": "Interquartile Range Bands",
   "job": "Study outliers against a rolling median and quartiles.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-interquartile-range-bands.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-kirshenbaum-bands",
   "title": "Kirshenbaum Bands",
   "job": "Compare regression-error bands with an EMA trend baseline.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-kirshenbaum-bands.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-moving-average-crossover-alert",
   "title": "MA Crossover Alert",
   "job": "Receive a visual or notification prompt when two moving averages cross.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Moving-Average-Crossover-Alert/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-moving-average-crossover-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-ma-trailing-stop",
   "title": "MA Trailing Stop",
   "job": "Test a moving average as a dynamic exit reference for existing positions.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/MA-Trailing-Stop/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-ma-trailing-stop.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-mean-absolute-deviation-bands",
   "title": "Mean Absolute Deviation Bands",
   "job": "Use average absolute deviation instead of standard deviation for band width.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-mean-absolute-deviation-bands.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-moving-average-channel",
   "title": "Moving Average Channel",
   "job": "Locate price above, inside or below a smoothed high/low channel.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-moving-average-channel.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-mt5-expert-advisor-template",
   "title": "MT5 Expert Advisor Template",
   "job": "Build an MT5 EA around your own explicit entry and exit rules.",
   "domains": [
    "trading",
    "research"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart template",
     "type": "Template"
    }
   ],
   "runtime": {
    "platform": "MT5",
    "version": null,
    "requirements": [
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/MT5-Expert-Advisor-Template/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-mt5-expert-advisor-template.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-news-trader",
   "title": "News Trader",
   "job": "Inspect a scheduled news-trading implementation and the execution risks of trading around announcements.",
   "domains": [
    "trading",
    "sessions"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/News-Trader/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-news-trader.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-persistentanti",
   "title": "PersistentAnti",
   "job": "Experiment with a counter-trend hypothesis based on detected trend persistence.",
   "domains": [
    "trading",
    "mean reversion"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/PersistentAnti/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-persistentanti.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-pinbar-detector",
   "title": "Pinbar Detector",
   "job": "Find candles that match a chosen pinbar definition for manual review.",
   "domains": [
    "trading",
    "price action"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Pinbar-Detector/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-pinbar-detector.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-psar-trailing-stop",
   "title": "PSAR Trailing Stop",
   "job": "Compare a Parabolic SAR exit with your current stop-management rule.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/PSAR-Trailing-Stop/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-psar-trailing-stop.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-qqe",
   "title": "QQE",
   "job": "Study smoothed momentum and neutral-level transitions using Quantitative Qualitative Estimation.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/QQE/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-qqe.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-range-candles",
   "title": "Range Candles — OHLC Renderer",
   "job": "Use a small source example for consistent candle, border and wick colors.",
   "domains": [
    "trading",
    "chart tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-range-candles.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-riskcalculator",
   "title": "Risk Calculator",
   "job": "Review combined potential risk and reward across open positions and pending orders.",
   "domains": [
    "trading",
    "risk tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch master); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/RiskCalculator/blob/master/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-riskcalculator.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-roundlevels",
   "title": "Round Levels",
   "job": "Place a consistent round-number grid on your chart to help organize manual price observations.",
   "domains": [
    "trading",
    "levels"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch master); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/RoundLevels/blob/master/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-roundlevels.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-rsi-ea",
   "title": "RSI EA",
   "job": "Study how an RSI signal is connected to an MT5 EA structure. Useful as an editable test case for developers.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT5",
    "version": null,
    "requirements": [
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Research only; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/RSI-EA/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-rsi-ea.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-rsi-with-alert",
   "title": "RSI with Alert",
   "job": "Monitor RSI boundary exits, returns or crossings of a manually drawn horizontal level.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/RSI-with-Alert/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-rsi-with-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.bachini-sma",
   "title": "Simple Moving Average",
   "job": "A minimal trend baseline and a readable first Pine indicator.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 6d14308f8ce4 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://botshelfvampire.com/trading/licenses/mit-james-bachini.txt"
   },
   "seller": {
    "id": "github:jamesbachini",
    "displayName": "James Bachini"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bachini-sma.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-stoller-average-range-channels",
   "title": "STARC Bands — Original Source",
   "job": "Study an ATR envelope with a choice of moving-average baseline.",
   "domains": [
    "trading",
    "volatility"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-stoller-average-range-channels.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-supertrend-multi-timeframe",
   "title": "Supertrend Multi-Timeframe",
   "job": "Compare Supertrend states across timeframes while retaining a line on the current chart.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Supertrend-Multi-Timeframe/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-supertrend-multi-timeframe.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-supertrend-trailing-stop",
   "title": "Supertrend Trailing Stop",
   "job": "Explore stop management tied to a Supertrend line rather than a fixed point distance.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Supertrend-Trailing-Stop/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-supertrend-trailing-stop.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-support-and-resistance",
   "title": "Support & Resistance",
   "job": "Display fractal-based horizontal levels instead of drawing each swing reference manually.",
   "domains": [
    "trading",
    "levels"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Support-and-Resistance/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-support-and-resistance.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-timed-order",
   "title": "Timed Order",
   "job": "Schedule a specific order for a chosen time instead of watching the clock manually.",
   "domains": [
    "trading",
    "sessions"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "orders and position management",
     "type": "Expert Advisor"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can open, modify and close orders on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Timed-Order/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-timed-order.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-traders-dynamic-index",
   "title": "Traders Dynamic Index",
   "job": "View several aspects of momentum in one oscillator rather than treating every line as an independent signal.",
   "domains": [
    "trading",
    "momentum"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Traders-Dynamic-Index/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-traders-dynamic-index.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-trading-session-time",
   "title": "Trading Session Time",
   "job": "Mark the trading hours you care about without repeatedly drawing them by hand.",
   "domains": [
    "trading",
    "sessions"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Trading-Session-Time/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-trading-session-time.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-trailing-stop-on-profit",
   "title": "Trailing Stop on Profit",
   "job": "Delay trailing management until a position reaches a chosen profit threshold.",
   "domains": [
    "trading",
    "trade management"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "order and position management",
     "type": "Trade manager"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "Can modify or close orders and positions on the trading account it is attached to."
   ],
   "approvalBoundary": [
    "The user attaches it to a chart and enables automated trading in the platform; test on a demo account first."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Trailing-Stop-on-Profit/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-trailing-stop-on-profit.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-volume-profile",
   "title": "Volume Profile",
   "job": "Explore which price zones had more activity in the selected chart sample.",
   "domains": [
    "trading",
    "volume"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/Volume-Profile/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-volume-profile.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.everget-vortex-bands",
   "title": "Vortex Bands",
   "job": "Inspect a signed-deviation cloud with optional candle coloring.",
   "domains": [
    "trading",
    "trend"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "TradingView",
    "version": null,
    "requirements": [
     "TradingView with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Original bytes and file-level license checked against the pinned commit 60c93d3711d2 (provenance only, not a functional test).",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "GPL-3.0-only",
    "url": "https://botshelfvampire.com/trading/licenses/gpl-3.0.txt"
   },
   "seller": {
    "id": "github:everget",
    "displayName": "Alex Orekhov (everget)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/everget-vortex-bands.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "trading.earnforex-wrb-hidden-gap",
   "title": "WRB Hidden Gap",
   "job": "Identify wide-range bars and the associated hidden-gap zones for price-action study.",
   "domains": [
    "trading",
    "price action"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    }
   ],
   "outputs": [
    {
     "name": "chart plots and alerts",
     "type": "Indicator"
    }
   ],
   "runtime": {
    "platform": "MT4 / MT5",
    "version": null,
    "requirements": [
     "MT4 with the user's own account",
     "MT5 with the user's own account"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "The user adds it to a chart; read the source before running it."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Compiled by BSV: no; runtime-tested by BSV: no.",
     "Author-hosted: links to the author's source (branch main); BSV does not redistribute it.",
     "Catalogue risk label: Not runtime tested; checked 2026-10-01."
    ]
   },
   "license": {
    "label": "Apache-2.0",
    "url": "https://github.com/EarnForex/WRB-Hidden-Gap/blob/main/LICENSE"
   },
   "seller": {
    "id": "github:EarnForex",
    "displayName": "EarnForex"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/earnforex-wrb-hidden-gap.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.mtf-trend-panel",
   "title": "EMA Trend Panel Starter",
   "job": "Fast/slow EMA trend state with RSI confirmation and alert.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-mtf-trend-panel.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.session-breakout-alert",
   "title": "Session Breakout Alert Starter",
   "job": "Session filter plus EMA/RSI context. The initial generator emits a TODO where a target cannot express a session filter safely.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-session-breakout-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.atr-risk-overlay",
   "title": "ATR Risk Overlay Starter",
   "job": "ATR calculation with an EMA context line. Use the generated source as a starting point for stop/risk visualization; no profitability claim.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-atr-risk-overlay.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.liquidity-sweep-alert",
   "title": "Liquidity Sweep Alert Starter",
   "job": "Pivot/sweep concept with ATR context. Advanced blocks intentionally remain TODO until a target renderer supports them honestly.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-liquidity-sweep-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.volatility-regime-map",
   "title": "Volatility Regime Map",
   "job": "ATR plus moving-average context for a low/normal/high volatility regime tool.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-volatility-regime-map.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.opening-range-dashboard",
   "title": "Opening Range Dashboard",
   "job": "Session range, breakout state and dashboard starter.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-opening-range-dashboard.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.mtf-confirmation-panel",
   "title": "Higher-Timeframe Confirmation Panel",
   "job": "Higher-timeframe EMA/RSI context with a compact status panel.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-mtf-confirmation-panel.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.rsi-mean-reversion-alert",
   "title": "RSI Mean Reversion Alert",
   "job": "Simple RSI threshold alert starter with explicit no-auto-trade behavior.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-rsi-mean-reversion-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.trend-pullback-composite",
   "title": "Trend Pullback Composite",
   "job": "Fast/slow EMA trend state plus RSI pullback condition.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-trend-pullback-composite.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.session-statistics-panel",
   "title": "Session Statistics Panel",
   "job": "Session-aware range/statistics panel starter; advanced statistics remain target TODOs.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-session-statistics-panel.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.divergence-scanner",
   "title": "RSI Divergence Scanner Starter",
   "job": "Pivot + RSI divergence concept for scanner implementation; advanced divergence logic remains explicit until target support is added.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-divergence-scanner.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.webhook-alert-router",
   "title": "Webhook Alert Router",
   "job": "Condition plus structured webhook payload starter. Never include secrets in the payload.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-webhook-alert-router.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.golden-cross-alert",
   "title": "Golden Cross Alert Starter",
   "job": "SMA 50 / SMA 200 cross with one alert per closed bar in each direction. A classic context signal, not a trading system; no profitability claim.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-golden-cross-alert.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.recipe.ema-cross-rsi-filter",
   "title": "EMA Cross + RSI Filter Starter",
   "job": "EMA 9 / EMA 21 cross that only alerts when RSI 14 agrees (above 50 for up-crosses, below 50 for down-crosses). Starter for a filtered momentum alert; no profitability claim.",
   "domains": [
    "trading",
    "chart-tools"
   ],
   "inputs": [
    {
     "name": "chart bars",
     "type": "OHLCV price series"
    },
    {
     "name": "recipe JSON",
     "type": "bsv-trader-recipe v0.1"
    }
   ],
   "outputs": [
    {
     "name": "starter source for 22 platforms",
     "type": "source code"
    }
   ],
   "runtime": {
    "platform": "BSV recipe generator",
    "version": null,
    "requirements": [
     "TradingView · Pine v6",
     "MT5 · MQL5",
     "cTrader · C#",
     "MT4 · MQL4",
     "cTrader · Python",
     "Bookmap · Python",
     "NinjaTrader 8 · NinjaScript",
     "Quantower · C#",
     "Sierra Chart · ACSIL C++",
     "ProRealTime · ProBuilder",
     "GoCharting · Lipi",
     "MotiveWave · Java",
     "Vela · JavaScript",
     "JForex · Java",
     "TradeStation · EasyLanguage",
     "ATAS · C#",
     "AmiBroker · AFL",
     "thinkorswim · thinkScript",
     "Tradovate · JavaScript",
     "backtrader · Python",
     "Backtesting.py · Python",
     "NautilusTrader · Python"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [
    "The generated starters are indicators or studies that plot and raise alerts; none is written to place orders."
   ],
   "approvalBoundary": [
    "The user pastes a starter into their own platform, compiles it there and decides whether to use it."
   ],
   "verification": {
    "status": "STRUCTURAL",
    "evidence": [
     "Structure reviewed — not runtime tested (recipe page label).",
     "BSV parity test: builder output equals the CLI generator for every recipe and target.",
     "BSV target checks (stub compiles, subset parsers/evaluators, node:vm stubs) — BSV's own checks, not runs on the platforms."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/trading/tools/bsv-recipe-ema-cross-rsi-filter.html"
  },
  {
   "schemaVersion": "0.1",
   "capabilityId": "bsv.teleop-recipe.so101-sim-practice-session-v1",
   "title": "SO-101 simulation practice session",
   "job": "Run and document a simulation teleoperation practice session: SOP, reset, failure taxonomy, acceptance criteria, export map and replay checklist.",
   "domains": [
    "robotics",
    "teleoperation"
   ],
   "inputs": [
    {
     "name": "simulation session",
     "type": "operator practice"
    }
   ],
   "outputs": [
    {
     "name": "labelled episodes and session evidence",
     "type": "teleop-session-evidence v0.1"
    }
   ],
   "runtime": {
    "platform": "NVIDIA Isaac Lab + Isaac Teleop (simulation)",
    "version": null,
    "requirements": [
     "Follow NVIDIA's current official install instructions",
     "Simulation only"
    ]
   },
   "permissions": [],
   "dataSensitivity": "public",
   "sideEffects": [],
   "approvalBoundary": [
    "Simulation only; any real-hardware use needs the hardware owner's own authorization."
   ],
   "verification": {
    "status": "UNTESTED",
    "evidence": [
     "Written by BSV from the curriculum below; BSV has not run this procedure in Isaac Lab or Isaac Teleop. Follow NVIDIA's current official instructions wherever they differ."
    ]
   },
   "license": {
    "label": "MIT",
    "url": "https://spdx.org/licenses/MIT.html"
   },
   "seller": {
    "id": "bsv",
    "displayName": "BotShelf Vampire (original BSV source)"
   },
   "dependencies": [
    "https://botshelfvampire.com/robot-pilot/curricula/isaac-teleop-so101-sim-v1.json"
   ],
   "monetization": {
    "mode": "FREE",
    "price": null,
    "currency": null
   },
   "canonicalUrl": "https://botshelfvampire.com/robot-pilot/"
  }
 ]
}
