<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>PineForge blog</title>
    <link>https://pineforge.dev/en/blog/</link>
    <description>Engineering notes from the PineForge team — backtesting, runtime, marketplace, and Pine v6 internals.</description>
    <language>en</language>
    <lastBuildDate>Sat, 09 May 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://pineforge.dev/blog/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Pine v6&apos;s type system, in practice</title>
      <link>https://pineforge.dev/en/blog/pine-v6-type-system-in-practice/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/pine-v6-type-system-in-practice/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description>PineScript v6 is more strongly typed than its reputation suggests. Walking through the type rules, the inference, the gotchas — and what shipping a transpiler taught us about which rules actually matter at runtime.</description>
    </item>
    <item>
      <title>Margin checks at signal time vs fill time: a TradingView parity story</title>
      <link>https://pineforge.dev/en/blog/parity-probe-margin-discovery/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/parity-probe-margin-discovery/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description>Our broker emulator ran the margin gate at fill time using next-bar open; TradingView runs it at signal time using current-bar close. The 3-cent gap between those prices silently dropped 25 trades from a 2,632-trade strategy. How six isolation probes triangulated the bug to one line of C++.</description>
    </item>
    <item>
      <title>Compiled-binary licensing for trading strategies: the design space</title>
      <link>https://pineforge.dev/en/blog/compiled-binary-licensing-the-design-space/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/compiled-binary-licensing-the-design-space/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description>Selling a strategy as source is risky. Selling it as a hosted service is heavy. Selling it as a compiled binary with seller-defined license bounds is the path PineForge&apos;s marketplace is built around — here&apos;s the design exploration that got us there.</description>
    </item>
    <item>
      <title>Reading the engine_trades.csv format</title>
      <link>https://pineforge.dev/en/blog/reading-the-engine-trades-csv/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/reading-the-engine-trades-csv/</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <description>Complete reference for the trade-list CSV that PineForge emits. Column-by-column meaning, how trade pairs are encoded, and a 30-line Python snippet for loading into pandas.</description>
    </item>
    <item>
      <title>When two Pine engines disagree: cross-validating PineForge against PyneCore</title>
      <link>https://pineforge.dev/en/blog/cross-validating-pineforge-against-pynecore/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/cross-validating-pineforge-against-pynecore/</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <description>We run every release through a parity sweep against both TradingView and PyneCore. Here&apos;s what the numbers from the latest sweep look like, and why having a friendly second-source engine is the most useful debugging tool we own.</description>
    </item>
    <item>
      <title>Backtest a Pine strategy from Claude Code in 90 seconds</title>
      <link>https://pineforge.dev/en/blog/backtest-pine-from-claude-cursor-mcp/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/backtest-pine-from-claude-cursor-mcp/</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <description>Walk-through of the @pineforge/codegen-mcp server: install in one npx command, ask Claude to transpile your Pine, run a Docker backtest, and read the trade list back. Your OHLCV never leaves the machine.</description>
    </item>
    <item>
      <title>167 strategies, by the numbers</title>
      <link>https://pineforge.dev/en/blog/162-strategies-by-the-numbers/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/162-strategies-by-the-numbers/</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <description>What&apos;s in the PineForge parity corpus: how strategies break down by category, asset, and complexity. Read like a museum guide to the gallery.</description>
    </item>
    <item>
      <title>What we&apos;ll write here</title>
      <link>https://pineforge.dev/en/blog/what-well-write-here/</link>
      <guid isPermaLink="true">https://pineforge.dev/en/blog/what-well-write-here/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <description>An empty blog is honest. Here&apos;s what we plan to publish — engineering deep dives on Pine semantics, transpiler design, and parity-grade backtests — and why we&apos;d rather wait to write it well than rush it.</description>
    </item>
  </channel>
</rss>
