WEasyWyckoff Open workbench →
WYCKOFF METHOD · FIELD NOTES

Wyckoff Method

How this workbench reads tape: Composite Man, three laws, phases A–E, and the event codes the Agent is allowed to draw. Codes stay in English (SC, Spring, UTAD); Chinese names are for UI copy.

Source of truth: packages/shared/src/wyckoff-events.ts → WYCKOFF_EVENTS

Composite Man

Treat the tape as one operator — the Composite Man — accumulating in panic and distributing into euphoria. Springs and UTADs are fake breaks meant to flush the other side. The job is to recover intent from volume and spread, not to list indicators.

Accumulation → Markup → Distribution → Markdown

A trading range inside accumulation or distribution is split into phases A–E. Markup / markdown live mostly in phase E, after price has left the range.

Schematics · events on the tape

Schematic K-lines (not real prices). Red = up bar, teal = down bar (A-share convention). Event tags use the same bias colors as wyckoffEventTag: bullish below the low, bearish above the high, neutral on the relevant wick. The dashed box is the trading range; top rail = creek, bottom rail = ice / support.

Accumulation

creek support A B C D E · markup PS SC AR ST Spring Test SOS / JAC LPS / BU
Accumulation · Phase A stops the decline (PS/SC/AR/ST) → B builds cause → C Spring → D SOS/LPS → E markup

Distribution

supply / creek ice A B C D E · markdown PSY BC AR ST UT UTAD SOW / ICE LPSY
Distribution · Phase A tops the advance (PSY/BC/AR/ST) → B / UT → C UTAD → D SOW/LPSY → E markdown

Three laws

Supply and demand

Demand > supply → price rises; the reverse falls. Read the balance from spread × volume.

Cause and effect

Time and amplitude in the range are the cause; the move after the break is the effect. Larger cause → larger effect. (P&F counts are not implemented.)

Effort vs result

Volume is effort; price change is result. Divergence (climax volume + a narrow doji) often precedes a turn. The engine flags no_result / no_effort.

Phases A–E

Defined in WYCKOFF_PHASES. Chart zones use these letters. Range first, then events — a Spring with no range is meaningless.

A · Stopping the prior trend — Exhaustion of selling (or buying). PS/SC/AR/ST or PSY/BC/AR/ST set the first range bounds.
B · Building the cause — Composite Man accumulates or distributes inside the box. Longest phase: many secondary tests, chop.
C · The test — Last deceptive break: Spring / Shakeout (accumulation) or UTAD (distribution).
D · Trend revealed — Demand (or supply) takes over. SOS/LPS or SOW/LPSY. Highest-odds campaign entries.
E · Out of the range — Markup or markdown underway; the effect starts to pay.

Accumulation vs distribution: a range after a long decline may be accumulation; after a long advance, distribution. The feature summary’s “prior trend” is a hint, not a verdict.

WYCKOFF_EVENTS

Each entry has code, nameEn, nameZh, side (accumulation | distribution | both), phases, bias, description.

bullish tags sit below the bar (lows); bearish tags sit above (highs); neutral is amber.

Accumulation

PS → SC → AR → ST → (B) → Spring / Shakeout → Test → SOS / JAC → LPS / BU → E

CodeEN中文PhaseBiasDescription
PSPreliminary Support初步支撑AneutralFirst notable support on expanding volume/spread in a decline. Large operators start to bid; usually not the low.
SCSelling Climax抛售高潮AbullishPanic extreme: huge volume, wide spread, close well off the low. Heavy absorption.
SpringSpring弹簧CbullishBrief break of range support, then a fast reclaim. Flushes weak hands; the Phase C test.
ShakeoutShakeout震仓CbullishA more violent Spring: sharp volume break, then recovery.
SOSSign of Strength强势信号DbullishWide-spread rally on volume through range resistance. Phase D starts.
LPSLast Point of Support最后支撑点DbullishLow-volume pullback after SOS with a higher low. Classic low-risk long.
JACJump Across the Creek跳过小溪DbullishDecisive push over the “creek” (resistance along range highs). Pictorial SOS.
BUBack Up to the Edge of the Creek回踩溪边DbullishPullback after JAC; old resistance becomes support.

Distribution

PSY → BC → AR → ST → UT → UTAD → SOW / ICE → LPSY → E

CodeEN中文PhaseBiasDescription
PSYPreliminary Supply初步供给AneutralFirst volume stall in an advance. Distribution starts; the top is not in yet.
BCBuying Climax购买高潮AbearishClimactic volume up-bar that fails to hold. Composite Man sells into retail FOMO.
UTUpthrust上冲回落BbearishBreak of range resistance, then an immediate fall back inside. Failed breakout.
UTADUpthrust After Distribution派发后上冲CbearishLast bull trap after the range is built, then a fast failure. Phase C test.
SOWSign of Weakness弱势信号DbearishWide-spread decline on volume through range support. Supply in control.
LPSYLast Point of Supply最后供给点DbearishWeak rally after SOW with a lower high. Low-risk short / exit.
ICEBreak the Ice跌破冰面DbearishBreak of the “ice” (support along range lows), often with a throwback as resistance.

Shared events

side: both — same code on accumulation and distribution tapes.

CodeEN中文PhaseBiasDescription
ARAutomatic Rally自动反弹AneutralAfter a climax, selling (or buying) is exhausted. The end of AR is a range boundary: high after SC, low after BC. In distribution the same code is the automatic reaction down.
STSecondary Test二次测试A, BneutralReturn to the climax area. Volume and spread shrink vs the climax if the prior effort is spent.
TestTest测试C, DneutralQuiet retest of a prior low (or high). Ideal: low volume, narrow spread, close back in favor.

How the workbench uses this

OHLCV → packages/wyckoff (swings, range, VSA) → MarketFeatures → Agent names events → overlays

The model must not invent codes. draw_annotations only accepts WYCKOFF_EVENT_CODES. The engine finds ranges and VSA; naming is the Agent’s job.

Not in v1: point-and-figure cause-and-effect counts, and automatic phase classification.