Entry Rules That Survive Review: Writing a Rule You Can Audit

An entry rule is only useful if a second person could apply it and reach the same decision, and if you could tell, weeks later, whether you actually followed it. Most rules traders write fail both tests, not because the ideas are bad but because the sentences are unfalsifiable.

Situation
You are about to enter and the reason exists only in your head
Mechanism
Unwritten reasons cannot be contradicted, so they cannot be reviewed
Rule
No entry without a written trigger, a size limit and an invalidation
Cost
Writing takes time, and some entries expire while you are writing them
Invalidation
The written trigger turns out not to have been present at entry

An entry rule survives review when three things are true: the trigger is stated in observable terms, the action includes a size, and the rule names what would have stopped it. Most rules traders write fail the third test, which is why a month of trades cannot be evaluated afterwards. The template below fixes the sentence structure rather than the strategy.

Why most entry rules cannot be reviewed

Take a rule that sounds professional: enter when volume confirms the move. Read it again as an auditor. What counts as volume, measured over what window, compared against what baseline? What does confirm mean, and what observation would have counted as a failure to confirm? A month later, looking at a trade tagged with this rule, there is no way to establish whether it was followed.

This is not a wording problem. It is a structural one. The rule contains no statement that could have been false at entry, so it cannot have been broken, so following it is not an achievement and breaking it is not a mistake. Rules of this kind survive indefinitely because nothing can contradict them, which is the opposite of the property you want.

The same defect appears in more technical dress. Enter on a retest of the breakout level with strong flow. Enter when the pair reclaims its prior range on rising participation. These read as precise and are not, because every load-bearing term is undefined at the moment you need it defined. A rule is a promise to your future self, and a promise you cannot be held to is not a promise.

There is a second, quieter failure. Even a well-specified rule becomes unreviewable if the inputs are not recorded at entry. If your trigger references pool depth and you never wrote down the depth you saw, the review cannot reconstruct whether the trigger was present. The rule and the record are one system; either half alone is decorative.

The three tests a rule has to pass

The first is the second-reader test. Hand the rule to somebody competent who was not in your head, show them the same screen, and ask whether the trigger is present. If they can reach a different answer than you did for reasons that are not about the market, the rule is underspecified.

The second is the falsification test. Name the observation that would have meant the trigger was absent. Every real rule has one. If you cannot produce it, you have written a description of a mood, and the entry it authorises is discretionary regardless of how it is labelled.

The third is the reconstruction test. List the values your future review will need, and confirm that your journal captures each of them at entry rather than after the outcome is known. Depth, signer count, reserve balance, time of entry, size as a percentage of exit-side depth. If the list is long enough to be impractical, the rule is too complicated to be applied consistently and should be simplified now rather than abandoned later.

Unreviewable rules and their reviewable versions

Common entry rules that cannot be audited, the specific term that breaks each one, and a reviewable rewrite with its cost stated.
Common phrasingWhat breaks itReviewable versionWhat the rewrite costs
Enter when volume confirmsNo window, no baseline, no definition of confirmationEnter only if turnover over pooled depth exceeds the pair's own prior session and distinct signers rose with itRefuses fast moves that begin before a comparable session exists
Enter when liquidity is sufficientSufficient for whom, at what sizeEnter only if a full exit at intended size moves the quoted price by less than a fixed limit set in advanceExcludes almost every very small pair, including ones that later deepen
Avoid tokens with bad holder distributionBad is a judgement with no thresholdDo not enter if the largest non-pool accounts hold more than a share you wrote down before looking at this pairRefuses pairs where concentration is high for benign structural reasons
Wait for the dust to settle after migrationDust and settle are unobservableDo not enter until the destination pool is identified, reserves are read, and a routed quote matches a direct quoteMisses the first minutes after a handover entirely
Enter early on a promising launchPromising is retrospective by constructionEnter only after the seven first-hour checks are complete, at the size the depth reading permitsGuarantees you are never among the earliest buyers

Notice that the rewrites are not better predictions. They are the same ideas made checkable, and every one of them costs something specific. That is the honest trade: you gain the ability to review your own behaviour and you lose the flexibility that made the original phrasing comfortable.

The rule template

  1. Name. A short label you will use in the journal. Names matter because they are what you tag trades with, and a tag you cannot remember produces an unusable dataset.
  2. Trigger. Observable conditions, all of which must be true, each stated with its measurement. Prefer quantities you can read from a pool page or an explorer over quantities that require a paid terminal.
  3. Action. What you do, including size expressed as a function of exit-side depth rather than as a fixed amount. A rule without a size is not an entry rule.
  4. Cost. What this rule refuses. Write it as a sentence about trades you will not take, not as a hedge about uncertainty.
  5. Failure case. The situation where the trigger is present and the trade goes badly anyway, described mechanically. Every rule has one and knowing yours is the difference between a rule and a superstition.
  6. Invalidation. The condition that ends the position, written in the same terms as the trigger, so that it can be checked with the same lookup.
  7. Retirement condition. What you would have to observe to stop using this rule. Without it, rules accumulate forever and the set becomes unapplicable.

Two rules written out in full

Rule: post-migration depth entry

Trigger. The destination pool is identified and its owning program known; quote-side reserves read directly from the pool account; a routed quote and a direct quote for one unit of intended size differ by less than a limit set in advance.

Action. Enter at the size whose full exit moves the quoted price by less than your standing impact limit, computed against current quote-side reserves, in a single transaction.

Cost. You will never participate in the minutes immediately after a handover, which is where a meaningful part of post-migration movement happens.

Failure case. Reserves are adequate at entry and the liquidity position is withdrawn afterwards, so the depth that justified your size is gone before your exit.

Invalidation. Quote-side reserves fall below the level at which your position size satisfies the impact limit. Position closes on that reading, not on price.

Retirement. If routed and direct quotes stop diverging materially on new pools, the third trigger condition is doing no work and should be dropped rather than carried out of habit.

Rule: no entry into unclassified turnover

Trigger. Turnover over pooled depth computed for the current session; distinct signers counted over the same window; a class assigned from the spike taxonomy with a recorded confidence level.

Action. If the class is cycling or unclassified, take no position. If it is breadth, size normally under the standing impact limit. If it is distribution, no new entry in that direction.

Cost. Classification takes minutes and a share of sessions resolve within them, so this rule is guaranteed to miss the fastest expansions.

Failure case. A correctly identified breadth session is followed immediately by one-sided distribution from a holder you could see but whose intentions you could not.

Invalidation. The recorded class stops matching the observation on the next check, at which point the position closes irrespective of profit or loss.

Retirement. If a full quarter of journal entries shows the class assignment was uncorrelated with anything you did afterwards, the rule is theatre and should be dropped.

The pre-entry checklist

A rule set only works if the moment of entry has a fixed procedure attached to it. This is the version the desk uses, and its most important property is that it produces a written record before the outcome is known, which is the only time an honest record can be made.

  • Name the rule you are invoking, or write the word discretionary. One or the other, never blank.
  • Record the trigger values you actually observed, as raw numbers rather than as conclusions.
  • Record the exit-side depth figure and the source you read it from.
  • Compute the size the impact limit permits, and record it even if you then enter smaller.
  • Write the invalidation sentence in full, in the same measurable terms as the trigger.
  • Note the time and the venue, because both change the meaning of everything above.
  • Note anything you could not verify, explicitly, as an unverified item rather than an absence.

Seven lines take about a minute once the habit exists, and the minute is the cost of the whole method. Traders who abandon rule-based entry almost never abandon the rules; they abandon this minute, and the rules become unreviewable a few weeks later without anybody deciding that they should.

The last item deserves emphasis because it is the one most often skipped. An unverified item is not a neutral gap. If you could not establish who holds the liquidity position, that is a fact about your information, and it should reduce your size in exactly the way an unfavourable finding would. Recording it as unverified rather than leaving it blank is what allows a later review to see how often you traded on incomplete checks.

Where discretion legitimately belongs

Rules do not remove judgement, they relocate it. Judgement belongs in choosing which situations you engage with at all, in setting the standing limits that rules reference, and in deciding when a rule has stopped describing the market. It does not belong in the moment of entry, because that is exactly when your assessment of evidence is least reliable.

A discretionary entry is legitimate as long as it is labelled. Tag it as discretionary in the journal and review discretionary trades as their own group. What corrupts a record is a discretionary entry filed under a rule, because the review then credits or blames a rule that was not actually in force.

Some of the conditions rules reference are about where activity is happening rather than about price, which means the practical constraint is having those venues in view at once. That is the ordinary reason traders use tooling: a professional Solana volume bot and a monitoring console solve different halves of the same visibility problem, and neither improves a rule that was badly written in the first place.

Retiring a rule without lying to yourself

Rules should be retired, and the retirement condition written at the start is what makes that possible without self-deception. Without one, retirement happens the way it always happens: silently, at the moment the rule is inconvenient, and only in the direction of permitting more trades.

A legitimate retirement looks like this. The retirement condition you wrote has been met, you can point to the journal entries that show it, and you record the date and the reason before writing the replacement. An illegitimate retirement looks like nothing at all, because it leaves no trace.

The most common cause of legitimate retirement is a change in the market's plumbing rather than a change in your thinking. Launch mechanics change, venues change their fee structures, aggregators change what they cover. A rule that referenced a condition which no longer exists is not wrong, it is obsolete, and the two should be recorded differently.

How rule-based entry fails

It fails through selective invocation. With enough rules, one of them always permits the trade you already wanted, and the record shows a disciplined trader following a documented process. The defence is a short rule set and a journal that records which rule was consulted before the entry, not after.

It fails through false precision. A trigger stated to three decimal places is not more reliable than one stated roughly; it is more brittle, and it invites you to treat noise as signal. Thresholds should be set at a granularity the underlying data actually supports.

It fails through the belief that consistency produces returns. A perfectly followed rule set can lose money for a long time, and an undisciplined trader can do well over any short window. What the rules produce is a record clean enough to learn from. Whether there is anything to learn is a separate question that no publication can answer for you.

Questions the desk gets asked

What makes a trading rule reviewable?

A reviewable rule states a trigger in observable terms, specifies the action including size, and names the condition that would have prevented or ended it. Weeks later you can look at a recorded trade and answer yes or no to the question of whether you followed it. If the honest answer is "it depends what I meant", the rule was never a rule.

Should every entry be rule-based?

Not necessarily, but every entry should be labelled. A discretionary entry recorded as discretionary is honest and can be reviewed as a category. The damage comes from discretionary entries recorded as rule-based, because the review then attributes an outcome to a rule that had nothing to do with it.

How specific does a trigger need to be?

Specific enough that two people reading it would classify the same situation the same way. "Pool depth above the level that makes my standard size cost less than one percent to exit" is specific. "Enough liquidity" is not. The test is agreement between readers, not word count.

Why does a rule need a stated cost?

Because a rule that lists only benefits cannot be evaluated. Every filter refuses trades, and some of the refused trades would have worked. Writing down what the rule gives up lets you decide whether the trade-off is one you want, and stops the rule from being defended purely because it feels safe.

How many entry rules should a trader have?

Few enough to remember under pressure. A short set applied consistently produces a reviewable record; a long set produces selective application, where you unconsciously invoke whichever rule permits the trade you already wanted. The number that matters is how many you can actually apply, not how many you have written.

Can you backtest rules like these on Solana memecoins?

Not honestly, in most cases. The universe of tokens is not fixed, the survivorship problem is severe, historical depth data is patchy, and the market reorganises around new launch mechanics every few months. This desk does not publish backtests and treats any that circulate with suspicion, because the sample they describe usually cannot be reconstructed.

What is the difference between an entry rule and an invalidation?

The entry rule decides whether the position is opened. The invalidation decides when it ends without requiring a fresh argument. They are written at the same moment, before entry, and they are separate sentences, because a rule that lets you re-derive the exit later has effectively no exit.

Filed in Playbooks by The Liquidity Tape Desk. Mechanisms on this page are described from protocol design and public documentation; every number in an example is labelled illustrative and describes no real trade. The standard the desk holds itself to is set out in how rules are written.