Three white soldiers describe three successive bullish candles with rising closes and specified opening and shadow relationships. A directional counterpart to three black crows need not be an exact inverse software detector. Fix the recognition rules before asking whether a complete trading method using them had a useful result.

What the three white soldiers look like

TradingView describes long bullish bodies, within-body openings and closes near the highs. A test must translate long, near and inside into thresholds and equality rules. Rising closes are separate from each candle’s Open-to-Close direction; the description does not automatically require every Low and High to increase. Candle prices alone do not reveal buyer identity or intent.

Our custom model below requires C > O for all three candles and a prior-context filter known before the trio. The candlestick patterns worth knowing first explain basic body and shadow geometry; chart colors alone do not specify an algorithm.

An explicit model with unequal bodies

For fictional EUR/USD, use one pip = 0.0001. Assign preceding closes 1.0860, 1.0840, 1.0820, 1.0800 and ten earlier 12-pip bodies, with their fixed mean 12. Require three bullish bodies and rising closes, strict within-body openings for candles 2 and 3, each body at least 1.5 × 12 =18 pips, each upper shadow at most 10% of its own range, and each later body at least 75% of its immediate predecessor. These are chosen illustration parameters, not optimized settings.

CandleOpen / HighLow / CloseBodyRangeUpper shadow / range
11.0800 /1.08221.0796 /1.082020 pips26 pips2/26 ≈ 7.69%
21.0810 /1.08361.0806 /1.083424 pips30 pips2/30 ≈ 6.67%
31.0824 /1.08481.0820 /1.084622 pips28 pips2/28 ≈ 7.14%

All bodies exceed 18, upper-shadow fractions are below 10%, and openings satisfy 1.0800 <1.0810 <1.0820 and 1.0810 <1.0824 <1.0834. Body 2=24 exceeds 75% × 20=15; body 3=22 exceeds 75% × 24=18. A smaller third body still passes this rule. Body sum 66 pips differs from O1-to-C3 rise 46: the two later Opens are each 10 pips below the preceding Close, so 66 − 10 − 10 =46. This is geometry, not an executable trade result.

The mirror: three black crows

Three black crows use bearish bodies and their own opening, closing and lower-shadow tests. A label describing a bearish counterpart does not establish the same numerical filters, preceding-candle conditions or symmetric trading results.

The three black crows detector can therefore disagree with a sign-reflected soldiers detector. Interpret each code with its implementation and context rather than turning a candle rhythm into evidence that demand or supply took control.

Two successive 75% thresholds do not preserve 75% of the first body

Bodies 40→30→22.5 pass both conditions: 30/40 = 75% and 22.5/30 = 75%. Yet the third is only 22.5/40 = 56.25% of the first. In our model it still exceeds the minimum of 18; closes rise 140→150→157.5, and each subsequent open lies inside the previous body.

Shrinking bodies despite two successive 75% thresholdsThree bullish candles share a scale from 95 to 165. Opens are 100, 120 and 135; closes are 140, 150 and 157.5. Body lengths are forty, thirty and twenty-two and a half. Each subsequent body is seventy-five percent of its predecessor, but the third is fifty-six and a quarter percent of the first.Local tests: previous body403022.50.75 × 0.75 = 0.5625
Body heights show the actual proportions of this custom model. Rising closes and shrinking bodies can coexist because the opens differ.

This is consistent if the specification compares neighbours. Requiring “each subsequent body ≥ 75% of the first” is a different filter: the third would need to be at least 30, so our example would fail. Before interpreting a detector label, specify the denominator's index. Do not apply this custom 75% threshold to every program.

Assumptions: A separate, entirely hypothetical model: OHLC1(100,141,99,140),2(120,151,119,150),3: O = 135, H = 158.5, L = 134, C = 157.5. A fixed average of 12 for earlier bodies gives a minimum of 18. Our custom 75% thresholds compare each subsequent candle with its immediate predecessor, rather than the first.

Why an implementation can accept different bodies or opens

TA-Lib checks rising closes and short upper shadows, allows later Opens up to the preceding Close plus Near, and compares later body shortening through Far. It directly applies the historical BodyShort test only to body 3, and does not inspect a preceding downtrend. The defaults use 10% of ten preceding ranges for the shadows; Near 20% and Far 60% of five preceding ranges; and ten preceding bodies for BodyShort. For the next Open/body relation, the Near/Far reference is the preceding candle. Our custom 75% rule is different.

A fictional boundary check uses twelve prior bars(95,103, 93, 97), then O/H/L/C(100,104.1, 99,104),(O2,109.1,104.5,109),(108,112.1,107.5,112). The Near allowance for O2 is 0.2 × 10=2, so C1+Near=106. O2=104.8 and 106 give source-condition code+100;106.2 gives 0. All three are outside the first body. This hypothetical comparison checks implementation boundaries, not market performance or a new compiled-library run.

How to trade the three white soldiers step by step

Do not assume that a retracement must follow or that waiting gives a superior long entry. If testing a retracement rule, record its level, expiry and cancellation conditions, and retain candidates with no retracement or no fill. Define how to draw support and resistance before later prices become visible.

The pattern name does not dictate one stop or target. Specify invalidation, executable order, volume and costs separately. An ordinary stop can fill worse than its trigger. An added filter based on how to read the RSI indicator defines another version; two price-derived observations are not automatically independent evidence of reliability.

The unchanged separate diagram shows why the reference index matters: bodies 40, 30, 22.5 meet 30/40=75% and 22.5/30=75%, but 22.5/40=56.25%. All remain above the assigned 18-unit minimum. Requiring every later body to be at least 75% of the first would instead demand 30 for body 3 and reject it. Do not change that denominator after seeing the outcome.

In the EUR/USD table, changing only H3 to 1.0870 leaves the 22-pip body and rising closes intact, but makes its upper shadow 24 pips and range 50. The shadow fraction 24/50=48% fails our 10% limit. Similar-looking closes do not replace the other recognition tests.

A daily bar aggregates a longer interval than an hourly bar; its label does not quantify the capital behind it or prove greater reliability. An engulfing pattern or morning star likewise needs its own exact conditions. Recognition using final OHLC is available only after candle 3 closes; a later execution must use information and prices available then.

What to do tomorrow

  1. Choose one detector or custom specification. Record size thresholds, shadow history, equality and preceding context.
  2. Check the denominators of successive body thresholds and distinguish body sums from the net move across all candles.
  3. Save recognition time separately from order submission and fill. Include rejected setups, missed retracements and losing outcomes.
  4. Evaluate complete entry, exit, exposure and cost rules on an untouched period. A week of demo practice or selected successful charts does not establish an edge or future profitability.

To organise your candlestick knowledge within a broader course, a good starting point is the technical analysis section in our library.