{
 "id": "bull_flag",
 "name": "Bull flag",
 "family": "chart",
 "direction": "bullish",
 "page": "https://patternswizard.com/flag-pattern/",
 "data": "https://patternswizard.com/data/patterns/bull_flag.json",
 "rule": "A pole (one rising swing, at least 3 ATR, at least 0.4 ATR per bar), then two peaks and troughs forming a flat or falling parallel channel (slopes within 20%) that retraces at most 50% of the pole, lasts at most 1.5 times the pole and keeps every close within 10% of its height from its lines. At least 3 bars between swing points, breakout within half the flag duration. The standard grade widens this: pole up to 60 bars at 0.3 ATR per bar or more, a pullback of up to 60% of the pole lasting up to 2 times the pole, a breakout within 0.75 of the duration. The pole starts from a true low: over the pole's duration before it, price never fell more than 10% of the pole below its start.",
 "entry_rule": "Close outside the lines, in the direction of the breakout",
 "stop_rule": "On the opposite line, at its level on the breakout bar",
 "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": "up",
   "n": 1076,
   "symbols": 396,
   "first": "2018-01-10",
   "last": "2026-10-19",
   "win10": 0.4972119,
   "baseWin10": 0.4844595,
   "excess10": {
    "mean": 0.0002007,
    "low": -0.00135654,
    "high": 0.0020839,
    "q": 0.94027675,
    "stable": true
   },
   "trade": {
    "n": 1075,
    "winRate": 0.2772093,
    "expectancyR": -0.04730907,
    "baseWinRate": 0.28906977,
    "baseExpectancyR": 0.00934085,
    "timeoutRate": 0.09674419,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 298,
    "stops": 673,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     14,
     23,
     44.75
    ],
    "bars_to_stop": [
     9,
     21,
     42
    ],
    "bars_in_trade": [
     12,
     25,
     55
    ],
    "mfe_r": [
     0.31077072,
     0.92529267,
     2.02475595
    ],
    "stopped_after_1r": 0.22734027,
    "duration": [
     32,
     42,
     51
    ],
    "height_pct": [
     0.06900381,
     0.09852192,
     0.14735553
    ],
    "breakout_delay": [
     0,
     2,
     5
    ],
    "bars_to_pattern_target": [
     12.25,
     23,
     42
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.5227907,
    "baseFalseStartRate": 0.51293371,
    "throwbackRate": 0.64465116,
    "targetHitRate": 0.25559701
   },
   "confirmRate": 0.77478992,
   "oneEveryBars": 13644,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "1h",
   "side": "down",
   "n": 318,
   "symbols": 223,
   "first": "2018-07-03",
   "last": "2026-10-19",
   "win10": 0.50314465,
   "baseWin10": 0.50694916,
   "excess10": {
    "mean": 0.00151277,
    "low": -0.00023808,
    "high": 0.00328285,
    "q": 0.40233372,
    "stable": true
   },
   "trade": {
    "n": 318,
    "winRate": 0.25471698,
    "expectancyR": -0.02681657,
    "baseWinRate": 0.26755765,
    "baseExpectancyR": 0.01095028,
    "timeoutRate": 0.1572327,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 81,
    "stops": 187,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     17,
     33,
     68
    ],
    "bars_to_stop": [
     11,
     22,
     46.5
    ],
    "bars_in_trade": [
     15,
     32,
     71
    ],
    "mfe_r": [
     0.33363985,
     0.9582051,
     2.00464398
    ],
    "stopped_after_1r": 0.22459893,
    "duration": [
     33,
     43,
     54
    ],
    "height_pct": [
     0.07183101,
     0.10212881,
     0.13920572
    ],
    "breakout_delay": [
     2,
     4,
     8
    ],
    "bars_to_pattern_target": [
     18,
     33,
     70
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.50314465,
    "baseFalseStartRate": 0.50681342,
    "throwbackRate": 0.64779874,
    "targetHitRate": 0.25471698
   },
   "confirmRate": 0.77478992,
   "oneEveryBars": 46168,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "forex",
   "tf": "1h",
   "side": "up",
   "n": 169,
   "symbols": 25,
   "first": "2012-02-02",
   "last": "2026-09-17",
   "win10": 0.50295858,
   "baseWin10": 0.50703595,
   "excess10": {
    "mean": -0.00006659,
    "low": -0.00050845,
    "high": 0.00040107,
    "q": 0.92412125,
    "stable": true
   },
   "trade": {
    "n": 169,
    "winRate": 0.29585799,
    "expectancyR": 0.05060484,
    "baseWinRate": 0.27564103,
    "baseExpectancyR": 0.00196753,
    "timeoutRate": 0.11242604,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 50,
    "stops": 100,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     23.25,
     33,
     53.75
    ],
    "bars_to_stop": [
     8.75,
     19,
     33.25
    ],
    "bars_in_trade": [
     12,
     29,
     53
    ],
    "mfe_r": [
     0.32487574,
     0.85981309,
     2.0312624
    ],
    "stopped_after_1r": 0.13,
    "duration": [
     31,
     41,
     52
    ],
    "height_pct": [
     0.00808864,
     0.01194325,
     0.01518023
    ],
    "breakout_delay": [
     0,
     2,
     4
    ],
    "bars_to_pattern_target": [
     23,
     34,
     66.75
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.5443787,
    "baseFalseStartRate": 0.5142998,
    "throwbackRate": 0.64497041,
    "targetHitRate": 0.27380952
   },
   "confirmRate": 0.84198113,
   "oneEveryBars": 12838,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "forex",
   "tf": "1h",
   "side": "down",
   "n": 69,
   "symbols": 24,
   "first": "2012-02-24",
   "last": "2026-10-09",
   "win10": 0.42028986,
   "baseWin10": 0.4921144,
   "excess10": {
    "mean": -0.00073452,
    "low": -0.00171608,
    "high": 0.00020667,
    "q": 0.46218841,
    "stable": false
   },
   "trade": {
    "n": 69,
    "winRate": 0.30434783,
    "expectancyR": 0.12899014,
    "baseWinRate": 0.31521739,
    "baseExpectancyR": 0.14306349,
    "timeoutRate": 0.17391304,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 21,
    "stops": 36,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     25,
     43,
     55
    ],
    "bars_to_stop": [
     10.75,
     18,
     27.5
    ],
    "bars_in_trade": [
     15,
     29,
     73
    ],
    "mfe_r": [
     0.35534698,
     0.96837348,
     2.01697063
    ],
    "stopped_after_1r": 0.11111111,
    "duration": [
     35,
     46,
     58
    ],
    "height_pct": [
     0.0069254,
     0.01166264,
     0.01638049
    ],
    "breakout_delay": [
     2,
     4,
     6
    ],
    "bars_to_pattern_target": [
     29,
     42,
     51
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.46376812,
    "baseFalseStartRate": 0.49516908,
    "throwbackRate": 0.63768116,
    "targetHitRate": 0.24637681
   },
   "confirmRate": 0.84198113,
   "oneEveryBars": 31445,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "1h",
   "side": "up",
   "n": 1245,
   "symbols": 421,
   "first": "2012-02-02",
   "last": "2026-10-19",
   "win10": 0.49799197,
   "baseWin10": 0.48752409,
   "excess10": {
    "mean": 0.00016442,
    "low": -0.00129981,
    "high": 0.00182911,
    "q": 0.94810551,
    "stable": false
   },
   "trade": {
    "n": 1244,
    "winRate": 0.27974277,
    "expectancyR": -0.03400726,
    "baseWinRate": 0.28724544,
    "baseExpectancyR": 0.00833917,
    "timeoutRate": 0.0988746,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 348,
    "stops": 773,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     15,
     25.5,
     46
    ],
    "bars_to_stop": [
     9,
     21,
     41
    ],
    "bars_in_trade": [
     12,
     25,
     55
    ],
    "mfe_r": [
     0.31227626,
     0.923361,
     2.02656806
    ],
    "stopped_after_1r": 0.21474774,
    "duration": [
     32,
     42,
     51
    ],
    "height_pct": [
     0.05329082,
     0.08886346,
     0.13793103
    ],
    "breakout_delay": [
     0,
     2,
     5
    ],
    "bars_to_pattern_target": [
     14,
     25,
     47
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.52572347,
    "baseFalseStartRate": 0.51311914,
    "throwbackRate": 0.64469453,
    "targetHitRate": 0.25806452
   },
   "confirmRate": 0.78317152,
   "oneEveryBars": 13535,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "1h",
   "side": "down",
   "n": 387,
   "symbols": 247,
   "first": "2012-02-24",
   "last": "2026-10-19",
   "win10": 0.48837209,
   "baseWin10": 0.50430421,
   "excess10": {
    "mean": 0.00111209,
    "low": -0.00043972,
    "high": 0.00248051,
    "q": 0.48064734,
    "stable": true
   },
   "trade": {
    "n": 387,
    "winRate": 0.26356589,
    "expectancyR": 0.00096292,
    "baseWinRate": 0.27605512,
    "baseExpectancyR": 0.03450535,
    "timeoutRate": 0.16020672,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 102,
    "stops": 223,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     19,
     34.5,
     61
    ],
    "bars_to_stop": [
     11,
     21,
     42
    ],
    "bars_in_trade": [
     15,
     32,
     71
    ],
    "mfe_r": [
     0.33509739,
     0.96317279,
     2.00738788
    ],
    "stopped_after_1r": 0.20627803,
    "duration": [
     33,
     44,
     55
    ],
    "height_pct": [
     0.05027116,
     0.09001374,
     0.131119
    ],
    "breakout_delay": [
     2,
     4,
     7
    ],
    "bars_to_pattern_target": [
     20,
     37,
     69
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.49612403,
    "baseFalseStartRate": 0.5047373,
    "throwbackRate": 0.64599483,
    "targetHitRate": 0.25322997
   },
   "confirmRate": 0.78317152,
   "oneEveryBars": 43543,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "4h",
   "side": "up",
   "n": 171,
   "symbols": 131,
   "first": "2018-07-07",
   "last": "2026-08-15",
   "win10": 0.46783626,
   "baseWin10": 0.47591858,
   "excess10": {
    "mean": 0.00485975,
    "low": -0.00552926,
    "high": 0.01580982,
    "q": 0.7512249,
    "stable": false
   },
   "trade": {
    "n": 171,
    "winRate": 0.29824561,
    "expectancyR": -0.02293944,
    "baseWinRate": 0.30506823,
    "baseExpectancyR": 0.03035561,
    "timeoutRate": 0.0877193,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 51,
    "stops": 105,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     13.5,
     20,
     34
    ],
    "bars_to_stop": [
     9,
     16,
     37
    ],
    "bars_in_trade": [
     10,
     21,
     47.5
    ],
    "mfe_r": [
     0.32299718,
     1.10552764,
     2.05221796
    ],
    "stopped_after_1r": 0.26666667,
    "duration": [
     32,
     37,
     45
    ],
    "height_pct": [
     0.15064985,
     0.20297313,
     0.25796282
    ],
    "breakout_delay": [
     0,
     2,
     5.5
    ],
    "bars_to_pattern_target": [
     11,
     22,
     33.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.4502924,
    "baseFalseStartRate": 0.48927875,
    "throwbackRate": 0.63157895,
    "targetHitRate": 0.29824561
   },
   "confirmRate": 0.81533101,
   "oneEveryBars": 21469,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "4h",
   "side": "down",
   "n": 57,
   "symbols": 54,
   "first": "2018-09-25",
   "last": "2026-07-08",
   "win10": 0.54385965,
   "baseWin10": 0.52198835,
   "excess10": {
    "mean": 0.00087327,
    "low": -0.01018671,
    "high": 0.00921794,
    "q": 0.95676596,
    "stable": false
   },
   "trade": {
    "n": 57,
    "winRate": 0.21052632,
    "expectancyR": 0.07376027,
    "baseWinRate": 0.25438596,
    "baseExpectancyR": 0.07715388,
    "timeoutRate": 0.24561404,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 12,
    "stops": 31,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     17.75,
     27,
     52.5
    ],
    "bars_to_stop": [
     9.5,
     20,
     33.5
    ],
    "bars_in_trade": [
     14,
     33,
     94
    ],
    "mfe_r": [
     0.48858449,
     0.95335823,
     1.85080647
    ],
    "stopped_after_1r": 0.12903226,
    "duration": [
     33,
     42,
     49
    ],
    "height_pct": [
     0.14167243,
     0.20565553,
     0.27002966
    ],
    "breakout_delay": [
     2,
     5,
     7
    ],
    "bars_to_pattern_target": [
     15,
     20,
     45
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.45614035,
    "baseFalseStartRate": 0.47076023,
    "throwbackRate": 0.66666667,
    "targetHitRate": 0.22807018
   },
   "confirmRate": 0.81533101,
   "oneEveryBars": 64408,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "forex",
   "tf": "4h",
   "side": "up",
   "n": 59,
   "symbols": 21,
   "first": "2012-02-15",
   "last": "2026-01-12",
   "win10": 0.47457627,
   "baseWin10": 0.50766069,
   "excess10": {
    "mean": -0.0023669,
    "low": -0.00413291,
    "high": -0.00038534,
    "q": 0.1821762,
    "stable": true
   },
   "trade": {
    "n": 59,
    "winRate": 0.25423729,
    "expectancyR": 0.03690014,
    "baseWinRate": 0.21610169,
    "baseExpectancyR": -0.15339102,
    "timeoutRate": 0.18644068,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 15,
    "stops": 33,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     33,
     46,
     52.5
    ],
    "bars_to_stop": [
     7,
     12,
     32
    ],
    "bars_in_trade": [
     11,
     34,
     76
    ],
    "mfe_r": [
     0.26092531,
     0.75235111,
     1.98276579
    ],
    "stopped_after_1r": 0.21212121,
    "duration": [
     34,
     40,
     51.5
    ],
    "height_pct": [
     0.01543808,
     0.02105239,
     0.0277313
    ],
    "breakout_delay": [
     1,
     2,
     5
    ],
    "bars_to_pattern_target": [
     28,
     45,
     52
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.5,
    "baseFalseStartRate": 0.58050848,
    "throwbackRate": 0.5862069,
    "targetHitRate": 0.22033898
   },
   "confirmRate": 0.75,
   "oneEveryBars": 8966,
   "verdict": "weak_evidence",
   "verdictTrade": "no_edge"
  },
  {
   "market": "forex",
   "tf": "4h",
   "side": "down",
   "n": 14,
   "symbols": 11,
   "first": "2012-08-10",
   "last": "2025-05-07",
   "win10": 0.5,
   "baseWin10": 0.49488838,
   "excess10": {
    "mean": 0.00241104,
    "low": -0.00193448,
    "high": 0.00745909,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 14,
    "winRate": 0.21428571,
    "expectancyR": -0.28731561,
    "baseWinRate": 0.30357143,
    "baseExpectancyR": 0.06301572,
    "timeoutRate": 0.07142857,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 3,
    "stops": 10,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     7.5,
     10,
     41
    ],
    "bars_to_stop": [
     7.75,
     15.5,
     25
    ],
    "bars_in_trade": [
     7.75,
     15.5,
     28.25
    ],
    "mfe_r": [
     0.18378749,
     0.43577404,
     1.16697532
    ],
    "stopped_after_1r": 0.1,
    "duration": [
     31.25,
     39.5,
     58
    ],
    "height_pct": [
     0.01407682,
     0.02000435,
     0.02932543
    ],
    "breakout_delay": [
     2.25,
     4.5,
     10
    ],
    "bars_to_pattern_target": [
     16.75,
     26,
     44.25
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.64285714,
    "baseFalseStartRate": 0.5,
    "throwbackRate": 0.57142857,
    "targetHitRate": 0.28571429
   },
   "confirmRate": 0.75,
   "oneEveryBars": 37786,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "4h",
   "side": "up",
   "n": 230,
   "symbols": 152,
   "first": "2012-02-15",
   "last": "2026-08-15",
   "win10": 0.46956522,
   "baseWin10": 0.48406112,
   "excess10": {
    "mean": 0.00300596,
    "low": -0.00540455,
    "high": 0.01153969,
    "q": 0.79984506,
    "stable": true
   },
   "trade": {
    "n": 230,
    "winRate": 0.28695652,
    "expectancyR": -0.00758928,
    "baseWinRate": 0.28224638,
    "baseExpectancyR": -0.0167794,
    "timeoutRate": 0.11304348,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 66,
    "stops": 138,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     15,
     29.5,
     45.75
    ],
    "bars_to_stop": [
     9,
     15,
     35.5
    ],
    "bars_in_trade": [
     10.25,
     24,
     52
    ],
    "mfe_r": [
     0.30403541,
     1.0556578,
     2.03310633
    ],
    "stopped_after_1r": 0.25362319,
    "duration": [
     33,
     38.5,
     47
    ],
    "height_pct": [
     0.05106867,
     0.16706054,
     0.22798325
    ],
    "breakout_delay": [
     1,
     2,
     5
    ],
    "bars_to_pattern_target": [
     13.75,
     27,
     45.25
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.4628821,
    "baseFalseStartRate": 0.51268116,
    "throwbackRate": 0.62008734,
    "targetHitRate": 0.27826087
   },
   "confirmRate": 0.8028169,
   "oneEveryBars": 18262,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "4h",
   "side": "down",
   "n": 71,
   "symbols": 65,
   "first": "2012-08-10",
   "last": "2026-07-08",
   "win10": 0.53521127,
   "baseWin10": 0.5166447,
   "excess10": {
    "mean": 0.00117649,
    "low": -0.00678166,
    "high": 0.0083904,
    "q": 0.9217138,
    "stable": false
   },
   "trade": {
    "n": 71,
    "winRate": 0.21126761,
    "expectancyR": 0.00256221,
    "baseWinRate": 0.26408451,
    "baseExpectancyR": 0.07436607,
    "timeoutRate": 0.21126761,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 15,
    "stops": 41,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     12.5,
     20,
     54
    ],
    "bars_to_stop": [
     9,
     19,
     31
    ],
    "bars_in_trade": [
     11.5,
     26,
     76
    ],
    "mfe_r": [
     0.38463157,
     0.85496181,
     1.7867645
    ],
    "stopped_after_1r": 0.12195122,
    "duration": [
     33,
     42,
     50.5
    ],
    "height_pct": [
     0.10983801,
     0.16875373,
     0.23779418
    ],
    "breakout_delay": [
     2,
     5,
     7
    ],
    "bars_to_pattern_target": [
     15,
     20,
     45
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.49295775,
    "baseFalseStartRate": 0.47652582,
    "throwbackRate": 0.64788732,
    "targetHitRate": 0.23943662
   },
   "confirmRate": 0.8028169,
   "oneEveryBars": 59159,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "1d",
   "side": "up",
   "n": 12,
   "symbols": 12,
   "first": "2021-03-08",
   "last": "2025-05-08",
   "win10": 0.58333333,
   "baseWin10": 0.46497269,
   "excess10": {
    "mean": 0.10201192,
    "low": -0.06147049,
    "high": 0.43254866,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 12,
    "winRate": 0.33333333,
    "expectancyR": 0,
    "baseWinRate": 0.29166667,
    "baseExpectancyR": -0.00095139,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 4,
    "stops": 8,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     6.75,
     17.5,
     39.5
    ],
    "bars_to_stop": [
     11.5,
     22.5,
     35
    ],
    "bars_in_trade": [
     7,
     22.5,
     35
    ],
    "mfe_r": [
     0.15143702,
     1.08145374,
     2.07955021
    ],
    "stopped_after_1r": 0.375,
    "duration": [
     31.75,
     35,
     38.5
    ],
    "height_pct": [
     0.2927481,
     0.32361455,
     0.61216538
    ],
    "breakout_delay": [
     1,
     3,
     4.25
    ],
    "bars_to_pattern_target": [
     6,
     22,
     25
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.5,
    "baseFalseStartRate": 0.34722222,
    "throwbackRate": 0.41666667,
    "targetHitRate": 0.45454545
   },
   "confirmRate": 0.72727273,
   "oneEveryBars": 50165,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "crypto",
   "tf": "1d",
   "side": "down",
   "n": 5,
   "symbols": 5,
   "first": "2021-04-22",
   "last": "2026-03-21",
   "win10": 0.2,
   "baseWin10": 0.55169393,
   "excess10": {
    "mean": -0.01493631,
    "low": -0.03376429,
    "high": 0.00355891,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 4,
    "winRate": 0,
    "expectancyR": -1,
    "baseWinRate": 0.1875,
    "baseExpectancyR": 0.08320032,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 0,
    "stops": 4,
    "triggered": null
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     36,
     54.5,
     73.5
    ],
    "bars_in_trade": [
     36,
     54.5,
     73.5
    ],
    "mfe_r": [
     0.3251769,
     0.41179819,
     0.67152668
    ],
    "stopped_after_1r": 0.25,
    "duration": [
     43,
     44,
     49
    ],
    "height_pct": [
     0.32867134,
     0.55089819,
     1.03398168
    ],
    "breakout_delay": [
     5,
     10,
     11
    ],
    "bars_to_pattern_target": null
   },
   "breakoutStats": {
    "falseStartRate": 0.8,
    "baseFalseStartRate": 0.5,
    "throwbackRate": 1,
    "targetHitRate": 0
   },
   "confirmRate": 0.72727273,
   "oneEveryBars": 120396,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "stocks",
   "tf": "1d",
   "side": "up",
   "n": 997,
   "symbols": 651,
   "first": "1971-01-25",
   "last": "2026-10-16",
   "win10": 0.52309237,
   "baseWin10": 0.54435191,
   "excess10": {
    "mean": -0.00230995,
    "low": -0.0060051,
    "high": 0.00140517,
    "q": 0.56821152,
    "stable": false
   },
   "trade": {
    "n": 994,
    "winRate": 0.3249497,
    "expectancyR": 0.18820279,
    "baseWinRate": 0.33584842,
    "baseExpectancyR": 0.20750057,
    "timeoutRate": 0.14688129,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 323,
    "stops": 525,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     21,
     35,
     58.5
    ],
    "bars_to_stop": [
     9,
     18,
     33
    ],
    "bars_in_trade": [
     14,
     29,
     66
    ],
    "mfe_r": [
     0.41984208,
     1.17119241,
     2.03191078
    ],
    "stopped_after_1r": 0.20190476,
    "duration": [
     34,
     42,
     53
    ],
    "height_pct": [
     0.14069971,
     0.19826612,
     0.27940476
    ],
    "breakout_delay": [
     0,
     2,
     4
    ],
    "bars_to_pattern_target": [
     22,
     40,
     60
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.46075433,
    "baseFalseStartRate": 0.45127048,
    "throwbackRate": 0.66800805,
    "targetHitRate": 0.28729839
   },
   "confirmRate": 0.84840056,
   "oneEveryBars": 7341,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "stocks",
   "tf": "1d",
   "side": "down",
   "n": 303,
   "symbols": 275,
   "first": "1984-09-12",
   "last": "2026-09-25",
   "win10": 0.41254125,
   "baseWin10": 0.45581689,
   "excess10": {
    "mean": -0.0008764,
    "low": -0.0085547,
    "high": 0.00701528,
    "q": 0.94083525,
    "stable": false
   },
   "trade": {
    "n": 300,
    "winRate": 0.16666667,
    "expectancyR": -0.34987148,
    "baseWinRate": 0.19361111,
    "baseExpectancyR": -0.24499359,
    "timeoutRate": 0.11666667,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 50,
    "stops": 215,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     15,
     24,
     49
    ],
    "bars_to_stop": [
     10,
     21,
     36
    ],
    "bars_in_trade": [
     12,
     26,
     54.25
    ],
    "mfe_r": [
     0.26636156,
     0.62614197,
     1.48891467
    ],
    "stopped_after_1r": 0.15348837,
    "duration": [
     34.5,
     43,
     53
    ],
    "height_pct": [
     0.14691458,
     0.20438911,
     0.28676616
    ],
    "breakout_delay": [
     3,
     4,
     7
    ],
    "bars_to_pattern_target": [
     15,
     22,
     47
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.63422819,
    "baseFalseStartRate": 0.55665567,
    "throwbackRate": 0.67892977,
    "targetHitRate": 0.15666667
   },
   "confirmRate": 0.84840056,
   "oneEveryBars": 24156,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1d",
   "side": "up",
   "n": 53,
   "symbols": 32,
   "first": "2001-07-02",
   "last": "2026-05-28",
   "win10": 0.54716981,
   "baseWin10": 0.57592484,
   "excess10": {
    "mean": 0.00330185,
    "low": -0.00342606,
    "high": 0.01107741,
    "q": 0.75318638,
    "stable": false
   },
   "trade": {
    "n": 53,
    "winRate": 0.22641509,
    "expectancyR": 0.19155496,
    "baseWinRate": 0.40723271,
    "baseExpectancyR": 0.48716037,
    "timeoutRate": 0.24528302,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 12,
    "stops": 28,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     23,
     40,
     61.25
    ],
    "bars_to_stop": [
     9.75,
     26.5,
     40
    ],
    "bars_in_trade": [
     19,
     40,
     90
    ],
    "mfe_r": [
     0.43991971,
     1.19798493,
     1.85201132
    ],
    "stopped_after_1r": 0.21428571,
    "duration": [
     36,
     42,
     57
    ],
    "height_pct": [
     0.08753014,
     0.13999268,
     0.21181729
    ],
    "breakout_delay": [
     0,
     2,
     3
    ],
    "bars_to_pattern_target": [
     31,
     32,
     79
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.54716981,
    "baseFalseStartRate": 0.40251572,
    "throwbackRate": 0.77358491,
    "targetHitRate": 0.16981132
   },
   "confirmRate": 0.85981308,
   "oneEveryBars": 4784,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1d",
   "side": "down",
   "n": 12,
   "symbols": 10,
   "first": "2002-04-25",
   "last": "2026-10-16",
   "win10": 0.27272727,
   "baseWin10": 0.42115718,
   "excess10": {
    "mean": -0.00401971,
    "low": -0.01451363,
    "high": 0.00683699,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 11,
    "winRate": 0.18181818,
    "expectancyR": -0.37301185,
    "baseWinRate": 0.31818182,
    "baseExpectancyR": 0.03925241,
    "timeoutRate": 0.09090909,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 8,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     11,
     19,
     27
    ],
    "bars_to_stop": [
     6.25,
     17.5,
     22.75
    ],
    "bars_in_trade": [
     5.5,
     18,
     36
    ],
    "mfe_r": [
     0.16373758,
     0.49101928,
     1.50143868
    ],
    "stopped_after_1r": 0.125,
    "duration": [
     32,
     43,
     57.75
    ],
    "height_pct": [
     0.08034228,
     0.09622058,
     0.14736016
    ],
    "breakout_delay": [
     2,
     5,
     6.25
    ],
    "bars_to_pattern_target": [
     15.5,
     28,
     40.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.63636364,
    "baseFalseStartRate": 0.54861111,
    "throwbackRate": 0.72727273,
    "targetHitRate": 0.18181818
   },
   "confirmRate": 0.85981308,
   "oneEveryBars": 21128,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "indices",
   "tf": "1d",
   "side": "up",
   "n": 31,
   "symbols": 14,
   "first": "1985-06-24",
   "last": "2026-05-26",
   "win10": 0.4516129,
   "baseWin10": 0.5752988,
   "excess10": {
    "mean": -0.00380855,
    "low": -0.00951001,
    "high": 0.00264684,
    "q": 0.57111317,
    "stable": true
   },
   "trade": {
    "n": 31,
    "winRate": 0.25806452,
    "expectancyR": 0.08662329,
    "baseWinRate": 0.28225806,
    "baseExpectancyR": 0.16311788,
    "timeoutRate": 0.22580645,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 8,
    "stops": 16,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     15.25,
     33.5,
     51.75
    ],
    "bars_to_stop": [
     6,
     15.5,
     34.25
    ],
    "bars_in_trade": [
     13,
     33,
     78.5
    ],
    "mfe_r": [
     0.34602183,
     0.68989772,
     1.9714244
    ],
    "stopped_after_1r": 0.125,
    "duration": [
     32,
     52,
     66
    ],
    "height_pct": [
     0.078965,
     0.11417724,
     0.17822291
    ],
    "breakout_delay": [
     0.5,
     2,
     3
    ],
    "bars_to_pattern_target": [
     32.5,
     37,
     46.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.48387097,
    "baseFalseStartRate": 0.44354839,
    "throwbackRate": 0.64516129,
    "targetHitRate": 0.22580645
   },
   "confirmRate": 0.9,
   "oneEveryBars": 4459,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "indices",
   "tf": "1d",
   "side": "down",
   "n": 11,
   "symbols": 8,
   "first": "2005-10-10",
   "last": "2026-09-10",
   "win10": 0.36363636,
   "baseWin10": 0.42742774,
   "excess10": {
    "mean": -0.00263377,
    "low": -0.01470943,
    "high": 0.0063655,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 11,
    "winRate": 0.18181818,
    "expectancyR": -0.01857746,
    "baseWinRate": 0.18181818,
    "baseExpectancyR": -0.30143969,
    "timeoutRate": 0.27272727,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 6,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     35.25,
     42.5,
     49.75
    ],
    "bars_to_stop": [
     18,
     18.5,
     19
    ],
    "bars_in_trade": [
     18.5,
     28,
     78.5
    ],
    "mfe_r": [
     0.3573999,
     0.52659029,
     1.51250762
    ],
    "stopped_after_1r": 0,
    "duration": [
     40,
     53,
     64.5
    ],
    "height_pct": [
     0.11530166,
     0.1393099,
     0.15502977
    ],
    "breakout_delay": [
     4.5,
     5,
     8.5
    ],
    "bars_to_pattern_target": [
     16.5,
     30,
     43.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.7,
    "baseFalseStartRate": 0.54545455,
    "throwbackRate": 0.6,
    "targetHitRate": 0.2
   },
   "confirmRate": 0.9,
   "oneEveryBars": 12567,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "forex",
   "tf": "1d",
   "side": "up",
   "n": 10,
   "symbols": 9,
   "first": "2015-05-19",
   "last": "2025-06-24",
   "win10": 0.6,
   "baseWin10": 0.51574561,
   "excess10": {
    "mean": 0.00074178,
    "low": -0.00867265,
    "high": 0.01100966,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 8,
    "winRate": 0.25,
    "expectancyR": 0.1575428,
    "baseWinRate": 0.29166667,
    "baseExpectancyR": 0.00117888,
    "timeoutRate": 0.25,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 4,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     51.5,
     54,
     56.5
    ],
    "bars_to_stop": [
     33.75,
     47,
     63
    ],
    "bars_in_trade": [
     47.25,
     55.5,
     97
    ],
    "mfe_r": [
     1.04538673,
     1.58809847,
     1.72338477
    ],
    "stopped_after_1r": 0.5,
    "duration": [
     33.75,
     43.5,
     51.25
    ],
    "height_pct": [
     0.03933511,
     0.05342428,
     0.08110897
    ],
    "breakout_delay": [
     4,
     5.5,
     7
    ],
    "bars_to_pattern_target": [
     4,
     4,
     4
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.11111111,
    "baseFalseStartRate": 0.56666667,
    "throwbackRate": 0.66666667,
    "targetHitRate": 0.125
   },
   "confirmRate": 0.84210526,
   "oneEveryBars": 8839,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "forex",
   "tf": "1d",
   "side": "down",
   "n": 3,
   "symbols": 2,
   "first": "2013-08-07",
   "last": "2018-01-10",
   "win10": 0.66666667,
   "baseWin10": 0.46480016,
   "excess10": {
    "mean": 0.01565988,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 3,
    "winRate": 0.33333333,
    "expectancyR": 0,
    "baseWinRate": 0.25,
    "baseExpectancyR": -0.11325628,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 1,
    "stops": 2,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     25,
     25,
     25
    ],
    "bars_to_stop": [
     10.5,
     14,
     17.5
    ],
    "bars_in_trade": [
     14,
     21,
     23
    ],
    "mfe_r": [
     0.32943736,
     0.5086782,
     1.41877651
    ],
    "stopped_after_1r": 0,
    "duration": [
     34.5,
     39,
     43
    ],
    "height_pct": [
     0.03987427,
     0.05363208,
     0.06701657
    ],
    "breakout_delay": [
     3,
     3,
     3
    ],
    "bars_to_pattern_target": [
     10,
     10,
     10
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.66666667,
    "baseFalseStartRate": 0.58333333,
    "throwbackRate": 0.66666667,
    "targetHitRate": 0.33333333
   },
   "confirmRate": 0.84210526,
   "oneEveryBars": 29463,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1d",
   "side": "up",
   "n": 8,
   "symbols": 6,
   "first": "2009-11-16",
   "last": "2026-10-16",
   "win10": 0.42857143,
   "baseWin10": 0.52203478,
   "excess10": {
    "mean": -0.0303787,
    "low": -0.05050955,
    "high": 0.00439111,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 6,
    "winRate": 0.33333333,
    "expectancyR": 0,
    "baseWinRate": 0.33333333,
    "baseExpectancyR": 0.04490209,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 4,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     62,
     64,
     66
    ],
    "bars_to_stop": [
     6,
     26.5,
     49.5
    ],
    "bars_in_trade": [
     16.25,
     52,
     59.25
    ],
    "mfe_r": [
     0.27895317,
     1.21452901,
     1.93603328
    ],
    "stopped_after_1r": 0.25,
    "duration": [
     34.25,
     45.5,
     54
    ],
    "height_pct": [
     0.16723602,
     0.22564708,
     0.25094326
    ],
    "breakout_delay": [
     1,
     3,
     6.5
    ],
    "bars_to_pattern_target": [
     32.5,
     62,
     73
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.57142857,
    "baseFalseStartRate": 0.40625,
    "throwbackRate": 0.85714286,
    "targetHitRate": 0.42857143
   },
   "confirmRate": 0.72,
   "oneEveryBars": 9578,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1d",
   "side": "down",
   "n": 4,
   "symbols": 4,
   "first": "2008-01-16",
   "last": "2023-09-01",
   "win10": 0.25,
   "baseWin10": 0.46639054,
   "excess10": {
    "mean": 0.00877488,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 4,
    "winRate": 0,
    "expectancyR": -0.58224405,
    "baseWinRate": 0.125,
    "baseExpectancyR": -0.20550919,
    "timeoutRate": 0.25,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 0,
    "stops": 3,
    "triggered": null
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     15.5,
     17,
     48
    ],
    "bars_in_trade": [
     16.25,
     48,
     84.25
    ],
    "mfe_r": [
     0.35509417,
     0.55934706,
     0.93418181
    ],
    "stopped_after_1r": 0,
    "duration": [
     38.5,
     44,
     62.75
    ],
    "height_pct": [
     0.14280741,
     0.18199008,
     0.20738158
    ],
    "breakout_delay": [
     5,
     5.5,
     7
    ],
    "bars_to_pattern_target": [
     23,
     23,
     23
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.75,
    "baseFalseStartRate": 0.43750001,
    "throwbackRate": 1,
    "targetHitRate": 0.25
   },
   "confirmRate": 0.72,
   "oneEveryBars": 19156,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "1d",
   "side": "up",
   "n": 1111,
   "symbols": 724,
   "first": "1971-01-25",
   "last": "2026-10-16",
   "win10": 0.52299369,
   "baseWin10": 0.54546813,
   "excess10": {
    "mean": -0.00110448,
    "low": -0.00486998,
    "high": 0.00272311,
    "q": 0.8376085,
    "stable": false
   },
   "trade": {
    "n": 1104,
    "winRate": 0.31793478,
    "expectancyR": 0.1822207,
    "baseWinRate": 0.33695652,
    "baseExpectancyR": 0.21503546,
    "timeoutRate": 0.15217391,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 351,
    "stops": 585,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     21,
     35,
     59.5
    ],
    "bars_to_stop": [
     9,
     19,
     34
    ],
    "bars_in_trade": [
     14,
     30,
     66.25
    ],
    "mfe_r": [
     0.406642,
     1.15735394,
     2.02935398
    ],
    "stopped_after_1r": 0.20512821,
    "duration": [
     34,
     42,
     53.5
    ],
    "height_pct": [
     0.13645554,
     0.19296524,
     0.27531503
    ],
    "breakout_delay": [
     0,
     2,
     4
    ],
    "bars_to_pattern_target": [
     22,
     38,
     60
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.46386093,
    "baseFalseStartRate": 0.44831983,
    "throwbackRate": 0.67088608,
    "targetHitRate": 0.28130672
   },
   "confirmRate": 0.84760383,
   "oneEveryBars": 7631,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "1d",
   "side": "down",
   "n": 338,
   "symbols": 304,
   "first": "1984-09-12",
   "last": "2026-10-16",
   "win10": 0.40356083,
   "baseWin10": 0.4553869,
   "excess10": {
    "mean": -0.0009832,
    "low": -0.00821068,
    "high": 0.00656279,
    "q": 0.92831529,
    "stable": false
   },
   "trade": {
    "n": 333,
    "winRate": 0.16516517,
    "expectancyR": -0.34714085,
    "baseWinRate": 0.19694695,
    "baseExpectancyR": -0.23186529,
    "timeoutRate": 0.12012012,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 55,
    "stops": 238,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     15,
     25,
     49
    ],
    "bars_to_stop": [
     10,
     20,
     37
    ],
    "bars_in_trade": [
     13,
     26,
     55
    ],
    "mfe_r": [
     0.265843,
     0.6172666,
     1.48314226
    ],
    "stopped_after_1r": 0.14705882,
    "duration": [
     35,
     43,
     53
    ],
    "height_pct": [
     0.13880409,
     0.194002,
     0.27610825
    ],
    "breakout_delay": [
     3,
     5,
     7
    ],
    "bars_to_pattern_target": [
     14,
     22,
     48
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.64048338,
    "baseFalseStartRate": 0.55399408,
    "throwbackRate": 0.68674699,
    "targetHitRate": 0.16012085
   },
   "confirmRate": 0.84760383,
   "oneEveryBars": 25083,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "stocks",
   "tf": "1w",
   "side": "up",
   "n": 151,
   "symbols": 141,
   "first": "1996-05-20",
   "last": "2026-10-19",
   "win10": 0.59333333,
   "baseWin10": 0.58684553,
   "excess10": {
    "mean": -0.00125301,
    "low": -0.02014457,
    "high": 0.01537772,
    "q": 0.96526353,
    "stable": false
   },
   "trade": {
    "n": 145,
    "winRate": 0.45517241,
    "expectancyR": 0.48639457,
    "baseWinRate": 0.47241379,
    "baseExpectancyR": 0.47104977,
    "timeoutRate": 0.06896552,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 66,
    "stops": 69,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     25.25,
     36.5,
     52.5
    ],
    "bars_to_stop": [
     6,
     17,
     35
    ],
    "bars_in_trade": [
     14,
     29,
     51
    ],
    "mfe_r": [
     0.526434,
     1.77047276,
     2.13294172
    ],
    "stopped_after_1r": 0.20289855,
    "duration": [
     32.5,
     40,
     50
    ],
    "height_pct": [
     0.26404846,
     0.35551694,
     0.4682451
    ],
    "breakout_delay": [
     0,
     1,
     4
    ],
    "bars_to_pattern_target": [
     20.25,
     33,
     48
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.35971223,
    "baseFalseStartRate": 0.3576159,
    "throwbackRate": 0.73793103,
    "targetHitRate": 0.42465753
   },
   "confirmRate": 0.82983683,
   "oneEveryBars": 9127,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "stocks",
   "tf": "1w",
   "side": "down",
   "n": 31,
   "symbols": 31,
   "first": "1993-10-25",
   "last": "2026-05-11",
   "win10": 0.19354839,
   "baseWin10": 0.41617012,
   "excess10": {
    "mean": -0.02588746,
    "low": -0.05785118,
    "high": 0.00627799,
    "q": 0.45841261,
    "stable": false
   },
   "trade": {
    "n": 30,
    "winRate": 0.13333333,
    "expectancyR": -0.44804759,
    "baseWinRate": 0.125,
    "baseExpectancyR": -0.473192,
    "timeoutRate": 0.1,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 4,
    "stops": 23,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     17.5,
     23.5,
     27.5
    ],
    "bars_to_stop": [
     9,
     25,
     62
    ],
    "bars_in_trade": [
     11,
     27.5,
     63.75
    ],
    "mfe_r": [
     0.25173191,
     0.46840608,
     1.21099338
    ],
    "stopped_after_1r": 0.08695652,
    "duration": [
     30.5,
     42,
     54
    ],
    "height_pct": [
     0.3004854,
     0.41640463,
     0.50432321
    ],
    "breakout_delay": [
     2.5,
     4,
     6
    ],
    "bars_to_pattern_target": [
     25,
     33,
     33
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.62068966,
    "baseFalseStartRate": 0.59677419,
    "throwbackRate": 0.73333333,
    "targetHitRate": 0.16666667
   },
   "confirmRate": 0.82983683,
   "oneEveryBars": 44458,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1w",
   "side": "up",
   "n": 12,
   "symbols": 11,
   "first": "2010-03-01",
   "last": "2026-04-13",
   "win10": 0.75,
   "baseWin10": 0.6232089,
   "excess10": {
    "mean": 0.02479317,
    "low": -0.01026388,
    "high": 0.06749221,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 10,
    "winRate": 0.2,
    "expectancyR": -0.4,
    "baseWinRate": 0.3,
    "baseExpectancyR": -0.04312536,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2,
    "stops": 8,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     17.25,
     20.5,
     23.75
    ],
    "bars_to_stop": [
     16.75,
     18,
     19.5
    ],
    "bars_in_trade": [
     16.25,
     18,
     22.5
    ],
    "mfe_r": [
     0.36366715,
     1.0149788,
     1.83885345
    ],
    "stopped_after_1r": 0.375,
    "duration": [
     37,
     44,
     50.5
    ],
    "height_pct": [
     0.19956189,
     0.2826473,
     0.32572842
    ],
    "breakout_delay": [
     0,
     0,
     1.5
    ],
    "bars_to_pattern_target": [
     29,
     29,
     29
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.6,
    "baseFalseStartRate": 0.48611111,
    "throwbackRate": 0.63636364,
    "targetHitRate": 0.1
   },
   "confirmRate": 0.85185185,
   "oneEveryBars": 4247,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "etf",
   "tf": "1w",
   "side": "down",
   "n": 2,
   "symbols": 2,
   "first": "2004-05-03",
   "last": "2023-03-06",
   "win10": 0.5,
   "baseWin10": 0.37965209,
   "excess10": {
    "mean": -0.00554145,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 2,
    "winRate": 0,
    "expectancyR": -1.01087981,
    "baseWinRate": 0.41666667,
    "baseExpectancyR": 0.29807531,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 0,
    "stops": 2,
    "triggered": null
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     22.25,
     23.5,
     24.75
    ],
    "bars_in_trade": [
     22.25,
     23.5,
     24.75
    ],
    "mfe_r": [
     0.26872208,
     0.41758733,
     0.56645259
    ],
    "stopped_after_1r": 0,
    "duration": [
     32.25,
     41.5,
     50.75
    ],
    "height_pct": [
     0.34243815,
     0.37282945,
     0.40322075
    ],
    "breakout_delay": [
     2,
     3,
     4
    ],
    "bars_to_pattern_target": null
   },
   "breakoutStats": {
    "falseStartRate": 1,
    "baseFalseStartRate": 0.58333334,
    "throwbackRate": 1,
    "targetHitRate": 0
   },
   "confirmRate": 0.85185185,
   "oneEveryBars": 25480,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "indices",
   "tf": "1w",
   "side": "up",
   "n": 8,
   "symbols": 7,
   "first": "1971-12-13",
   "last": "2019-09-09",
   "win10": 0.875,
   "baseWin10": 0.63517366,
   "excess10": {
    "mean": 0.0016872,
    "low": -0.01760047,
    "high": 0.0170287,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 8,
    "winRate": 0.375,
    "expectancyR": 0.28896153,
    "baseWinRate": 0.54166667,
    "baseExpectancyR": 0.69325249,
    "timeoutRate": 0.125,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 3,
    "stops": 4,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     22,
     22,
     23.5
    ],
    "bars_to_stop": [
     19.75,
     37.5,
     51.5
    ],
    "bars_in_trade": [
     22,
     24.5,
     51.5
    ],
    "mfe_r": [
     0.75835422,
     1.82350308,
     2.1005922
    ],
    "stopped_after_1r": 0.25,
    "duration": [
     35.75,
     42.5,
     61.5
    ],
    "height_pct": [
     0.20412321,
     0.36165047,
     0.43361855
    ],
    "breakout_delay": [
     1,
     1,
     2
    ],
    "bars_to_pattern_target": [
     38.5,
     51,
     63.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.375,
    "baseFalseStartRate": 0.35416667,
    "throwbackRate": 0.75,
    "targetHitRate": 0.25
   },
   "confirmRate": 0.90909091,
   "oneEveryBars": 3521,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "indices",
   "tf": "1w",
   "side": "down",
   "n": 1,
   "symbols": 1,
   "first": "2011-08-15",
   "last": "2011-08-15",
   "win10": 0,
   "baseWin10": 0.32901057,
   "excess10": {
    "mean": -0.06860833,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 1,
    "winRate": 0,
    "expectancyR": -1,
    "baseWinRate": 0.25,
    "baseExpectancyR": -0.2510469,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 0,
    "stops": 1,
    "triggered": null
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     22,
     22,
     22
    ],
    "bars_in_trade": [
     22,
     22,
     22
    ],
    "mfe_r": [
     0.00020033,
     0.00020033,
     0.00020033
    ],
    "stopped_after_1r": 0,
    "duration": [
     59,
     59,
     59
    ],
    "height_pct": [
     0.3451443,
     0.3451443,
     0.3451443
    ],
    "breakout_delay": [
     7,
     7,
     7
    ],
    "bars_to_pattern_target": null
   },
   "breakoutStats": {
    "falseStartRate": 1,
    "baseFalseStartRate": 0.66666669,
    "throwbackRate": 0,
    "targetHitRate": 0
   },
   "confirmRate": 0.90909091,
   "oneEveryBars": 28169,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "forex",
   "tf": "1w",
   "side": "up",
   "n": 2,
   "symbols": 2,
   "first": "2013-12-23",
   "last": "2023-07-10",
   "win10": 0,
   "baseWin10": 0.51174743,
   "excess10": {
    "mean": -0.04542619,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 2,
    "winRate": 0.5,
    "expectancyR": 0.5,
    "baseWinRate": 0.29166667,
    "baseExpectancyR": 0.16126633,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 1,
    "stops": 1,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     77,
     77,
     77
    ],
    "bars_to_stop": [
     5,
     5,
     5
    ],
    "bars_in_trade": [
     23,
     41,
     59
    ],
    "mfe_r": [
     0.53412799,
     1.06778489,
     1.60144179
    ],
    "stopped_after_1r": 0,
    "duration": [
     37.25,
     37.5,
     37.75
    ],
    "height_pct": [
     0.12735502,
     0.13859553,
     0.14983605
    ],
    "breakout_delay": [
     1.25,
     2.5,
     3.75
    ],
    "bars_to_pattern_target": [
     77,
     77,
     77
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.5,
    "baseFalseStartRate": 0.375,
    "throwbackRate": 0,
    "targetHitRate": 0.5
   },
   "confirmRate": 1,
   "oneEveryBars": 8639,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "forex",
   "tf": "1w",
   "side": "down",
   "n": 1,
   "symbols": 1,
   "first": "2019-05-27",
   "last": "2019-05-27",
   "win10": 1,
   "baseWin10": 0.39060206,
   "excess10": {
    "mean": -0.02389942,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 1,
    "winRate": 0,
    "expectancyR": -1,
    "baseWinRate": 0.5,
    "baseExpectancyR": 0.5,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 0,
    "stops": 1,
    "triggered": null
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     29,
     29,
     29
    ],
    "bars_in_trade": [
     29,
     29,
     29
    ],
    "mfe_r": [
     0.45148435,
     0.45148435,
     0.45148435
    ],
    "stopped_after_1r": 0,
    "duration": [
     21,
     21,
     21
    ],
    "height_pct": [
     0.0920862,
     0.0920862,
     0.0920862
    ],
    "breakout_delay": [
     1,
     1,
     1
    ],
    "bars_to_pattern_target": null
   },
   "breakoutStats": {
    "falseStartRate": 1,
    "baseFalseStartRate": 0.5,
    "throwbackRate": 1,
    "targetHitRate": 0
   },
   "confirmRate": 1,
   "oneEveryBars": 17278,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1w",
   "side": "up",
   "n": 1,
   "symbols": 1,
   "first": "2009-10-19",
   "last": "2009-10-19",
   "win10": 1,
   "baseWin10": 0.53589484,
   "excess10": {
    "mean": -0.04002979,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 1,
    "winRate": 1,
    "expectancyR": 2,
    "baseWinRate": 0.5,
    "baseExpectancyR": 0.5,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 1,
    "stops": 0,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     71,
     71,
     71
    ],
    "bars_to_stop": null,
    "bars_in_trade": [
     71,
     71,
     71
    ],
    "mfe_r": [
     2.28161597,
     2.28161597,
     2.28161597
    ],
    "stopped_after_1r": null,
    "duration": [
     43,
     43,
     43
    ],
    "height_pct": [
     0.64947647,
     0.64947647,
     0.64947647
    ],
    "breakout_delay": [
     1,
     1,
     1
    ],
    "bars_to_pattern_target": [
     79,
     79,
     79
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0,
    "baseFalseStartRate": 0.5,
    "throwbackRate": 1,
    "targetHitRate": 1
   },
   "confirmRate": 0.66666667,
   "oneEveryBars": 15617,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1w",
   "side": "down",
   "n": 1,
   "symbols": 1,
   "first": "2013-04-15",
   "last": "2013-04-15",
   "win10": 0,
   "baseWin10": 0.43788344,
   "excess10": {
    "mean": -0.07203791,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 1,
    "winRate": 0,
    "expectancyR": -1,
    "baseWinRate": 0.25,
    "baseExpectancyR": 0.00669584,
    "timeoutRate": 0,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 0,
    "stops": 1,
    "triggered": null
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     41,
     41,
     41
    ],
    "bars_in_trade": [
     41,
     41,
     41
    ],
    "mfe_r": [
     0.06007368,
     0.06007368,
     0.06007368
    ],
    "stopped_after_1r": 0,
    "duration": [
     42,
     42,
     42
    ],
    "height_pct": [
     0.27148798,
     0.27148798,
     0.27148798
    ],
    "breakout_delay": [
     2,
     2,
     2
    ],
    "bars_to_pattern_target": null
   },
   "breakoutStats": {
    "falseStartRate": 1,
    "baseFalseStartRate": 0.5,
    "throwbackRate": 0,
    "targetHitRate": 0
   },
   "confirmRate": 0.66666667,
   "oneEveryBars": 15617,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "1w",
   "side": "up",
   "n": 174,
   "symbols": 162,
   "first": "1971-12-13",
   "last": "2026-10-19",
   "win10": 0.61271676,
   "baseWin10": 0.59043997,
   "excess10": {
    "mean": -0.00005526,
    "low": -0.0185262,
    "high": 0.0147008,
    "q": 0.99767193,
    "stable": false
   },
   "trade": {
    "n": 166,
    "winRate": 0.43975904,
    "expectancyR": 0.43276449,
    "baseWinRate": 0.46335341,
    "baseExpectancyR": 0.447226,
    "timeoutRate": 0.06626506,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 73,
    "stops": 82,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     23,
     35,
     53
    ],
    "bars_to_stop": [
     7,
     17.5,
     34
    ],
    "bars_in_trade": [
     14.25,
     28,
     50.75
    ],
    "mfe_r": [
     0.51857173,
     1.75813735,
     2.1283347
    ],
    "stopped_after_1r": 0.2195122,
    "duration": [
     33,
     40,
     50
    ],
    "height_pct": [
     0.25322851,
     0.34690432,
     0.45113207
    ],
    "breakout_delay": [
     0,
     1,
     4
    ],
    "bars_to_pattern_target": [
     21.5,
     33,
     50.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.375,
    "baseFalseStartRate": 0.36733717,
    "throwbackRate": 0.7245509,
    "targetHitRate": 0.4011976
   },
   "confirmRate": 0.83298097,
   "oneEveryBars": 8564,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "1w",
   "side": "down",
   "n": 36,
   "symbols": 36,
   "first": "1993-10-25",
   "last": "2026-05-11",
   "win10": 0.22222222,
   "baseWin10": 0.41161317,
   "excess10": {
    "mean": -0.02717055,
    "low": -0.05278904,
    "high": 0.00261667,
    "q": 0.33683517,
    "stable": false
   },
   "trade": {
    "n": 35,
    "winRate": 0.11428571,
    "expectancyR": -0.52751964,
    "baseWinRate": 0.15952381,
    "baseExpectancyR": -0.38125602,
    "timeoutRate": 0.08571429,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 4,
    "stops": 28,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     17.5,
     23.5,
     27.5
    ],
    "bars_to_stop": [
     11,
     25.5,
     46
    ],
    "bars_in_trade": [
     13.5,
     26,
     62
    ],
    "mfe_r": [
     0.21034167,
     0.45148435,
     1.03361613
    ],
    "stopped_after_1r": 0.07142857,
    "duration": [
     28.5,
     42,
     56.25
    ],
    "height_pct": [
     0.28046449,
     0.36890313,
     0.49290473
    ],
    "breakout_delay": [
     2,
     4,
     6
    ],
    "bars_to_pattern_target": [
     25,
     33,
     33
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.67647059,
    "baseFalseStartRate": 0.59259259,
    "throwbackRate": 0.71428571,
    "targetHitRate": 0.14285714
   },
   "confirmRate": 0.83298097,
   "oneEveryBars": 41395,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  }
 ],
 "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."
}