mrkeyoor.com_
Fri 16 Oct 18:51 UTC
Dataevaluationupdated 12 Oct 2026

SETS review

SETS MACHINE is a browser simulation that evolves trading strategies against stored Bitcoin price history and replays a selected strategy as paper trades. It makes genetic search and strategy selection visible without an exchange connection. The README describes it as an educational research toy rather than software for real-money trading.

+6 / 3dstars / 7d
Verdict

Our SETS run installed 0 packages and passed all 8 tests in 1 second, making the browser simulation easy to try for learning. Its leader-selection process reuses the validation window, so those passing software checks provide no proof of a trading edge. Use the population display to study search, and choose other software if you need live exchange execution.

We ran it

Lab card: what happened when we ran SETSScreenshot of SETS (github.com/Shelpid/SETS)
Install✓ · 1s0 packages · 20 MB
Buildn/ano build script
Tests✓ · 1s8 passed · 0 failed of 8 (node:test)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo17 files~167 lines of source · 9.7 MB · 0 CI workflows · tests dir

Answers from our run

Does SETS build from source?

Dependencies installed in 1 seconds (0 packages), and the project has no separate build step. We cloned commit da0f110 into a clean Debian container with 3 CPUs and no project-specific setup.

Do SETS's tests pass?

Yes: 8 of 8 passed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does SETS have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use SETS?

Anyone seeking live exchange execution: the README explicitly excludes exchange connections and real orders.

What are the alternatives to SETS?

Backtesting.py, Freqtrade. Our SETS run installed 0 packages and passed all 8 tests in 1 second, making the browser simulation easy to try for learning.

Setup5/5Static files, 0 packages, and no credentials or database
Docs4/5Clear assumptions and limitations; clone URL retains a placeholder
Community2/5Recent push, but no public issue discussion or release record
Maturity2/58 tests pass; purpose and validation remain limited to a research toy

Who it’s for

Developers learning how mutation, selection, and seeded randomness work in a visible simulation.
Instructors who want to pause a population search and inspect candidate strategies.
JavaScript readers studying a shared engine for historical evaluation and paper replay.

Who it’s NOT for

Anyone seeking live exchange execution: the README explicitly excludes exchange connections and real orders.
Researchers requiring untouched holdout evidence: the README acknowledges that leader selection reuses the out-of-sample data.
People seeking proof of a trading edge: the author describes a short historical sanity check and reports that holding the asset earned more in the examples.
Teams requiring an established support and release record: the issue history is empty and no latest release is published.

Setup reality

Our sandbox completed the install step for commit da0f110 in 1 second, adding 0 packages and occupying 20 MB. No build target existed, so build was skipped. All 8 Node tests passed in 1 second. Npm audit reported 0 known vulnerabilities across all severity categories.

Serving the supplied dist files needs Python and a modern browser, with no account, API key, or database. Data refresh is a separate Python tool using Binance public data. Replace the placeholder username in the README clone command with Shelpid/SETS.

The run used lab-node:22 on Debian with 3 CPUs and 8 GB RAM. The browser replays bundled candles rather than fetching live prices. Our scan found a tests directory but no CI workflows or Dockerfile.

The browser breeds strategies on a fixed candle history

SETS MACHINE makes genetic search visible: candidate trading strategies appear in a population, reproduce, and disappear as the program selects survivors. The winning eligible strategy then runs through a historical paper-trading replay. The README calls it a research toy and explicitly rules out connecting it to real money. That is the right frame for this project. You can inspect how search works without creating an exchange account or pretending an animated dashboard establishes a profitable strategy.

Our lab counted 17 files and roughly 167 source lines in a 9.7 MB checkout. Those counts describe the measured snapshot; source lines don't measure the bundled historical data or media assets. The repository includes fonts, screenshots, and a promotional video alongside plain JavaScript modules. Its runnable files already live under dist/. There is little infrastructure to understand before you can explore the program. To study the behavior, start with the separate simulation and evolution modules rather than the presentation assets.

What happened when we ran it

Our sandbox completed the install step for SETS commit da0f110 in 1 second, adding 0 packages and occupying 20 MB on disk. There was no build script or target, so the build step was skipped. Node's test runner passed all 8 tests in 1 second. We used lab-node:22 in an unprivileged Debian container on October 9, 2026, with 3 CPUs, 8 GB of RAM, and no secrets.

Npm audit reported 0 known vulnerabilities, with 0 critical, high, moderate, or low findings. That is a dependency-audit result for this run, rather than a browser-security certification or financial validation. Our scan found a tests directory, no CI workflow files, and no Dockerfile. The 8 passing tests establish that the supplied checks completed successfully. Nothing in the lab block measures dashboard frame rate, real exchange execution, or the returns of a trading strategy.

Static serving replaces a deployment stack

The documented local route uses Python's HTTP server to serve dist/, then opens the dashboard in a modern browser. There are no account credentials, database settings, or exchange keys to configure. The README's clone command still contains a placeholder GitHub username, so use the actual Shelpid/SETS repository URL. GitHub Pages is another documented hosting option, with a root page forwarding visitors into the runnable directory. This is a small documentation flaw with a straightforward correction.

The 0-package install fits that static design. Application logic runs in browser ES modules, and the README says normal runtime makes no external requests. Market-data refresh is a separate Python tool that calls Binance's public API and rewrites the bundled candle file. Running the dashboard therefore replays its stored data rather than subscribing to today's market. If you're showing it in a classroom or publishing your own copy, preserve the data snapshot alongside the seed so another person can inspect the same experiment.

One shared engine keeps the replay and scoring aligned

The GridBot implementation drives both strategy evaluation and the displayed paper replay. Signals use a closed candle before execution on the next candle's open. Within a candle, the engine processes grid fills before checking the stop and then take-profit, and it charges fees on fills and exits. Closing any remaining position at the window's end makes that position count in the reported result. These rules make the simulation's assumptions inspectable.

The 8 passing tests provide useful, limited evidence around those mechanics. Reading the test source shows checks for bundled-data consistency, causal indicators, fees and fills, stop closure, bounded mutation, and seeded reproduction. A causality check changes a future candle and verifies that an earlier signal stays unchanged. That's a meaningful software property. It doesn't tell you whether candle-level prices reproduce the order sequence or execution conditions of an actual exchange.

The selection window is reused to choose the leader

The evolution code evaluates each newcomer on a training segment and a later validation segment. Candidates must pass the latter's return, drawdown, and trade conditions before they can become the displayed leader. The README acknowledges the catch: selecting among candidates that passed the validation gate reuses that data, so the leader's reported result is optimistic. A later segment isn't untouched evidence once its outcome helps determine which strategy you choose.

Our 1-second test pass doesn't resolve that research limitation. The repository's own examples also say that holding the asset made more money over their chosen window, and that wide stops help explain the attractive win rates. Those are the author's reported examples, not returns measured by our sandbox. The dashboard is useful precisely when you keep the selection process visible. Adding generations lets you watch more searching against the same history, without adding fresh evidence about how the leader will behave elsewhere.

Seeds make a lesson repeatable, while history limits the lesson

The interface offers run and pause controls, stepping, speed changes, and candidate inspection. Seeded randomness lets you return to the same population history. You can compare a strategy's training and validation records or inspect the genome instead of merely accepting the winner. For teaching selection pressure, those controls give an instructor a concrete example to stop and discuss. They also make it easier to show how changing the seed changes what a search happens to discover.

The 20 MB environment is easy to keep around for that purpose. GitHub recorded a September 22, 2026 push, 255 stars, and no open issues or PRs; the issue listing was empty and no latest release existed. That's little public support history, even with recent code. The checked-in license identifies the code as MIT despite GitHub's generic license classification. Choose Backtesting.py for programmable strategy experiments, or Freqtrade when you need exchange-related software. For SETS, stop the replay and inspect how the leader was selected before interpreting its result.

Alternatives

ProjectWhat it isPick it when
Backtesting.pyA Python framework for defining and evaluating trading strategies.pick this instead when you need programmable experiments rather than a fixed browser visualization.
Freqtrade gh↗A crypto trading project with historical analysis and exchange-related tooling.pick this instead when exchange integration is a requirement, with a separate evaluation of its operating risks.

What people are saying

  1. [huggingface] NVIDIA Kumo Tabular Sets a New Accuracy-Efficiency Frontier for Tabular Prediction
  2. [velocity-scout] Shelpid/SETS
  3. [hackernews] North Korean nuclear test sets off years of earthquakes

Sources

  1. SETS MACHINE README
  2. Shared simulation engine
  3. Evolution and leader selection
  4. Engine checks
  5. Code and font license
  6. Repository issue history

More data reviews

wine-quality-svc-tuning · dhis2-immunisation-audit · OpenTerminal · The-Quant-Trading-Vault · multimodal-product-discovery · edgequake · the whole board →