{
 "id": "triple_bottom",
 "name": "Triple bottom",
 "family": "chart",
 "direction": "bullish",
 "page": "https://patternswizard.com/triple-bottom-pattern/",
 "data": "https://patternswizard.com/data/patterns/triple_bottom.json",
 "rule": "Three troughs within 10% of the pattern height of each other, separated by two peaks within 20% of each other. Prior decline: the close one pattern duration before the first trough lies at least 60% of the height above the highest peak. At least 3 ATR tall, at least 3 bars between swing points. Confirmed by a close above the highest peak within half the pattern duration. The standard grade, which accepts most counted occurrences, widens this: the three levels within 25%, the outer two within 15%, the two opposite swings within 30%, a prior move of at least 30% of the height over the two pattern durations before, a breakout within 0.75 of the duration. The first trough is a true low: from one first-leg duration before the pattern up to that trough, price never fell more than 10% of the pattern height below it.",
 "entry_rule": "Close above the highest peak between the troughs",
 "stop_rule": "Below the lowest of the three troughs",
 "trade_rule": "Entry at the close of the signal bar. Exit at the stop or the target, or at the open when a bar opens beyond either one; otherwise at the close after 100 bars. When one bar touches both the stop and the target, the loss is counted. No fees or slippage. A result above +2 R or below −1 R means a bar opened past the target or the stop, and the trade was closed at that open.",
 "generated_at": "2026-11-05T17:19:18+00:00",
 "code_version": "c2a1683f",
 "results": [
  {
   "market": "crypto",
   "tf": "1h",
   "side": "all",
   "n": 2864,
   "symbols": 533,
   "first": "2018-02-26",
   "last": "2026-10-28",
   "win10": 0.4416492,
   "baseWin10": 0.48170726,
   "excess10": {
    "mean": -0.0035697,
    "low": -0.00527191,
    "high": -0.00183444,
    "q": 0.01368474,
    "stable": true
   },
   "trade": {
    "n": 2851,
    "winRate": 0.16801122,
    "expectancyR": -0.00038392,
    "baseWinRate": 0.18166141,
    "baseExpectancyR": 0.00538852,
    "timeoutRate": 0.45808488,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 479,
    "stops": 1066,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     23,
     44,
     68
    ],
    "bars_to_stop": [
     20,
     37,
     63
    ],
    "bars_in_trade": [
     36,
     86,
     100
    ],
    "mfe_r": [
     0.29823159,
     0.69333333,
     1.43930072
    ],
    "stopped_after_1r": 0.12757974,
    "duration": [
     57,
     89,
     192
    ],
    "height_pct": [
     0.05043597,
     0.07477251,
     0.11211589
    ],
    "breakout_delay": [
     3,
     10,
     22
    ],
    "bars_to_pattern_target": [
     7,
     20,
     41
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.27592267,
    "baseFalseStartRate": 0.29812616,
    "throwbackRate": 0.75465075,
    "targetHitRate": 0.4683274
   },
   "confirmRate": 0.37924789,
   "oneEveryBars": 5126,
   "verdict": "edge_negative",
   "verdictTrade": "no_edge"
  },
  {
   "market": "forex",
   "tf": "1h",
   "side": "all",
   "n": 525,
   "symbols": 25,
   "first": "2012-02-10",
   "last": "2026-10-23",
   "win10": 0.5,
   "baseWin10": 0.50504033,
   "excess10": {
    "mean": -0.00013955,
    "low": -0.0004683,
    "high": 0.00015324,
    "q": 0.74772674,
    "stable": false
   },
   "trade": {
    "n": 523,
    "winRate": 0.08604207,
    "expectancyR": -0.09772196,
    "baseWinRate": 0.12332696,
    "baseExpectancyR": -0.01626132,
    "timeoutRate": 0.51051625,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 45,
    "stops": 211,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     34,
     49,
     66
    ],
    "bars_to_stop": [
     20,
     36,
     61
    ],
    "bars_in_trade": [
     39.5,
     100,
     100
    ],
    "mfe_r": [
     0.22296677,
     0.55784243,
     1.1202808
    ],
    "stopped_after_1r": 0.11374408,
    "duration": [
     57,
     108,
     202
    ],
    "height_pct": [
     0.00549952,
     0.00796597,
     0.0119609
    ],
    "breakout_delay": [
     3,
     9,
     23
    ],
    "bars_to_pattern_target": [
     12,
     25,
     49
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.32177264,
    "baseFalseStartRate": 0.31730159,
    "throwbackRate": 0.77394636,
    "targetHitRate": 0.37884615
   },
   "confirmRate": 0.4695279,
   "oneEveryBars": 4133,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "1h",
   "side": "all",
   "n": 3389,
   "symbols": 558,
   "first": "2012-02-10",
   "last": "2026-10-28",
   "win10": 0.45067927,
   "baseWin10": 0.48531816,
   "excess10": {
    "mean": -0.00303887,
    "low": -0.0044308,
    "high": -0.00149017,
    "q": 0.00946636,
    "stable": true
   },
   "trade": {
    "n": 3374,
    "winRate": 0.15530528,
    "expectancyR": -0.01547218,
    "baseWinRate": 0.17261905,
    "baseExpectancyR": 0.0020326,
    "timeoutRate": 0.46621221,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 524,
    "stops": 1277,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     24,
     45,
     68
    ],
    "bars_to_stop": [
     20,
     37,
     62
    ],
    "bars_in_trade": [
     36,
     89,
     100
    ],
    "mfe_r": [
     0.28115436,
     0.67096508,
     1.37964162
    ],
    "stopped_after_1r": 0.12529366,
    "duration": [
     57,
     92,
     192
    ],
    "height_pct": [
     0.0376569,
     0.0657277,
     0.10319076
    ],
    "breakout_delay": [
     3,
     10,
     22
    ],
    "bars_to_pattern_target": [
     7,
     21,
     42
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.28299643,
    "baseFalseStartRate": 0.30109669,
    "throwbackRate": 0.75763868,
    "targetHitRate": 0.45435435
   },
   "confirmRate": 0.38749118,
   "oneEveryBars": 4972,
   "verdict": "edge_negative",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "4h",
   "side": "all",
   "n": 672,
   "symbols": 349,
   "first": "2018-07-02",
   "last": "2026-10-28",
   "win10": 0.43432836,
   "baseWin10": 0.47415705,
   "excess10": {
    "mean": -0.01253388,
    "low": -0.0211876,
    "high": -0.00528264,
    "q": 0.07911155,
    "stable": true
   },
   "trade": {
    "n": 670,
    "winRate": 0.19701493,
    "expectancyR": 0.09280282,
    "baseWinRate": 0.20572139,
    "baseExpectancyR": 0.08775895,
    "timeoutRate": 0.47462687,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 132,
    "stops": 220,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     22,
     42.5,
     72.25
    ],
    "bars_to_stop": [
     24,
     48,
     78
    ],
    "bars_in_trade": [
     44.25,
     96.5,
     100
    ],
    "mfe_r": [
     0.31513112,
     0.77693212,
     1.59251651
    ],
    "stopped_after_1r": 0.17272727,
    "duration": [
     57,
     111,
     290.75
    ],
    "height_pct": [
     0.10985421,
     0.16281881,
     0.26722128
    ],
    "breakout_delay": [
     4,
     12,
     31
    ],
    "bars_to_pattern_target": [
     6,
     18,
     44
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.2357473,
    "baseFalseStartRate": 0.27723881,
    "throwbackRate": 0.80576631,
    "targetHitRate": 0.5
   },
   "confirmRate": 0.35908803,
   "oneEveryBars": 5463,
   "verdict": "weak_evidence",
   "verdictTrade": "no_edge"
  },
  {
   "market": "forex",
   "tf": "4h",
   "side": "all",
   "n": 151,
   "symbols": 25,
   "first": "2012-02-03",
   "last": "2026-09-09",
   "win10": 0.47019868,
   "baseWin10": 0.50342255,
   "excess10": {
    "mean": -0.00006194,
    "low": -0.00094967,
    "high": 0.00091148,
    "q": 0.96703809,
    "stable": false
   },
   "trade": {
    "n": 151,
    "winRate": 0.11258278,
    "expectancyR": 0.07470385,
    "baseWinRate": 0.12472406,
    "baseExpectancyR": 0.06504702,
    "timeoutRate": 0.55629139,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 17,
    "stops": 50,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     41,
     58,
     72
    ],
    "bars_to_stop": [
     18,
     37.5,
     54
    ],
    "bars_in_trade": [
     41.5,
     100,
     100
    ],
    "mfe_r": [
     0.27460711,
     0.6785714,
     1.16443676
    ],
    "stopped_after_1r": 0.06,
    "duration": [
     53,
     124,
     232
    ],
    "height_pct": [
     0.01156359,
     0.01586658,
     0.02462131
    ],
    "breakout_delay": [
     4,
     10,
     23.5
    ],
    "bars_to_pattern_target": [
     17,
     31,
     60
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.25874126,
    "baseFalseStartRate": 0.28697572,
    "throwbackRate": 0.77241379,
    "targetHitRate": 0.43046358
   },
   "confirmRate": 0.47107438,
   "oneEveryBars": 3503,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "4h",
   "side": "all",
   "n": 823,
   "symbols": 374,
   "first": "2012-02-03",
   "last": "2026-10-28",
   "win10": 0.4409257,
   "baseWin10": 0.47953962,
   "excess10": {
    "mean": -0.01024001,
    "low": -0.01705038,
    "high": -0.00380832,
    "q": 0.06447752,
    "stable": true
   },
   "trade": {
    "n": 821,
    "winRate": 0.18148599,
    "expectancyR": 0.08947402,
    "baseWinRate": 0.1908242,
    "baseExpectancyR": 0.08358173,
    "timeoutRate": 0.48964677,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 149,
    "stops": 270,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     22,
     44,
     72
    ],
    "bars_to_stop": [
     23,
     45.5,
     74
    ],
    "bars_in_trade": [
     44,
     99,
     100
    ],
    "mfe_r": [
     0.30422536,
     0.76634216,
     1.52332795
    ],
    "stopped_after_1r": 0.15185185,
    "duration": [
     56,
     113,
     269.5
    ],
    "height_pct": [
     0.07282276,
     0.13388544,
     0.24130435
    ],
    "breakout_delay": [
     4,
     12,
     30
    ],
    "bars_to_pattern_target": [
     8,
     21,
     47
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.23989899,
    "baseFalseStartRate": 0.27902964,
    "throwbackRate": 0.79975124,
    "targetHitRate": 0.48702101
   },
   "confirmRate": 0.37063334,
   "oneEveryBars": 5104,
   "verdict": "weak_evidence",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "1d",
   "side": "all",
   "n": 178,
   "symbols": 141,
   "first": "2019-11-27",
   "last": "2026-10-11",
   "win10": 0.59550562,
   "baseWin10": 0.44527566,
   "excess10": {
    "mean": -0.01037114,
    "low": -0.05441943,
    "high": 0.01320873,
    "q": 0.84728468,
    "stable": false
   },
   "trade": {
    "n": 175,
    "winRate": 0.29714286,
    "expectancyR": 0.12532575,
    "baseWinRate": 0.25571429,
    "baseExpectancyR": 0.03701009,
    "timeoutRate": 0.28,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 52,
    "stops": 74,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     13,
     19.5,
     35.75
    ],
    "bars_to_stop": [
     24,
     61,
     71
    ],
    "bars_in_trade": [
     22.5,
     64,
     100
    ],
    "mfe_r": [
     0.34943676,
     0.91203105,
     2.0608474
    ],
    "stopped_after_1r": 0.21621622,
    "duration": [
     68.25,
     116,
     152.75
    ],
    "height_pct": [
     0.27555823,
     0.35286947,
     0.44724324
    ],
    "breakout_delay": [
     6,
     13,
     21
    ],
    "bars_to_pattern_target": [
     5,
     11,
     21
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.26451613,
    "baseFalseStartRate": 0.26647287,
    "throwbackRate": 0.76506024,
    "targetHitRate": 0.58959538
   },
   "confirmRate": 0.41982507,
   "oneEveryBars": 3382,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "stocks",
   "tf": "1d",
   "side": "all",
   "n": 1714,
   "symbols": 972,
   "first": "1975-05-02",
   "last": "2026-10-23",
   "win10": 0.51784669,
   "baseWin10": 0.53747742,
   "excess10": {
    "mean": -0.00283025,
    "low": -0.00648803,
    "high": 0.00087069,
    "q": 0.43459732,
    "stable": true
   },
   "trade": {
    "n": 1684,
    "winRate": 0.1763658,
    "expectancyR": 0.18606586,
    "baseWinRate": 0.20177263,
    "baseExpectancyR": 0.19093566,
    "timeoutRate": 0.48337292,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 297,
    "stops": 573,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     35,
     56,
     75
    ],
    "bars_to_stop": [
     18,
     33,
     61
    ],
    "bars_in_trade": [
     39,
     96,
     100
    ],
    "mfe_r": [
     0.33480588,
     0.78818151,
     1.63111356
    ],
    "stopped_after_1r": 0.09424084,
    "duration": [
     49,
     76,
     156
    ],
    "height_pct": [
     0.09636211,
     0.13726419,
     0.22149611
    ],
    "breakout_delay": [
     3,
     8,
     18
    ],
    "bars_to_pattern_target": [
     12,
     27,
     49.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.25424795,
    "baseFalseStartRate": 0.24651346,
    "throwbackRate": 0.7560241,
    "targetHitRate": 0.49821853
   },
   "confirmRate": 0.52767374,
   "oneEveryBars": 4270,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1d",
   "side": "all",
   "n": 54,
   "symbols": 33,
   "first": "2002-03-18",
   "last": "2026-08-07",
   "win10": 0.62962963,
   "baseWin10": 0.55934292,
   "excess10": {
    "mean": 0.0026172,
    "low": -0.00678984,
    "high": 0.01227063,
    "q": 0.84873108,
    "stable": true
   },
   "trade": {
    "n": 54,
    "winRate": 0.09259259,
    "expectancyR": 0.25616997,
    "baseWinRate": 0.14506173,
    "baseExpectancyR": 0.23065169,
    "timeoutRate": 0.59259259,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 5,
    "stops": 17,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     64,
     84,
     85
    ],
    "bars_to_stop": [
     22,
     49,
     63
    ],
    "bars_in_trade": [
     63.25,
     100,
     100
    ],
    "mfe_r": [
     0.47781963,
     0.83427,
     1.39101493
    ],
    "stopped_after_1r": 0.17647059,
    "duration": [
     55,
     101.5,
     195
    ],
    "height_pct": [
     0.0891386,
     0.11741896,
     0.15701152
    ],
    "breakout_delay": [
     5,
     12,
     23.5
    ],
    "bars_to_pattern_target": [
     19.5,
     33,
     63.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.19607843,
    "baseFalseStartRate": 0.23302469,
    "throwbackRate": 0.81132075,
    "targetHitRate": 0.5
   },
   "confirmRate": 0.5,
   "oneEveryBars": 4695,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "indices",
   "tf": "1d",
   "side": "all",
   "n": 28,
   "symbols": 12,
   "first": "1973-07-25",
   "last": "2025-01-22",
   "win10": 0.60714286,
   "baseWin10": 0.57078438,
   "excess10": {
    "mean": 0.0044124,
    "low": -0.00563344,
    "high": 0.01485726,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 28,
    "winRate": 0.17857143,
    "expectancyR": 0.39140658,
    "baseWinRate": 0.08928571,
    "baseExpectancyR": 0.13012081,
    "timeoutRate": 0.5,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 5,
    "stops": 9,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     75,
     79,
     80
    ],
    "bars_to_stop": [
     19,
     47,
     63
    ],
    "bars_in_trade": [
     59.25,
     96.5,
     100
    ],
    "mfe_r": [
     0.2831265,
     0.82142425,
     1.63617656
    ],
    "stopped_after_1r": 0.11111111,
    "duration": [
     59.5,
     82.5,
     181.5
    ],
    "height_pct": [
     0.06666387,
     0.10204906,
     0.17750514
    ],
    "breakout_delay": [
     5,
     10,
     20.75
    ],
    "bars_to_pattern_target": [
     19,
     35,
     48
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.25,
    "baseFalseStartRate": 0.28571429,
    "throwbackRate": 0.64285714,
    "targetHitRate": 0.46428571
   },
   "confirmRate": 0.39655172,
   "oneEveryBars": 4937,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "forex",
   "tf": "1d",
   "side": "all",
   "n": 29,
   "symbols": 17,
   "first": "2013-08-20",
   "last": "2025-12-05",
   "win10": 0.65517241,
   "baseWin10": 0.50609897,
   "excess10": {
    "mean": 0.00359888,
    "low": -0.003243,
    "high": 0.01146955,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 29,
    "winRate": 0.20689655,
    "expectancyR": 0.25991859,
    "baseWinRate": 0.15804598,
    "baseExpectancyR": 0.00016635,
    "timeoutRate": 0.55172414,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 6,
    "stops": 7,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     26.5,
     32.5,
     55.75
    ],
    "bars_to_stop": [
     24.5,
     34,
     52.5
    ],
    "bars_in_trade": [
     37,
     100,
     100
    ],
    "mfe_r": [
     0.58669549,
     0.84732598,
     1.69908011
    ],
    "stopped_after_1r": 0,
    "duration": [
     54,
     97,
     142
    ],
    "height_pct": [
     0.02958455,
     0.03779995,
     0.05362473
    ],
    "breakout_delay": [
     4,
     10,
     25
    ],
    "bars_to_pattern_target": [
     10,
     20,
     31
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.10714286,
    "baseFalseStartRate": 0.27873563,
    "throwbackRate": 0.68965517,
    "targetHitRate": 0.44827586
   },
   "confirmRate": 0.58181818,
   "oneEveryBars": 3048,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1d",
   "side": "all",
   "n": 19,
   "symbols": 11,
   "first": "2001-08-15",
   "last": "2026-03-02",
   "win10": 0.47368421,
   "baseWin10": 0.50995474,
   "excess10": {
    "mean": -0.02185726,
    "low": -0.07804926,
    "high": 0.02779913,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 19,
    "winRate": 0.21052632,
    "expectancyR": 0.19070325,
    "baseWinRate": 0.28947369,
    "baseExpectancyR": 0.39520671,
    "timeoutRate": 0.42105263,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 4,
    "stops": 7,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     66.75,
     85,
     87.25
    ],
    "bars_to_stop": [
     14.5,
     16,
     20
    ],
    "bars_in_trade": [
     17,
     86,
     100
    ],
    "mfe_r": [
     0.21640854,
     0.50860173,
     1.37924892
    ],
    "stopped_after_1r": 0,
    "duration": [
     57.5,
     87,
     232.5
    ],
    "height_pct": [
     0.0766072,
     0.16407152,
     0.22879658
    ],
    "breakout_delay": [
     3,
     6,
     13.5
    ],
    "bars_to_pattern_target": [
     46.75,
     66,
     93
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.4,
    "baseFalseStartRate": 0.13157895,
    "throwbackRate": 0.76470588,
    "targetHitRate": 0.42105263
   },
   "confirmRate": 0.46153846,
   "oneEveryBars": 4033,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "1d",
   "side": "all",
   "n": 2022,
   "symbols": 1186,
   "first": "1973-07-25",
   "last": "2026-10-23",
   "win10": 0.53049083,
   "baseWin10": 0.52967797,
   "excess10": {
    "mean": -0.00334384,
    "low": -0.0076521,
    "high": 0.00064105,
    "q": 0.41956648,
    "stable": true
   },
   "trade": {
    "n": 1989,
    "winRate": 0.18552036,
    "expectancyR": 0.18663674,
    "baseWinRate": 0.20359658,
    "baseExpectancyR": 0.17677757,
    "timeoutRate": 0.46907994,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 369,
    "stops": 687,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     28,
     52,
     74
    ],
    "bars_to_stop": [
     18,
     35,
     63
    ],
    "bars_in_trade": [
     38,
     92,
     100
    ],
    "mfe_r": [
     0.33915979,
     0.80888927,
     1.67233849
    ],
    "stopped_after_1r": 0.1077147,
    "duration": [
     51,
     81,
     157.75
    ],
    "height_pct": [
     0.09734214,
     0.14547002,
     0.23882631
    ],
    "breakout_delay": [
     3,
     9,
     18
    ],
    "bars_to_pattern_target": [
     11,
     25,
     48
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.25241158,
    "baseFalseStartRate": 0.24779056,
    "throwbackRate": 0.75576037,
    "targetHitRate": 0.50427781
   },
   "confirmRate": 0.51293178,
   "oneEveryBars": 4193,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "1w",
   "side": "all",
   "n": 10,
   "symbols": 10,
   "first": "2020-07-27",
   "last": "2024-11-25",
   "win10": 0.5,
   "baseWin10": 0.40885036,
   "excess10": {
    "mean": -0.04969737,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 10,
    "winRate": 0.4,
    "expectancyR": 0.25420199,
    "baseWinRate": 0.50833334,
    "baseExpectancyR": 0.59506423,
    "timeoutRate": 0.1,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 4,
    "stops": 5,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     19.75,
     38.5,
     60.5
    ],
    "bars_to_stop": [
     29,
     29,
     64
    ],
    "bars_in_trade": [
     23.75,
     42,
     73.75
    ],
    "mfe_r": [
     0.52920175,
     1.46880072,
     2.16524303
    ],
    "stopped_after_1r": 0.4,
    "duration": [
     67.75,
     101,
     130
    ],
    "height_pct": [
     0.53609689,
     0.62346247,
     0.63948695
    ],
    "breakout_delay": [
     2.25,
     6,
     7
    ],
    "bars_to_pattern_target": [
     5,
     8,
     19
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0,
    "baseFalseStartRate": 0.11904762,
    "throwbackRate": 0.75,
    "targetHitRate": 0.7
   },
   "confirmRate": 0.28089888,
   "oneEveryBars": 6336,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "stocks",
   "tf": "1w",
   "side": "all",
   "n": 222,
   "symbols": 204,
   "first": "1990-05-07",
   "last": "2026-08-10",
   "win10": 0.55405405,
   "baseWin10": 0.55966113,
   "excess10": {
    "mean": 0.0242915,
    "low": -0.00598677,
    "high": 0.08105715,
    "q": 0.68591723,
    "stable": true
   },
   "trade": {
    "n": 201,
    "winRate": 0.33333333,
    "expectancyR": 0.54155294,
    "baseWinRate": 0.27487562,
    "baseExpectancyR": 0.32921133,
    "timeoutRate": 0.37810945,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 67,
    "stops": 58,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     38,
     51,
     72.5
    ],
    "bars_to_stop": [
     22,
     37.5,
     57.5
    ],
    "bars_in_trade": [
     38,
     76,
     100
    ],
    "mfe_r": [
     0.59588951,
     1.36895216,
     2.03714681
    ],
    "stopped_after_1r": 0.22413793,
    "duration": [
     52,
     72,
     131.5
    ],
    "height_pct": [
     0.21908724,
     0.30633438,
     0.42503135
    ],
    "breakout_delay": [
     4,
     8,
     18
    ],
    "bars_to_pattern_target": [
     16,
     28,
     44
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.17610063,
    "baseFalseStartRate": 0.26046699,
    "throwbackRate": 0.74731183,
    "targetHitRate": 0.64215686
   },
   "confirmRate": 0.50631313,
   "oneEveryBars": 6208,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1w",
   "side": "all",
   "n": 8,
   "symbols": 8,
   "first": "2003-05-26",
   "last": "2025-09-29",
   "win10": 0.875,
   "baseWin10": 0.63792418,
   "excess10": {
    "mean": 0.02270448,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 7,
    "winRate": 0.28571429,
    "expectancyR": 1.09370188,
    "baseWinRate": 0.17857143,
    "baseExpectancyR": 0.55920569,
    "timeoutRate": 0.57142857,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 1,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     54.5,
     67,
     79.5
    ],
    "bars_to_stop": [
     8,
     8,
     8
    ],
    "bars_in_trade": [
     67,
     100,
     100
    ],
    "mfe_r": [
     1.31826931,
     1.61727464,
     1.82648879
    ],
    "stopped_after_1r": 0,
    "duration": [
     61,
     62.5,
     88
    ],
    "height_pct": [
     0.17821789,
     0.2017487,
     0.23169973
    ],
    "breakout_delay": [
     10,
     11,
     12.75
    ],
    "bars_to_pattern_target": [
     30.5,
     33,
     35
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.16666667,
    "baseFalseStartRate": 0.20238096,
    "throwbackRate": 0.33333333,
    "targetHitRate": 0.875
   },
   "confirmRate": 0.8125,
   "oneEveryBars": 6370,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "indices",
   "tf": "1w",
   "side": "all",
   "n": 5,
   "symbols": 5,
   "first": "2003-06-02",
   "last": "2023-01-02",
   "win10": 1,
   "baseWin10": 0.62036425,
   "excess10": {
    "mean": 0.00543305,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 5,
    "winRate": 0.4,
    "expectancyR": 1.16597783,
    "baseWinRate": 0.35,
    "baseExpectancyR": 0.54168873,
    "timeoutRate": 0.6,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 0,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     38.25,
     56.5,
     74.75
    ],
    "bars_to_stop": null,
    "bars_in_trade": [
     93,
     100,
     100
    ],
    "mfe_r": [
     1.10140085,
     1.13444698,
     2.00340366
    ],
    "stopped_after_1r": null,
    "duration": [
     63,
     63,
     64
    ],
    "height_pct": [
     0.18066174,
     0.19880335,
     0.20387915
    ],
    "breakout_delay": [
     11,
     11,
     12
    ],
    "bars_to_pattern_target": [
     39,
     61,
     76
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0,
    "baseFalseStartRate": 0.31666667,
    "throwbackRate": 0.6,
    "targetHitRate": 1
   },
   "confirmRate": 0.75,
   "oneEveryBars": 5634,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "forex",
   "tf": "1w",
   "side": "all",
   "n": 4,
   "symbols": 4,
   "first": "2013-09-09",
   "last": "2020-02-24",
   "win10": 0.75,
   "baseWin10": 0.49559471,
   "excess10": {
    "mean": 0.0252561,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 4,
    "winRate": 0.5,
    "expectancyR": 0.68229241,
    "baseWinRate": 0.14583334,
    "baseExpectancyR": -0.02451923,
    "timeoutRate": 0.25,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 1,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     10.25,
     17.5,
     24.75
    ],
    "bars_to_stop": [
     78,
     78,
     78
    ],
    "bars_in_trade": [
     24.75,
     55,
     83.5
    ],
    "mfe_r": [
     1.07764058,
     1.64761651,
     2.27351731
    ],
    "stopped_after_1r": 1,
    "duration": [
     38.25,
     49,
     86.25
    ],
    "height_pct": [
     0.05226218,
     0.06671512,
     0.08498641
    ],
    "breakout_delay": [
     4,
     5.5,
     8.25
    ],
    "bars_to_pattern_target": [
     7.5,
     13,
     17.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0,
    "baseFalseStartRate": 0.125,
    "throwbackRate": 0.75,
    "targetHitRate": 0.75
   },
   "confirmRate": 0.38461538,
   "oneEveryBars": 4320,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1w",
   "side": "all",
   "n": 5,
   "symbols": 5,
   "first": "2005-03-14",
   "last": "2026-03-02",
   "win10": 0.6,
   "baseWin10": 0.52801767,
   "excess10": {
    "mean": -0.01477301,
    "low": -0.11926,
    "high": 0.08153554,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 3,
    "winRate": 0.33333333,
    "expectancyR": 0.80066117,
    "baseWinRate": 0.33333333,
    "baseExpectancyR": 0.54113948,
    "timeoutRate": 0.66666667,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 1,
    "stops": 0,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     18,
     18,
     18
    ],
    "bars_to_stop": null,
    "bars_in_trade": [
     59,
     100,
     100
    ],
    "mfe_r": [
     0.28918907,
     0.57837814,
     1.38036558
    ],
    "stopped_after_1r": null,
    "duration": [
     121,
     129,
     130
    ],
    "height_pct": [
     0.22255963,
     0.27169198,
     0.41641331
    ],
    "breakout_delay": [
     5,
     11,
     19
    ],
    "bars_to_pattern_target": [
     11,
     11,
     11
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0,
    "baseFalseStartRate": 0.26666667,
    "throwbackRate": 0.33333333,
    "targetHitRate": 0.33333333
   },
   "confirmRate": 0.625,
   "oneEveryBars": 3123,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "1w",
   "side": "all",
   "n": 254,
   "symbols": 236,
   "first": "1990-05-07",
   "last": "2026-08-10",
   "win10": 0.57480315,
   "baseWin10": 0.5557518,
   "excess10": {
    "mean": 0.02020354,
    "low": -0.00556407,
    "high": 0.0701893,
    "q": 0.71663523,
    "stable": false
   },
   "trade": {
    "n": 230,
    "winRate": 0.33913043,
    "expectancyR": 0.56526572,
    "baseWinRate": 0.28224638,
    "baseExpectancyR": 0.3490015,
    "timeoutRate": 0.37826087,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 78,
    "stops": 65,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     33.5,
     50,
     72.75
    ],
    "bars_to_stop": [
     22,
     37,
     59
    ],
    "bars_in_trade": [
     38,
     76,
     100
    ],
    "mfe_r": [
     0.60527922,
     1.37768155,
     2.03804106
    ],
    "stopped_after_1r": 0.24615385,
    "duration": [
     53,
     72,
     130
    ],
    "height_pct": [
     0.2079304,
     0.30326454,
     0.43386625
    ],
    "breakout_delay": [
     4,
     8,
     16.75
    ],
    "bars_to_pattern_target": [
     16,
     27.5,
     44
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.16022099,
    "baseFalseStartRate": 0.2535461,
    "throwbackRate": 0.72641509,
    "targetHitRate": 0.65811966
   },
   "confirmRate": 0.49136069,
   "oneEveryBars": 6116,
   "verdict": "no_edge",
   "verdictTrade": "weak_evidence"
  }
 ],
 "attribution": "PatternsWizard (https://patternswizard.com/), pattern statistics",
 "license": {
  "name": "© PatternsWizard, all rights reserved",
  "url": "https://patternswizard.com/open-data/#license"
 },
 "disclaimer": "Historical statistics before fees and slippage. Not investment advice: past results do not predict future ones."
}