Free, open-source clients that render the Shingou point-in-time crypto sentiment signal inside the tools day traders already use.
Every integration works instantly with a free API key (shingou.io/dashboard). The paid key is what removes the 24h delay outside the live majors, and what buys history depth for research.
| Folder | Platform | Status |
|---|---|---|
freqtrade/ |
Freqtrade crypto bot (Python) | ✅ ready |
jesse/ |
Jesse research/trading framework (Python) | ✅ ready |
ninjatrader/, metatrader5/, … |
Chart-platform indicators | planned |
Point-in-time first. Every history bucket carries an as-of timestamp and a
reconstructed flag, and the bucket's hash is committed to a public append-only log at
publish time. So no lookahead is something you can check rather than take on trust. The
log is at
shingou-io/shingou-signal-log.
The signal itself is one per asset per hour: score ∈ [-1, 1], confidence ∈ [0, 1], a
direction call, dominant event types, and the source articles behind it.
Measured performance — including the negative results — is published at
shingou.io/research. The honest way to use an hourly
news signal, and the only way these examples use it:
- Filter — skip entries your base strategy would take against the signal.
- Sizing — scale stake by confidence.
- Kill-switch — stand aside after
hack_exploit/regulation/delistingevents.
Never as an entry generator on its own.
All integrations in this repo follow the same rules, so you can audit exactly what runs:
- Auth: the API key comes from user configuration (env var / platform settings) —
never hardcoded, never logged, sent only to
api.shingou.io. - Data pattern: fetch
/v1/sentimentonce per hour bucket for all needed symbols in one call; poll nothing faster. This stays far inside the free tier (1,000 requests/day, 30/min burst). - Backoff: a rejected request (
400,401,429) waits for the next hour bucket instead of retrying. Bot loops run every few seconds, so a naive retry would spend a free tier's whole day in about an hour, and no amount of retrying clears a bad key or a spent quota. Timeouts and5xxdo retry on the next loop. - Symbol mapping: platform ticker → Shingou symbol by base asset (
X-USD). Each client carries the handful of aliases it needs;shared/symbol-map.jsonis the full reference table to copy from when you write your own. - Attribution: every client sends
User-Agent: shingou-<platform>/<version>— that is the whole telemetry story; the code is public so you can verify nothing else leaves. - Honesty markers: every refresh logs the signal's as-of age and says so out loud when
it is stale, which is what a free-tier 24h delay looks like from the client side. If you
pull point-in-time history for research, split it on
reconstructedrather than pooling the two. - Loud when inactive: no API key means the overlay does nothing and your base strategy trades unfiltered. The clients log that as an error every hour rather than failing quietly.
A free public feed of the Shingou signal: direction flips on supported pairs and high-severity typed events (hacks, regulation, delistings, legal). It is deliberately quiet, roughly ten high-conviction alerts a day, and every alert carries its source links so you can judge the story yourself.
- Telegram: t.me/shingou_alerts
Under the hood it is a tiny hourly worker reading the same public API you can
call (/v1/sentiment for flips, /v1/events for the typed stream) and pushing
whatever clears a confidence floor. Nothing in the feed is trade advice. It
exists so you can watch the indicator work before wiring the API into your own
strategy (see the Freqtrade and Jesse examples above).
MIT — see LICENSE. The integrations are free distribution; the subscription is the data. API usage is governed by the Shingou terms (commercial use included on paid plans; free tier is for personal/evaluation use).
Not investment advice. These are example integrations of a signal layer, not trading recommendations; backtest before risking anything.