Trading methodology, platform deep-dives, and the thinking behind multi-system intelligence. Click any article to read.
Richard Wyckoff's methodology was designed for reading tape in the 1930s. We adapted it for scanning 837 crypto pairs simultaneously.
Read full article →Richard Wyckoff developed his method by sitting in a broker's office, watching the ticker tape, and observing how large operators manipulated prices to accumulate shares cheaply. His genius was in identifying the repeating sequence: drive price down violently (Selling Climax), let it bounce naturally (Automatic Rally), test the lows with less volume (Secondary Test), trap sellers with a false breakdown (Spring), then show strength by breaking above resistance with volume (Sign of Strength).
The pattern works because it maps the behavioral sequence of institutional accumulation. The large player needs to buy millions of dollars of an asset without moving the price up — so they first drive it down, scare out weak holders, and slowly absorb supply at low prices.
The challenge was defining each phase with precise, scannable criteria. A Selling Climax isn't just "price went down" — it's a specific volume spike (1.8× the 50-bar average) combined with a large bearish candle (range ≥ 1.5× average range). These thresholds eliminate the noise of normal red candles.
The Automatic Rally is the natural bounce within 8 bars of the SC. The Secondary Test requires price to return near the SC low within 15 bars, but with volume below 80% of the SC volume — proving that selling pressure has been absorbed. The Spring is the most specific: price must break BELOW the SC low, then the NEXT candle must close ABOVE it with a bullish body. This false breakdown traps late sellers.
What separates valid Wyckoff detection from noise is volume confirmation. The SC needs extreme volume because that's the institutional selling pressure creating the bottom. The ST needs LOW volume because it proves supply has been absorbed. The SOS needs above-average volume (1.3×) because it confirms demand is now overwhelming supply.
Without these volume thresholds, every pullback and bounce would register as Wyckoff. With them, the scanner produces 15-30 signals from 837 pairs — a manageable, actionable list.
We require the same Wyckoff phase to appear on 3+ timeframes simultaneously, with a confluence score ≥ 90. When 15-minute, 1-hour, 4-hour, and daily charts all show Accumulation with Spring confirmed, the formation is fractal — visible at every level of resolution. This cross-TF requirement eliminates the single-timeframe false positives that plague pattern recognition.
Wyckoff on 15-minute charts is inherently less reliable than on daily or weekly charts. The phases compress into minutes instead of weeks, and the volume profiles are noisier. We state this in every detail modal because a trader who understands the limitation uses the tool better than one who treats 15m Wyckoff as gospel.
We tested every agreement threshold. This post walks through the reasoning with real scan data.
Read full article →The Scanner Confluence Engine runs 7 independent systems (Trend, Structure, Price Action, Chart Patterns, FVG, Elliott Wave, Wyckoff) and counts how many agree on direction. The question: at what agreement level does "confluence" become "signal"?
At 2/7: over 400 pairs produce signals per scan. Almost every pair has at least 2 systems that agree on something. Useless — this is barely better than random.
At 3/7: around 150-200 signals. Better, but still too many. Three systems agreeing is easy because several share loose commonalities — a trending market will trigger Trend Scanner and Elliott Wave simultaneously without providing independent confirmation.
At 4/7: typically 60-80 signals. Getting closer, but the false positive rate is still high enough that a trader would need additional filtering.
At 5/7: 20-40 signals. This is where it starts getting interesting. Five independent systems agreeing means that momentum, structure, patterns, and wave theory all see the same thing. The probability of five unrelated methodologies producing false agreement drops significantly.
At 6/7: 5-15 signals. The sweet spot. Six out of seven systems — built on completely different mathematical foundations — independently agree on direction. The one dissenting system could be showing divergence, which itself is information.
At 7/7: 0-3 signals. Too rare for practical use. Perfect agreement across all seven systems almost never happens because the systems are deliberately diverse. Requiring 7/7 means you'd miss the strong setups where 6 systems agree and one correctly shows early divergence.
The 6/7 threshold produces enough signals to be practically useful (5-15 per full scan) while maintaining extreme selectivity (filtering 99%+ of the market). It allows one dissenting system, which is realistic — markets rarely show perfect agreement across every analytical framework simultaneously.
The key insight: the value of confluence isn't in the number itself, but in the independence of the agreeing systems. Six RSI variants agreeing at 6/6 is worthless — they share the same math. Six systems built on momentum oscillators, volume flow, geometric patterns, wave theory, structural analysis, and institutional detection agreeing at 6/7 is genuinely multi-dimensional confirmation.
We implemented client-side result caching that preserves scan results within the refresh window.
Read full article →A full market scan takes 45-60 seconds. Before caching, every time a user navigated away from a scanner (to check another scanner or view the dashboard) and returned, the scan started from scratch. Users were spending more time waiting than analyzing.
When you close a scanner view, the platform now saves a snapshot of the current state: the ON TOP cards, the results table, the OBV tbody, progress text, and status indicators. This snapshot is stored in a per-scanner cache object in memory.
When you reopen the same scanner, the platform checks: has the cache expired? Each scanner type has a refresh interval (60s for Funding, 120s for most scanners, 180s for Confluence). If the cached results are still within this window, they restore instantly — zero wait time. The refresh timer continues counting down, and when it expires, a fresh scan runs automatically.
Cached results are slightly stale. A signal that appeared 90 seconds ago might have already moved. We decided this tradeoff is acceptable because: the scan refresh cycle handles staleness automatically, and instant access to recent results is more useful than perfect freshness with 60 seconds of waiting every time you switch views.
When price moves too fast, it leaves gaps that act as magnets. We explain the detection algorithm and why we demand confluence score 100/100.
Read full article →A Fair Value Gap occurs when price moves so aggressively that the high of candle[i-2] doesn't overlap with the low of candle[i]. This creates a zone where no trading occurred — an imbalance between buyers and sellers. The market tends to revisit these zones to "fill" them before continuing in the original direction.
Bullish FVG: candle[i-2].high is less than candle[i].low. The gap between these two prices is the imbalance zone. Bearish FVG: candle[i-2].low is greater than candle[i].high.
Not every gap matters. We filter by ATR(14) × 0.3 — the gap must be at least 30% of the average true range to be significant. A 0.01% gap on a volatile asset is meaningless. We also require the middle candle (candle[i-1]) to close above EMA(20) for bullish gaps, confirming trend alignment.
Each detected FVG is tracked as "open" or "filled." A bullish gap fills when price drops below its bottom edge. An open gap near current price is the actionable setup — it's an unfilled institutional zone that price is likely to revisit.
FVGs are extremely common — almost every pair has gaps within 5% of price on multiple timeframes. At lower confluence thresholds (60, 70, 80), the scanner produced 400-700 signals. Useless. At 100/100, you need: nearest gap within 0.5% (30pts), 100% same direction (25pts), gaps on 4/4 timeframes (25pts), and 6+ gaps same direction (20pts). This extreme filter surfaces only the pairs where institutional imbalance is undeniable across every timeframe.
When you see ▲▲▼▲▲▲▲ — what does each column mean and how should you act?
Read full article →Each row in the Scanner Confluence table represents one pair. After the standard columns (PAIR, MKT, PRICE, 24H%), you see 7 vote columns — one for each scanner system: Trend, Structure, PriceAct, ChartPat, FVG, Elliott, Wyckoff.
A green ▲ means that system voted LONG (bullish). A red ▼ means SHORT (bearish). A gray — means the system had no opinion for this pair — either the analysis didn't produce a clear signal, or the pair didn't meet that system's minimum thresholds.
When you see ▲▲—▲▲▲▲ with 6/7 LONG, it means: Trend says bullish (MA alignment, RSI), Structure says bullish (CHoCH up), ChartPat says bullish (perhaps a Double Bottom detected), FVG says bullish (open gap below price), Elliott says bullish (impulse wave up), and Wyckoff says bullish (accumulation phase). Price Action had no opinion (—). Six independent analytical schools, using completely different mathematics, arrived at the same conclusion.
Pay attention to which system dissents. If Elliott shows ▼ while 6 others show ▲, check the detail modal — maybe Elliott identified a potential Wave 5 exhaustion, which is useful context even though the majority is bullish. The dissenting system often provides the timing or risk information that the majority doesn't.
Click any row to open the detail modal. It shows each system's vote with reasoning. Before entering any trade, check the details — understanding WHY each system voted the way it did is more valuable than the vote count alone.
We reduced false positives from 835 to under 20 by requiring same-pattern cross-TF agreement.
Read full article →When we first deployed the Chart Pattern Scanner with 6 detectors (H&S, Double Top/Bottom, Triangles, Wedges, Flags, Cup & Handle) across 837 pairs and 4 timeframes, it found patterns on 835 of them. Almost every pair matched at least one pattern on at least one timeframe. The scanner was useless.
Chart patterns are inherently flexible. A "triangle" is just converging trendlines — and if you draw regression lines on any set of swing highs and lows, you'll find some degree of convergence. A "flag" is a strong move followed by a consolidation — which describes most trending markets. With 6 detectors × 4 TFs × 837 pairs, the combinatorial explosion guarantees false positives.
A Head & Shoulders on the 15-minute chart might be noise — a random fluctuation that happens to fit the geometric template. But if the SAME Head & Shoulders appears on 15m, 1H, 4H, AND 1D simultaneously, the formation is fractal. The geometric structure exists at every level of resolution, which means it reflects genuine market structure, not noise.
We additionally require reliability ≥ 70 (out of 100), which evaluates the quality of the pattern: shoulder symmetry, head prominence, spacing between features, volatility consistency, and whether breakdown has been confirmed.
From 835 signals down to 5-20 per scan. Every signal represents a geometric formation visible across all timeframes with high reliability. The false positive rate dropped by approximately 97%.
The story of three threshold iterations and the tradeoffs involved.
Read full article →Initial thresholds: divergence on 2+ timeframes with RVOL ≥ 1.2×. Result: 256 signals from 837 pairs. About 30% of the market "had a signal." This meant the scanner was essentially capturing any pair with above-average volume and a minor OBV-price disagreement on two timeframes. Not useful.
Tightened to: 3+ timeframe divergence with RVOL ≥ 1.5×, OR 2+ timeframes with RVOL ≥ 2.5×. Result: 49 signals. Better, but the 2-TF fallback was still letting through too many weak signals. The problem: divergence on only 2 of 4 timeframes means half the timeframes DON'T confirm — that's weak evidence.
Final thresholds: 3+ timeframe divergence with RVOL ≥ 1.5×. No fallback for 2-TF divergence. Period. If the divergence doesn't appear on at least 3 of 4 timeframes, it's not strong enough to call a signal. Result: 10-15 signals per scan — a manageable, high-conviction list where every signal has cross-timeframe confirmation and above-average institutional volume.
Every scanner on the platform went through this calibration process. The pattern is consistent: initial thresholds produce hundreds of signals (noise), and successive tightening reduces to 5-30 signals (actionable). The right number of signals is small enough that a trader can review each one in the detail modal, not so many that they need another filter on top of the filter.
Why we built 15 systems across 6 schools instead of 15 variations of one.
Read full article →Most "multi-indicator" trading systems are an illusion of confluence. RSI, Stochastic RSI, and Williams %R all measure the same thing: where price sits relative to its recent range. When RSI says "oversold" and Stochastic RSI agrees, that's not confirmation — it's the same mathematical observation expressed twice. You have one signal pretending to be two.
School 1: Momentum Oscillators — RSI, SRSI, Stochastic, CCI, W%R, MFI. These measure the speed and magnitude of price changes. They answer: "Is price moving too fast in one direction?"
School 2: Volume Analysis — OBV divergence, RVOL, Weis Wave ratios. These measure where money is flowing regardless of price. They answer: "Are institutions accumulating or distributing?"
School 3: Market Structure — BOS, CHoCH, swing classification (HH/HL/LH/LL). This maps the structural trend. It answers: "Is the trend continuing or reversing at the structural level?"
School 4: Pattern Recognition — 14 candlestick patterns, 6 geometric chart patterns. These detect recurring visual formations. They answer: "Does the shape of price action match a historically significant pattern?"
School 5: Wave Theory — Elliott impulse/corrective cycles. This identifies where price sits in a larger cyclical framework. It answers: "What phase of the market cycle are we in?"
School 6: Institutional Detection — Wyckoff phases, Fair Value Gaps, funding rate analysis, order book liquidity. These directly track institutional behavior. They answer: "What are the large players doing?"
When a momentum oscillator, a volume metric, a structural analysis, a pattern detector, a wave counter, and an institutional tracker all independently arrive at the same conclusion — using completely different inputs and mathematics — the probability of that conclusion being correct is qualitatively different from six oscillators agreeing.
This is the foundational principle of Strix EDGE: genuine independence between systems is more valuable than any individual system's accuracy. A mediocre system that's truly independent adds more to confluence than a brilliant system that's correlated with existing ones.