How It Works
- Build the cloud from the bar extremes: midpoints of the 9-, 26- and 52-bar high-low ranges become the conversion line, base line and Span B, and the two spans are projected 26 bars ahead.
- Buy when the close rises above the top of the cloud — price has cleared the entire band the market built a month ago, which is Ichimoku's definition of a bullish regime.
- Sell when the close drops below the bottom of the cloud. Inside the cloud the strategy simply holds: that zone is explicitly treated as undecided, not as a signal.
Worked example. The cloud spans 98 to 102 and price closes at 103, clearing the top, so the strategy buys. Price runs to 130 and later sinks back; when it closes at 117 with the cloud then spanning 118-124, it has fallen through the bottom and the trade closes.
The Math Behind The Indicators
Everything runs on closing prices of the traded timeframe: P is a close, Pt today's close, and N counts bars — one bar is one candle of that timeframe, so 20 bars on a 1h chart is 20 hours.
- Ichimoku Cloud (Kumo)
- A whole trend framework in one overlay. The conversion and base lines are midpoints of the 9- and 26-bar high-low ranges — range centres, not averages of closes. Their midpoint becomes Span A and the 52-bar range midpoint becomes Span B, and both are then drawn 26 bars into the future. The band between them is the cloud. Price above the whole cloud is the bullish regime, below it the bearish one, and the cloud's thickness shows how wide the old range was — a thick cloud is harder to break out of. Nothing here peeks ahead: a bar simply compares itself against a band the market drew 26 bars earlier.
- Conv = max(H9) + min(L9)2, Base = max(H26) + min(L26)2, Span A = Conv + Base2
- Example: If the 9-bar range is 95–105 the conversion line is 100, and a 26-bar range of 90–110 puts the base line at 100 too, so Span A is 100. With the 52-bar range at 80–120, Span B is also 100 — a pinched cloud, meaning the market has coiled and a breakout either way meets little resistance.
Example Chart
Example Chart
The Metrics
| Metric | Calculation | What it shows |
|---|---|---|
| Price Change % | change = Plast − P0P0 × 100 The traded market's own close against its first close over the same window, as a percentage. | What the market did while the rule was running — the benchmark every other row here is read against. A rule that made 40% in a market that made 120% lost to doing nothing. |
| Trades | N = count(closed positions) How many positions the rule opened and closed over the window. | The sample behind every other figure, and what the fees are charged on. Two rules with the same return are not the same rule if one took nine trades and the other took nine hundred. |
| Win Rate % | W%n = winsnn × 100 Of the first n trades, how many closed above the cash they opened with after fees. Plotted trade by trade, so the line is the rate so far rather than a final figure. | How often the rule is right, which is not how much it makes. A rule can win a third of its trades and still lead, if the third it wins pays for the two it loses. |
| Cumulative P&L % | PnL%n = n∑i=1(fi − 1) × 100 Each trade's percentage result added up, net of fees. A sum rather than a compounding, so a 10% gain and a 10% loss cancel. | What the rule returned per trade, with position size taken out of it. It answers whether the edge is in the trades themselves, where the equity curve answers what the account did with them. |
| Equity | En = E0 n∏i=1fi The account compounded through every trade — the whole balance goes into the next position. Drawn net of fees as a solid line and gross of them as a dotted one. | The account itself, which is the only figure a reader actually ends up with. The gap between the two lines is what the fees took, and it widens with every trade rather than staying a fixed share. |
| Cumulative Fees | Fn = n∑i=1(Ci φ + Xi φ) Fee charged on the way into each position and again on the way out, at rate phi, on the capital actually committed — so the bill grows with the account as well as with the trade count. | The cost of trading, in the account's own units. It is the one line here that only ever rises, and the one a rule cannot trade its way out of. |
| Rolling Sharpe | Sharpet = mean(rdaily)sd(rdaily) × √365 Mean daily return over its deviation, annualized on a 365-day year because crypto has no weekend. Taken on the account marked to market every bar — open positions included, not just closed ones — and read off at each trade's exit. | Return per unit of the swing it took to get it. It is the heaviest weight in the composite score, because an account that doubled calmly and one that doubled violently are not the same result. |