Trading Auditor
← back to every claim

The source, checked

How to read this page
Every entry names the technique or the claim, never whoever wrote it, and shows how you redo the arithmetic yourself. An arithmetic slip in a text says nothing about anyone's competence — it says that whoever follows the description literally will build a different system from the one the formula defines. That is the problem, and that is the whole of it.The two sections exist together because a file that only knows how to record errors is not checking anything — it is confirming a conclusion picked in advance. The lopsided score between them is information, not embarrassment: most of what gets checked does not close.

Where the claim holds up

the number checks outvolatility
The day's direction has no memory

what the description says

That «almost half of all price moves change direction the following day; about 25% continue in the same direction for two days, 12.5% for three, and so on». And that the SIZE of the move follows the same progression: «50% are quite small, 25% are twice as large, 12.5% are four times as large».

what the measurement gives

The length progression is exactly a geometric with p = 0.5, that is: a coin flip with no memory. Measured in crypto, the sequence is 51.45% · 25.55% · 12.67% · 5.55% against the 50% · 25% · 12.5% · 6.25% of a fair coin; in forex, 49.50% · 24.53% · 13.01% · 6.41%. The probability of continuing in the same direction stays between 44.9% and 48.6% in crypto and between 46.2% and 51.4% in forex, for every length already accumulated. The mean run length is 1.908 in crypto and 2.009 in forex, against the 2.000 of a fair coin. Crypto sits systematically on the side of LESS persistence than chance, not more — the deviation, where it exists, works against following the trend.

what would have refuted it

Any memory in direction would show up as P(continues) rising with the length already accumulated, and as a mean length above 2.0. P(continues) reaching ~55% consistently would have been enough for the claim to fall — and for half of this archive's REPROVED cards to become suspect, because following the trend would have an edge by construction.

in which universe

Crypto: 540 symbols with usable history out of the 670-symbol production universe (includes delisted), 388,934 runs over 742,175 days, 2017-08 to 2026-07. Forex: EUR/USD and GBP/USD, 2,014 runs over 4,046 days, daily bars built from 15m. Measured on 2026-08-04.

how to check it

`python -m app.audit.persistencia --mercado ambos`. A day with zero change has no direction, and both possible conventions are computed: dropping it merges the runs it separated, treating it as a break splits them. Neither changes anything here — 1.908 against 1.891 in crypto and 2.009 against 2.007 in forex —, because zero-change days are 1.10% of the total in crypto and 0.17% in forex.

what that means

This is the null hypothesis this entire archive rests on, and it comes from the source the archive rejects the most. If daily direction had memory, following the trend would have an edge by construction, and this corpus's trend-following REPROVED cards would be measuring the instrument, not the technique. And the second half of the claim — the progression of move SIZE — **was not measured** and is therefore not confirmed: this entry covers run length, not the distribution of magnitudes.

Where the description does not close on the arithmetic

both readings were measuredtranscripts
Harmonic Gartley

what the description says

The description defines the entry point two ways at once: a retracement ratio on the prior leg, and a projection from the origin point.

what the arithmetic gives

The two paths lead to different prices — the divergence reaches 17% of the move —, and one of the branches requires a retracement larger than the very move that produces it, which does not exist.

how to check it

Write the two definitions as formulas and set them equal: they only coincide for a ratio the description itself does not use.

what we did

Both readings audited, with the impossible branch recorded as such instead of silently dropped.

the formula decidesadaptive indicators
Kaufman's Adaptive Moving Average (KAMA)

what the description says

That squaring the constant makes the slow extreme «equivalent to a 900-period trend», and, further on, that the line «varies from 25 to 900 (5² to 30²)».

what the arithmetic gives

3.5 to 480 periods. What gets squared is the smoothing CONSTANT, not the period — and sc² does not correspond to n².

how to check it

The slow constant is 2/(30+1) = 0.0645; squared, 0.00416. Converting back, 2/0.00416 − 1 = 480, not 900.

what we did

The formula is unambiguous, so there are no two readings: there is a correction. The card publishes the measured range.

the formula decidesadaptive indicators
VIDYA

what the description says

That higher volatility produces «an increase in the smoothing constant and consequently a SLOWER trend».

what the arithmetic gives

Faster. The chain has three links and the first two are right — higher volatility ⇒ higher ratio ⇒ higher constant —, but in exponential smoothing a higher constant is a faster trend.

how to check it

With the constant at 0.10 the equivalent is 19 periods; at 0.40, 4 periods. Higher constant, shorter period.

what we did

One card, not two: the source correctly describes the ratio and the constant, and only errs in the conclusion. Inverting the ratio to get the behaviour the text states produces a recursion that DIVERGES with the source's own parameters — measured, the constant exceeds 1 on 6.6% of the bars and the series blows up.

blocked the auditadaptive indicators
MAMA and FAMA (MESA)

what the description says

That the constant varies between a fast limit of 0.5 and a slow one of 0.05, with the rule «if the constant exceeds the slow limit, use the slow limit».

what the arithmetic gives

A FIXED 39-period exponential. The printed limiter locks the constant at 0.05 whenever it exceeds it — and the branch that would return the fast limit is cancelled by the next line.

how to check it

Apply the two printed rules to any value: 0.9 becomes 0.05; 0.2 becomes 0.05; −0.3 becomes 0.5 and then 0.05.

what we did

Published as unspecified. As printed, «the Mother of All Adaptive Moving Averages» is not adaptive — and the correct version depends on a calculation the source defers to another chapter.

the formula decidesadaptive indicators
Variable-period moving average

what the description says

The rule twice: first as a formula, then rewritten in words as the «general form». The two versions give opposite results.

what the arithmetic gives

The printed formula returns the LONGER period when the market is quiet; the rewritten general form returns the SHORTER one.

how to check it

At the two limits the source states: at 0.25 deviations the formula gives 30 and the general form gives 5; at 1.75 deviations, the opposite.

what we did

Implemented the formula, with two independent confirmations that it is the correct one: the previous step of the text itself says that within ±0.25 deviations you use «the longer period», and the opening of the section says more volatility calls for a shorter period.

the formula decidesadaptive indicators
Dynamic Momentum Index · Variable-period moving average

what the description says

In both techniques, that the period responds to the LEVEL of volatility: «as volatility increases, the period will be shorter» and «as price becomes more volatile, a shorter period may be used».

what the arithmetic gives

They respond to CHANGE, not to the level. Both divide volatility by its own recent volatility, and the scale cancels out: a permanently violent market gets the same period as a permanently calm one.

how to check it

Multiply the entire series by 100 and recompute: the median period does not change for either one (14 and 23). In the first case a shock shortens the window from 14 to 6, and it returns to 14 in about 10 bars.

what we did

Does not change the implementation — it changes what the card can claim, and it is written into the description of both.

blocked the auditadaptive indicators
Trend-adjusted oscillator

what the description says

That the correction «succeeds in several ways, but at the cost of losing some of the most extreme cases».

what the arithmetic gives

It loses all of them. The corrected value stays between 36.7 and 63.3 — it never reaches 30 or 70. It follows from the printed formula: the oscillator is the average of ten daily closing positions, which clusters around 50, and the correction subtracts a five-period average of that.

how to check it

With the 30/70 thresholds this corpus uses on a single-line oscillator: 1 signal in 750,934 bars.

what we did

Published as unspecified, with the number as the reason. Any threshold that made it trade would be calibrated by looking at its own distribution — which is choosing the result.

the formula decidesmomentum
Directional Movement (ADX)

what the description says

That the negative directional movement is «today's low minus yesterday's» — and states, in the next paragraph, that «on an inside day both the positive and the negative movement are zero».

what the arithmetic gives

The two statements cannot both be true. On an inside day the low is HIGHER than yesterday's, so the printed formula gives a positive number, never zero. The original definition has the terms inverted.

how to check it

Measured over 2,286 inside days: with the printed formula the value is zero on 0 of them (0.0%); with the terms inverted, on 2,286 (100.0%).

what we did

We implemented the original definition, the only one compatible with what the text itself states one line later. The printed formula is a typesetting defect, not an ambiguity: there are no two readings to measure.

the formula decidesmomentum
Directional Movement (ADX)

what the description says

That the true range of a bar is the largest of three values, and the third one is «today's close minus yesterday's low» — stating on the same line that «the true range is always positive».

what the arithmetic gives

That third term spans TWO bars, so it is not any bar's range at all. The missing term is the symmetric one — YESTERDAY's close minus TODAY's low —, which is what measures the downside gap.

how to check it

Measured over 23,835 bars: the printed formula gives a value LARGER than the true range on 28.6% of them, inflating it by +42.9% on average, and a smaller value (the gap it misses) on 0.2%.

what we did

We used the original definition. Since the range is the denominator of the directional indicators, inflating it flattens both of them — the error is not neutral, and it is not rare.

the formula decidesmomentum
Parabolic Directional System

what the description says

That you should only take long trades «when the average directional index is rising» — and, in the same paragraph, describes that index three incompatible ways, among them «an oscillator such that, when its value crosses above 50, the move is upward».

what the arithmetic gives

The index is defined in another chapter with an ABSOLUTE VALUE, and the same text comments on the effect: «the absolute value makes the index lose the information of which direction prices are going». An index that has discarded direction cannot pick the side of the trade.

how to check it

Measured over 23,835 bars: when the index crosses above 50 — what the source says means a rise —, the directional quantity from the same arithmetic points DOWN on 43.3% of the bars. It is a coin flip on the side.

what we did

We used the index BEFORE the absolute value — the only one of the three descriptions compatible with the other chapter's arithmetic, and literally what the definition line describes. Without this choice the technique cannot be executed, and it is declared on the card.

the formula decidesselection
Directional Movement (ADX)

what the description says

That the 14-period smoothed sum, defined as «yesterday's value, minus yesterday's value divided by 14, plus today's», «can also be produced using a smoothing constant of 0.071, which is an approximation of the fraction 1/14» — and prints «0.071 × yesterday's value plus today's».

what the arithmetic gives

The two forms are not the same. Subtracting 1/14 from yesterday's value leaves 13/14 of it, that is 0.929 — and that is the multiplier. The 0.071 is what gets SUBTRACTED, not what is left. Swapped, what was a 14-period sum becomes nearly the bar's raw value.

how to check it

Measured over 12 assets and 13,607 bars: the range smoothed by the printed form comes out at 6.3% (median) of what the explicit form produces, and the directional indicator that uses it as a denominator differs by 17.75 points at the median, on a 0-to-100 scale — with 98.9% of the bars differing by more than 1 point. The scale does NOT cancel out in the division, because the smoothing changes the timing of the numerator and the denominator differently.

what we did

We used the explicit form, which is unambiguous and is the one the source defines first. There are no two readings to measure: one of the two is arithmetically wrong, and it is the second one.

the formula decidesselection
Hochheimer's Directional Movement System

what the description says

That you go LONG if «the positive indicator crosses above the negative», and SHORT if «the negative indicator crosses below the positive».

what the arithmetic gives

The two conditions are the same. The negative falling below the positive is the positive being above the negative — the same inequality written backwards. As printed, the system signals both a buy and a sell on the same bar and never goes short.

how to check it

Write the two conditions as inequalities: «P > N» and «N < P». The other variant of the same system, on the same page, prints the correct mirror — «the positive crosses below the negative» —, which shows what was intended.

what we did

We used the mirror, in the form the other variant prints it. It does not create two readings: the literal reading is not an alternative technique, it is a technique that does not exist.

the formula decidesfibonacci
0.382 retracement

what the description says

That traders use «0.382, the complement of 0.618, as a key retracement level» — and adds, in the same sentence, that «this is NOT a Fibonacci ratio».

what the arithmetic gives

0.382 is both things at once: it is the complement (1 − 0.618 = 0.382) AND it is the square of the ratio itself (0.618² = 0.38197). A power of the golden ratio is as derived from the sequence as the ratio itself. And the source itself derives it from the sequence a few pages later, when listing the ratios of the combined Fibonacci-Lucas sequence: «F_i/L_{i+2} = L_i/L_{i+2} = 0.382».

how to check it

Square 0.618: 0.38197. Subtract 0.618 from 1: 0.382. They are the same number, and the next page arrives at it a third way.

what we did

We audited 0.382 as a full-fledged technique, alongside 0.618 with everything else identical. The source's sentence does not change the arithmetic — but if it were right, 0.382 would be an arbitrary level, and an arbitrary level that worked just as well as the golden ratio would be the most interesting result this family could produce.

blocked the auditfibonacci
Price targets for Waves 3 and 5

what the description says

That the fifth wave's target is found by solving for its value such that «Wave 1/Wave 5 = Wave 5/Wave 3 = 0».

what the arithmetic gives

A ratio of two lengths is only zero if the numerator is zero, that is, if the wave does not exist. As written, the target is a move of zero size. The surrounding text calls for the geometric mean — solving for Wave 5 such that Wave1/Wave5 = Wave5/Wave3, that is, Wave5² = Wave1 × Wave3 — and the «= 0» is a printing artifact over the equals sign.

how to check it

Substitute the numbers from the source's own example (the Dow index Supercycle): setting the two ratios equal gives the published target; setting it to zero gives no target at all.

what we did

The technique was published as unspecified, and not because of this defect: even with the right formula, it starts from «Wave 1», which the section does not define in an operable way, and the source itself says price targets «are for taking profit, not as new entry points».

blocked the auditstops
Stop by maximum adverse excursion

what the description says

That the stop should be placed «just beyond each trade's maximum adverse excursion, determined by historical evaluation» — or at 2.5% of price, whichever is smaller.

what the arithmetic gives

A trade's maximum adverse excursion is the worst point it passed through, and is only defined after the trade ends. The rule asks, at the moment of entry, for a number that will only exist at the exit: it uses information from the trades it is supposed to protect. The «or 2.5%, whichever is smaller» does not fix it, because the smaller of the two still depends on the unknown value.

how to check it

Write out the order of events: the trade opens at t, the stop needs to exist at t, and the maximum adverse excursion is only known at t+k, when the trade closes.

what we did

Published as unspecified, with the reason. It is not a limit of the data or of the battery: a rule that requires the future at the moment of the decision is not executable by anyone, and the engine's structural gate would block it before it became a number.

both readings were measuredselection
Colby's 2-Day Rules

what the description says

That you go long when «condition A OR condition B» is true, and that you flatten the long when «not-A OR not-B» is true.

what the arithmetic gives

The two overlap. With A true and B false, the entry rule fires (A or B) and so does the exit (not-B) — it enters and exits on the same bar, and the pair is not executable without a precedence convention. The logical opposite of «A or B» is «not-A AND not-B», with AND, not OR.

how to check it

Build the truth table for the four combinations of A and B: in two of them, the entry and exit rules are both true.

what we did

We measured the two conventions that resolve it — the exit as the logical negation of the entry, and the literal exit with precedence over the entry — and published both as cards. They agree on only 47.74% of the bars: one stays in the market the whole time, the other less than half of it. Picking one silently would be publishing our own convention as if it were the technique.

the formula decidesvolatility
High-low volatility measure

what the description says

Presents, under the title «high-low volatility», a formula that sums the log of the ratio between consecutive closes, squared, multiplied by the constant 0.601.

what the arithmetic gives

The formula contains neither the high nor the low: it is a rescaled close-against-close measure. And the constant gives away what was intended — 0.601 is 1/(2·√ln2), the factor that converts the log of the HIGH/LOW ratio into a standard deviation. It has no function at all over a ratio between closes.

how to check it

Calculate 1/(2·√(ln 2)) = 0.6006. Then read the formula looking for an H or an L: there is none.

what we did

Correction recorded. The measure this family's cards use is the one the source itself fixes for the numbers it publishes — the standard deviation of returns —, so no card depended on this formula. Two smaller inconsistencies in the same block: the left-hand side is V_i where the other items use V_t, and this one returns a square without taking the root the other two take.

the formula decidesvolatility
Consecutive-closes volatility measure

what the description says

Defines the mean A as (1/n) times the sum, from i = 1 to n, of ln(R_{t−1}); and the variance as (1/(n−1)) times the sum, over the same indices, of (ln(R_{t−1}) − A)².

what the arithmetic gives

The summed term does not depend on the sum's index. The average of n copies of the same number is the number itself, so A = ln(R_{t−1}) — and every term of the variance becomes (ln(R_{t−1}) − ln(R_{t−1}))². **The variance is identically zero**, and so is the standard deviation.

how to check it

Substitute A into the second formula: every term of the sum is zero. It is an indexing typo — it should be R_{t−i} —, and the next item on the same page indexes correctly (S²_{t−i}), which shows it is not a deliberate convention.

what we did

Correction recorded. No card depends on this formula, for the same reason as the previous entry.

both readings were measuredvolatility
Volatility filter over a trend system

what the description says

When setting up the test procedure, it states that «the two trends used will be 10 and 60 days». One page later, and in every results table, the underlying system is a 40-day average.

what the arithmetic gives

The declared periods and the tested ones are disjoint sets: {10, 60} and {40}. No published number comes from the announced configuration, and the announced configuration has no published number.

how to check it

Compare the line that declares the trends with the results table's header and with the text describing it.

what we did

The base period went in as a SWEEP of {10, 40, 60} — all three are numbers from the source itself, and picking one would be our choice. The layers sit on top of 40, which is the base for every published number. In the same passage, four numbered steps are called «these six different conditions».

both readings were measuredvolatility
Volatility filter over a trend system

what the description says

In the procedure, it says to enter «if today's volatility is ABOVE the LOW filter's threshold, or BELOW the HIGH filter's threshold». In the results, it calls «high-volatility filter» the one «that allows trades only ABOVE its threshold».

what the arithmetic gives

The two namings are opposite. In the procedure, the filter is named by the POSITION of the threshold, and the «low filter» admits high-volatility days. In the results, it is named by the REGIME it admits, and the «high filter» admits high-volatility days. Implementing by the wrong name inverts the filter.

how to check it

Take the label «low filter» in both halves and ask, in each, whether it lets a choppy day through. The answers contradict each other.

what we did

We audited BOTH regimes as separate techniques — «enters only on low volatility» and «enters only on high volatility» —, using the results' naming, which is the tables' naming. And the measurement settled the section's thesis: both improve the mean TOGETHER, which is only possible if what improves is not picking the regime.

the formula decidesvolatility
Average true range as a volatility measure

what the description says

After comparing the average true range with annualised volatility, it states that «both can be converted into dollar values by multiplying by the current price».

what the arithmetic gives

It holds for annualised volatility, which is dimensionless because it is the standard deviation of returns. **The true range is already in price units** — it is a difference between prices. Multiplying it by price gives price squared, which is not a monetary quantity.

how to check it

Check the units: true range = price − price = price. Annualised volatility = (price/price) = dimensionless. Only the second one needs to be multiplied by a price to become money.

what we did

Correction recorded. No card was affected: this family's layers compare dimensionless quantities against each other (the day's return against the standard deviation of returns), and the true range only appears in multiples of itself.