Diupdate

Ease-of-Movement Flow Oscillator

622
Ease-of-Movement Flow Oscillator

A volume oscillator that measures how easily price moves — distance travelled relative to the volume required to travel it. Large travel on light volume = high ease (a frictionless drift); small travel on heavy volume = low ease (absorption — effort without result). Above zero, price advances with little resistance; below zero, it declines with little resistance. It adds an absorption warning and a plain-language forward-calibration layer, so you can tell at a glance whether a move is frictionless or being absorbed, and whether the signal has actually paid here.

Why these parts are combined (not a mashup for show). Ease of movement relates distance to the volume needed for it — a different question from "buying vs selling." A frictionless advance and an absorbed advance look identical on a price chart but behave differently next, so that's the core read. An effort-vs-result check (price making a new extreme while ease does not) flags absorption — heavy volume no longer moving price — which the raw line alone misses. Forward calibration removes blind faith: instead of assuming a cross "should" pay, it measures whether it actually has, with realistic profit/stop outcomes. Together they form one coherent volume-flow tool.

How it works. Distance moved = midpoint change; box ratio = (volume ÷ scale) ÷ range. Ease = distance ÷ box ratio, smoothed, standardized and soft-bounded to ±100 that auto-fits its own magnitude. A signal fires only when ease decisively clears a confirmation band beyond zero (filtering the constant zero-line chatter). Absorption divergence is detected from confirmed price pivots versus the ease line. Each signal is then labelled by a triple barrier — a profit target and equal stop in ATR units plus a time limit — split into in-sample and recent out-of-sample, with a confidence interval and a multiple-testing check.

How to use. Read the Verdict row (Long/Short, Absorption, or Wait) and the Conviction row, which reads "High" only when that signal type shows a positive edge that survives the test on this symbol. Green above zero = easy up, red below = easy down; shaded bands = strong ease; the faint band lines mark where signals fire. Best used with your own trend and risk plan, not alone.

What's original. The absorption (effort-vs-result) flag, auto volume scaling, a noise-filtering signal band, the forward triple-barrier calibration with an out-of-sample split, and a conviction read that openly admits when there's no proven edge.

Volume note. This needs real volume — use a futures contract such as NSE:NIFTY1!. On a cash index it reports "No volume" rather than printing noise.

Honesty & limitations. Edge figures are computed on this chart's own history with overlapping windows and no costs — context, not a guaranteed backtest; past behaviour doesn't predict the future. Volume quality varies by feed and instrument.

Disclaimer: for research and education only. Not financial advice. Trading carries risk of loss; manage your own positions.
Catatan Rilis
minor change
Catatan Rilis
Performance upgrade: the forward-calibration engine now computes its triple-barrier outcome once per bar and reuses it, instead of recomputing the identical result three times — noticeably faster loading and lower runtime with byte-for-byte identical signals, stats, and visuals. No behaviour, inputs, or outputs changed. Same tool, leaner engine.
Catatan Rilis
v1.1 — Correctness + finishing pass

- Correctness (important): the buy/sell crossovers called ta.crossover / ta.crossunder from behind a
short-circuiting "has volume" check, so on no-volume symbols and before cumulative volume turned
positive they were skipped and could misfire once volume appeared. They now run on every bar as
Pine requires, with the volume check applied to the result. On normal volume symbols the signals
look the same; the fix clears the warning and corrects the volume-onset edge cases.
- Added a Data Window (EXP_) export bus so the ease line, signals and absorption read can feed other
scripts via input.source().
- Added a cost model: a new "Round-trip cost (R)" input and a Net R row. Conviction now requires a
signal to BOTH beat its base rate (Wilson) AND survive costs — a gross edge that costs eat through
is not tradeable, and the panel now says so.
- Added the MPL-2.0 licence header.

Descriptive research tooling, in-sample statistics, not investment advice.
Catatan Rilis
v1.4 — Three additive layers over v1.1: a lag-minimal smoother + robust normalization, an optional regime gate, and a named VSA bar-event read. The ease engine, the zero-cross signals, the absorption divergence and the entire forward calibration (triple-barrier, Wilson, cost/Net-R) are unchanged — set Smoother type = "SMA" and Normalization = "Classic (mean/stdev)" to reproduce the exact v1.1 line.

1. UltimateSmoother + Robust MAD normalization (default on). The raw box-ratio ease line is spiky. It can now be smoothed with Ehlers' lag-minimal UltimateSmoother instead of an SMA (turns sooner), and standardized with a median/MAD z-score (median absolute deviation ×1.4826) instead of mean/stdev — thin-volume and gap bars throw huge box-ratio outliers, and MAD ignores them so the pane scale stays stable. Both reversible via "Smoother type" and "Normalization".

2. Regime gate (opt-in, default Off). An optional Kaufman efficiency-ratio filter on the Long/Short zero-cross signals and their forward scoring: take frictionless crosses only when the market is actually trending (or reverting). Off leaves v1.1 behaviour exactly.

3. VSA bar events. Names the current bar's dominant Wyckoff / effort-vs-result event — Upthrust, Shakeout, Stopping Volume, Buying/Selling Climax, No-Demand/Supply — on a new dashboard row, exported as EXP_VSABias. This is the specific event behind this tool's generic "absorption" flag. Optional time-of-day volume baseline (judges "heavy" against the same clock slot on prior sessions, so a normal-for-the-open bar isn't a false climax). On-price VSA markers are off by default.

What is unchanged. The ease-of-movement box-ratio engine, the ±100 soft-bound, the zero-cross Long/Short signals, the effort-vs-result absorption divergence, and the full forward-calibration harness (triple-barrier, in-sample/out-of-sample split, Wilson interval, Bonferroni, cost model / Net R) are byte-for-byte v1.1. The new layers only read the existing series.

Still context, not advice — needs real volume (use a futures contract). Non-repaint: confirmed closes, late-confirming pivots, calibration resolves on confirmed bars. Concept credits unchanged (ease-of-movement; effort-vs-result divergence; López de Prado triple-barrier; Wilson; Bonferroni; Kaufman efficiency ratio; VSA is the standard Wyckoff vocabulary; Ehlers UltimateSmoother).

Pernyataan Penyangkalan

Informasi dan publikasi ini tidak dimaksudkan, dan bukan merupakan, saran atau rekomendasi keuangan, investasi, trading, atau jenis lainnya yang diberikan atau didukung oleh TradingView. Baca selengkapnya di Ketentuan Penggunaan.