Trust what you can verify
Validation & setup.
Check the signal engine, configure real providers and understand what is not verified.
Real data providers
Kraken · BTC/USD and ETH/USD
Server-side public REST OHLC. No private API key or account access. Polls every 15 seconds; signals request a fresh snapshot. Current uncommitted candle is excluded. Availability, venue differences and regional restrictions still apply. Recent history is limited to 720 entries.
Connection has not been verified in this session.
Official OHLC documentationMassive · primary Forex LIVE adapter
Add MASSIVE_API_KEY with the correct current Currencies entitlement in Cloud → Secrets. Seven major currency pairs use real provider quote-derived minute OHLC, not exchange trade executions. Polls every 15 seconds. Only a response containing the newest completed UTC minute can be classified as current; old or provider-marked delayed data blocks directional signals.
A paid plan or commercial redistribution permission may be required. A key alone does not establish real-time delivery. The ≤10-second signal entry window, candle continuity and freshness still have to pass. Live connectivity and entitlement must be verified in your account.
Official Forex OHLC documentationTwelve Data · optional delayed Forex adapter
Set TWELVE_DATA_API_KEY in the editor's Cloud → Secrets. Your plan must authorize the symbols, one-minute history and intended usage. Requests stay server-side. Polls every 60 seconds plus manual requests; provider rate limits may require a paid subscription.
Twelve Data documents REST candle delays. This Forex adapter is explicitly DELAYED and live directional signals are blocked, even with a paid key. Real Forex charts, manual comparisons and historical tests still work. For live Forex, choose the Massive adapter in Strategy settings and verify its entitlement and newest completed candles. No secret can turn Twelve Data's delayed REST delivery into a verified live stream.
Current connection: Failed to fetch
What is implemented—and what is not
Implemented: Server-only provider requests; validated real OHLC; confirmed swing clusters; closed-candle wick rules; breakout and timing safety; 5m/15m context; manual comparison; chronological historical tests; per-decision configuration and modeled outcomes; local persistence, backup export/import and realtime journal refresh notifications.
Quotex limitation: This app does not implement an authorized Quotex API. Manual inputs are user observations only. It cannot verify broker quotes, payouts, fills or exact chart synchronization. Same timestamps never prove prices are equal.
Storage limitation: Journal and settings are saved locally in this browser, not a server database. Realtime only sends refresh notifications and does not store data. Enable storage in Add-ons for a future shared, authenticated audit trail. Imported backups can be edited; they are not verified performance evidence.
Timing limitation: Server UTC anchors the session clock. Polling has network and provider delay. Signals are allowed only within the configured ≤10-second entry window after a close. The upcoming minute has already opened when a live signal arrives. Model open-to-close outcomes are not achievable-fill claims.
Research limitation: No accuracy, calibration, profitability or out-of-sample validation is preclaimed. A four-close trend is deliberately simple. Historical CSV provenance is user-attested. Repeated tuning on a test window invalidates the holdout.
Build and checks: The app includes TypeScript build scripts and a Vitest suite. The checks below run automatically at app startup and execute the same deterministic test cases in your browser. They test software behavior, not real-provider connectivity, strategy accuracy or financial suitability.
Automated safety checks
50 of 50 checks passed · last run 2026-10-30T00:19:58.661Z
Unit tests use explicitly artificial fixtures to exercise edge cases. These fixtures never become displayed market candles, signals or historical performance. CLI equivalent: npm test.
Valid OHLC candles are accepted
Invalid high / low is rejected
Non-finite prices are rejected
Duplicate timestamps are rejected
Reversed candle order is rejected
Future timestamps are rejected
Non-minute boundaries are rejected
Empty feed is rejected
An open candle cannot confirm a signal
Exact close boundary is included
Next observation uses UTC minute boundaries
5m grouping uses completed full buckets
Missing context candles are never filled
Bullish hammer wick ratios are recognized
Bearish rejection wick ratios are recognized
Tiny-body doji are excluded
One swing cannot create resistance
Two confirmed swings define resistance
Unconfirmed right-edge swings are excluded
Stale candles force NO TRADE
Missing analysis candles force NO TRADE
Late entries force NO TRADE
Unverified delivery blocks healthy feed status
Disconnected empty feed has no valid status
Failed connection age blocks fresh candle data
Strong resistance breakout is not faded
Strong support breakout is not faded
CSV timestamps require explicit UTC/offset
Historical CSV cannot contain a forming candle
Small historical datasets are rejected
Holdout decisions never see their outcome candle
Open outcomes are not resolved early
UP uses subsequent candle open and close
Missing outcomes become unavailable, not invented
Draw rate and payout-adjusted return are computed
NO TRADE does not inflate performance
Complete confirmed support setup accepts UP
Complete confirmed resistance setup accepts DOWN
Conflicting context trend blocks a valid hammer
Wick ratios remain configurable
Zero-body candle cannot cause a strong breakout
Exact entry-window edge is allowed for valid setups
Invalid payout assumptions are rejected
Corrupt configuration is rejected defensively
Stored objects cannot render as text children
Invalid backup outcomes are rejected
Valid saved signal structure is accepted
Delayed provider data never authorizes live signals
Changing an outcome candle cannot change its decision
Per-trade costs include draw outcomes
Safe testing checklist
- 1
Verify the software first
Run the safety checks here. On an exported project, run npm install, npm test and npm run build. Any failed assertion must be investigated before use.
- 2
Start with genuine history
Load a Kraken snapshot or import official one-minute historical CSV. Confirm the symbol, source, UTC boundaries and OHLC. For official headerless archives, add time,open,high,low,close,volume,trades before import.
- 3
Keep the holdout unseen
Tune on the first chronological segment, freeze settings, then run the unseen segment. Review NO TRADE reasons, all outcomes, rates, payout-adjusted return and maximum drawdown separately by market.
- 4
Verify the live feed
Confirm provider credentials and entitlement. Check UTC/PKT alignment, last update and candle freshness. Disconnect the network and confirm no directional signals or fallback candles appear.
- 5
Compare in a demo environment
Use the matching Quotex LIVE asset only. Manually enter closed candle timestamps and closes. Observe differences without adjusting prices. Log your actual demo entry latency separately.
- 6
Review evidence—not promises
Collect a sufficiently large, genuinely unseen and demo-verified sample. Export the journal. No martingale, automated betting, account access or guaranteed returns is included.
Questions about reliability
Does a hammer guarantee the next candle direction?
No. It is a candle shape, not a guarantee. The strategy also requires confirmed levels, clearance, breakout protection and optionally matching higher-timeframe trends.
Why does the app often return NO TRADE?
Missing or stale data, unverified delivery, expired entry windows, incomplete context, insufficient confirmed levels, breakouts and ambiguous patterns all block directional signals. A safe rejection is expected behavior.
Are these prices exactly the same as Quotex?
That has not been verified. This app uses independent market-data providers and manual observations, not a direct authorized Quotex chart feed.