Page 1 of 4

Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Sat Aug 22, 2026 10:48 am
by Fairman
Here's a useful test for whether your entry criteria are actually specific enough to be useful: could a complete stranger, armed only with your written description, execute your strategy correctly without ever needing to ask you a clarifying question?

"I enter when it looks bullish" fails this test immediately and completely. It's not a rule — it's a vague impression that depends entirely on your in-the-moment mood, intuition, and whatever subconscious biases happen to be active that day. Two different days, looking at the exact same chart pattern, might produce two completely different decisions under this "rule," and you'd have no way to even notice the inconsistency.

Compare that to something like: "I enter when price closes above the 20 EMA on the 5-minute chart, with RSI above 50, and current volume above the 20-period average volume." This is specific. It's mechanical. A stranger reading this description, looking at the same chart, would make the same decision you would.

Go through your current mental "criteria" and rewrite each one in this level of specificity. You'll likely discover that some of what you thought were solid rules are actually vague impressions you've never fully articulated, even to yourself. That discovery alone is valuable — it's very hard to be consistent about a rule you've never actually pinned down in concrete terms.

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Thu Sep 10, 2026 11:14 am
by LondonScalper
Entry rules a stranger could follow = you’ve removed improvisation (mostly).

I stress-test mine by reading them out loud. If I need a paragraph of “context,” it’s not a rule yet — it’s a vibe with formatting.

Care to share one entry rule in stranger-proof form (pair + location + trigger + invalidation)?

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Sat Sep 19, 2026 9:13 pm
by PropScalpDesk
Stranger test from a live desk

The stranger test is the right standard. If your entry line needs a shrug and “you had to be there,” it is not a rule yet — it is a story you tell yourself after the click.

Mine for EURUSD around the European open looks closer to this:
  • Session: only after cash open liquidity is acceptable and the spread filter has cleared.
  • Location: reclaim of a pre-marked M5 level that already reacted once overnight or on the prior day.
  • Trigger: M1 close back through the level plus spread still inside the cap.
  • Invalidation: M1 close back beyond the level by a fixed pip distance — hard stop, no “give it room.”
  • Skip: red-folder window, or already two full R losses on the day.
Vague words I banned from my own sheet: bullish, strong, looks good, momentum. Time is money when you trade full-time — ambiguous rules waste both.

What is the single vaguest phrase still hiding in your entry checklist, and can you replace it with a binary condition tonight?

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:52 am
by PTScalper
Fairman wrote: Sat Aug 22, 2026 10:48 am Here's a useful test for whether your entry criteria are actually specific enough to be useful: could a complete stranger, armed only with your written description, execute your strategy correctly without ever needing to ask you a clarifying question?

"I enter when it looks bullish" fails this test immediately and completely. It's not a rule — it's a vague impression that depends entirely on your in-the-moment mood, intuition, and whatever subconscious biases happen to be active that day. Two different days, looking at the exact same chart pattern, might produce two completely different decisions under this "rule," and you'd have no way to even notice the inconsistency.

Compare that to something like: "I enter when price closes above the 20 EMA on the 5-minute chart, with RSI above 50, and current volume above the 20-period average volume." This is specific. It's mechanical. A stranger reading this description, looking at the same chart, would make the same decision you would.

Go through your current mental "criteria" and rewrite each one in this level of specificity. You'll likely discover that some of what you thought were solid rules are actually vague impressions you've never fully articulated, even to yourself. That discovery alone is valuable — it's very hard to be consistent about a rule you've never actually pinned down in concrete terms.
Hi Fairman,

The text you shared highlights one of the most painful but necessary transitions every successful trader must make: moving from discretionary intuition to systematic execution.

When you write a trading strategy in code, you are literally handing your rules to the ultimate "complete stranger"—a computer. A computer has no mood, no intuition, and no subconscious biases. It will only execute exactly what you tell it to. If your rules are vague, the code will fail to compile or act erratically. If your rules are mechanical, it will execute them with ruthless consistency.

Here is the exact rule from your text translated into Pine Script (v5) for TradingView.

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:53 am
by PTScalper
The "Complete Stranger" Strategy

Because your rule specified an entry but not an exit, I included a logical companion exit (closing back below the 20 EMA) so the strategy can actually be backtested.

Code: Select all

//@version=5
strategy("The Complete Stranger Rule", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==========================================
// 1. DEFINE THE INDICATORS
// ==========================================
// 20-period Exponential Moving Average
ema20 = ta.ema(close, 20)

// 14-period Relative Strength Index (Standard)
rsiValue = ta.rsi(close, 14)

// 20-period Simple Moving Average of Volume
volSma20 = ta.sma(volume, 20)

// ==========================================
// 2. DEFINE THE EXACT ENTRY RULE
// ==========================================
// "closes above the 20 EMA, with RSI above 50, and current volume above the 20-period average volume"
enterLong = (close > ema20) and (rsiValue > 50) and (volume > volSma20)

// ==========================================
// 3. DEFINE A LOGICAL EXIT RULE
// ==========================================
// (Added for testing purposes: Exit when price closes back below the 20 EMA)
exitLong = close < ema20

// ==========================================
// 4. EXECUTE THE TRADES
// ==========================================
if (enterLong)
    strategy.entry("Long", strategy.long)

if (exitLong)
    strategy.close("Long", comment="Close < EMA")

// ==========================================
// 5. CHART VISUALS
// ==========================================
// Plot the 20 EMA on the chart
plot(ema20, color=color.blue, title="20 EMA", linewidth=2)

// Highlight the background green whenever the entry rule is met
bgcolor(enterLong ? color.new(color.green, 85) : na, title="Entry Condition Met")

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:53 am
by PTScalper
How to test this specific rule:

1.) Open TradingView and open a 5-minute chart (as your rule specified).

2.) Click the Pine Editor tab at the bottom of the screen.

3.) Delete whatever is currently there, paste this code, and click Add to Chart.

4.) Click the Strategy Tester tab to see exactly how this specific, mechanical rule performed over the last few months of data—no emotions attached.

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:54 am
by PTScalper
By replacing a moving average exit with a hard mathematical boundary, you are taking the "Complete Stranger" test one step further. Now, both the entry and the exit are entirely devoid of interpretation.

1.) Here is the updated script. I have added two specific upgrades to make it more useful for you:

2.) Settings Menu Inputs: You can now adjust the 1% and 2% values directly from the TradingView settings gear icon without having to edit the code again.

3.) Visual Target Lines: The script will now draw a red line for your Stop Loss and a green line for your Take Profit on the chart while you are in a trade, so you can visually verify the system is working.

Code: Select all

//@version=5
strategy("The Complete Stranger Rule - Fixed SL/TP", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==========================================
// 1. SETTINGS INPUTS (Adjustable without coding)
// ==========================================
slPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) / 100
tpPercent = input.float(2.0, title="Take Profit (%)", step=0.1) / 100

// ==========================================
// 2. DEFINE THE INDICATORS
// ==========================================
ema20 = ta.ema(close, 20)
rsiValue = ta.rsi(close, 14)
volSma20 = ta.sma(volume, 20)

// ==========================================
// 3. DEFINE THE EXACT ENTRY RULE
// ==========================================
// "closes above the 20 EMA, with RSI above 50, and current volume above 20 SMA volume"
enterLong = (close > ema20) and (rsiValue > 50) and (volume > volSma20)

// ==========================================
// 4. EXECUTE TRADES & SET EXITS
// ==========================================
// Enter the trade if the condition is met and we aren't already in one
if (enterLong and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)

// Calculate exact price levels for SL and TP based on entry price
longStopPrice = strategy.position_avg_price * (1 - slPercent)
longTakeProfit = strategy.position_avg_price * (1 + tpPercent)

// Send the exit orders to the broker/backtester if we are in a position
if (strategy.position_size > 0)
    strategy.exit("Exit Long", from_entry="Long", stop=longStopPrice, limit=longTakeProfit)

// ==========================================
// 5. CHART VISUALS
// ==========================================
// Plot the 20 EMA
plot(ema20, color=color.blue, title="20 EMA", linewidth=2)

// Highlight the background green on entry
bgcolor(enterLong ? color.new(color.green, 85) : na, title="Entry Condition Met")

// Draw visual lines for SL and TP while in a trade
plot(strategy.position_size > 0 ? longTakeProfit : na, color=color.green, style=plot.style_linebr, linewidth=2, title="TP Level")
plot(strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=2, title="SL Level")

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:54 am
by PTScalper
How this changes the backtest

When you run this in the Strategy Tester, every trade will now have exactly a 1:2 Risk/Reward ratio. Because you are rigidly capping your losses at 1% and letting your winners run to exactly 2%, you no longer need a 90% win rate to be profitable. With this math, you only need to win 34% of your trades to break even.

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:55 am
by PTScalper
To take a short position, you invert the price and momentum rules, but you keep the volume rule exactly the same.

A common mistake when inverting a strategy is flipping the volume condition to look for lower volume. But volume validates the strength of a move in either direction—you still want current volume to be higher than average to confirm the bears have actual momentum behind them.

Here is the fully bidirectional system. It now automatically calculates standard 1% loss and 2% profit levels depending on which direction you are trading.

Code: Select all

//@version=5
strategy("The Complete Stranger Rule - Long & Short", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==========================================
// 1. SETTINGS INPUTS (Adjustable)
// ==========================================
slPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) / 100
tpPercent = input.float(2.0, title="Take Profit (%)", step=0.1) / 100

// ==========================================
// 2. DEFINE THE INDICATORS
// ==========================================
ema20 = ta.ema(close, 20)
rsiValue = ta.rsi(close, 14)
volSma20 = ta.sma(volume, 20)

// ==========================================
// 3. DEFINE THE EXACT ENTRY RULES
// ==========================================
// LONG: Price above EMA, RSI above 50, Volume spike
enterLong = (close > ema20) and (rsiValue > 50) and (volume > volSma20)

// SHORT: Price below EMA, RSI below 50, Volume spike (still > for strength)
enterShort = (close < ema20) and (rsiValue < 50) and (volume > volSma20)

// ==========================================
// 4. EXECUTE TRADES & SET EXITS
// ==========================================
// Enter Long
if (enterLong and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)

// Enter Short
if (enterShort and strategy.position_size == 0)
    strategy.entry("Short", strategy.short)

// Calculate dynamic SL/TP levels depending on trade direction
longStopPrice   = strategy.position_avg_price * (1 - slPercent)
longTakeProfit  = strategy.position_avg_price * (1 + tpPercent)

shortStopPrice  = strategy.position_avg_price * (1 + slPercent)
shortTakeProfit = strategy.position_avg_price * (1 - tpPercent)

// Send the exit orders to the broker/backtester
if (strategy.position_size > 0) // If we are Long
    strategy.exit("Exit Long", from_entry="Long", stop=longStopPrice, limit=longTakeProfit)

if (strategy.position_size < 0) // If we are Short
    strategy.exit("Exit Short", from_entry="Short", stop=shortStopPrice, limit=shortTakeProfit)

// ==========================================
// 5. CHART VISUALS
// ==========================================
// Plot the 20 EMA
plot(ema20, color=color.blue, title="20 EMA", linewidth=2)

// Highlight the background green for Longs, red for Shorts
bgcolor(enterLong ? color.new(color.green, 85) : na, title="Long Entry Met")
bgcolor(enterShort ? color.new(color.red, 85) : na, title="Short Entry Met")

// Determine which level to plot based on position direction
activeTP = strategy.position_size > 0 ? longTakeProfit : (strategy.position_size < 0 ? shortTakeProfit : na)
activeSL = strategy.position_size > 0 ? longStopPrice : (strategy.position_size < 0 ? shortStopPrice : na)

// Draw visual lines for SL and TP while in a trade
plot(activeTP, color=color.green, style=plot.style_linebr, linewidth=2, title="Active TP Level")
plot(activeSL, color=color.red, style=plot.style_linebr, linewidth=2, title="Active SL Level")

Re: Write Entry Rules So Specific a Stranger Could Follow Them

Posted: Wed Sep 23, 2026 8:55 am
by PTScalper
The Math of Shorting Exits

1.) Notice how the math flips for the short positions in section 4. Because you profit when the asset drops:

2.) Short Take Profit: Entry Price × (1 - 0.02). We set the limit order below our entry.

3.) Short Stop Loss: Entry Price × (1 + 0.01). We set the protective stop above our entry.