{
 "id": "tri_star_bullish",
 "name": "Bullish tri-star",
 "family": "candlestick",
 "direction": "bullish",
 "kind": "reversal",
 "page": "https://patternswizard.com/tri-star-candlestick-pattern/",
 "data": "https://patternswizard.com/data/patterns/tri_star_bullish.json",
 "rule": "After a downtrend: three dojis, the middle one gapping below the other two. Any gap counts, even one tick.",
 "trade_rule": "Entry by an order at the trigger level, filled at the open when a bar opens beyond it. 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": 152,
   "symbols": 95,
   "first": "2018-02-25",
   "last": "2026-10-28",
   "win10": 0.39735099,
   "baseWin10": 0.44960044,
   "excess10": {
    "mean": -0.00237836,
    "low": -0.00528766,
    "high": 0.00064501,
    "q": 0.47312326,
    "stable": true
   },
   "trade": {
    "n": 111,
    "winRate": 0.23423423,
    "expectancyR": -0.2942943,
    "baseWinRate": 0.31712963,
    "baseExpectancyR": -0.04593002,
    "timeoutRate": 0,
    "triggeredRate": 0.73684211,
    "invalidatedRate": 0.26315789,
    "hits": 26,
    "stops": 85,
    "triggered": 112
   },
   "timing": {
    "bars_to_target": [
     2,
     4.5,
     9.75
    ],
    "bars_to_stop": [
     0,
     0,
     2
    ],
    "bars_in_trade": [
     0,
     1,
     4
    ],
    "mfe_r": [
     0,
     0.18181819,
     1.71428573
    ],
    "stopped_after_1r": 0.14117647,
    "bars_to_entry": [
     1,
     1,
     1
    ],
    "range_pct": [
     0.00874478,
     0.01244813,
     0.01700693
    ],
    "range_atr": [
     0.77424245,
     0.98351848,
     1.24465239
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 96588,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "crypto",
   "tf": "4h",
   "side": "all",
   "n": 9,
   "symbols": 6,
   "first": "2022-08-21",
   "last": "2026-08-14",
   "win10": 0.33333333,
   "baseWin10": 0.42962796,
   "excess10": {
    "mean": -0.01488899,
    "low": -0.05603951,
    "high": 0.01232212,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 5,
    "winRate": 0,
    "expectancyR": -1,
    "baseWinRate": 0.26666667,
    "baseExpectancyR": -0.2,
    "timeoutRate": 0,
    "triggeredRate": 0.55555556,
    "invalidatedRate": 0.44444444,
    "hits": 0,
    "stops": 5,
    "triggered": 5
   },
   "timing": {
    "bars_to_target": null,
    "bars_to_stop": [
     0,
     3,
     6
    ],
    "bars_in_trade": [
     0,
     3,
     6
    ],
    "mfe_r": [
     0,
     0.33333334,
     0.33333334
    ],
    "stopped_after_1r": 0.2,
    "bars_to_entry": [
     1,
     1,
     3
    ],
    "range_pct": [
     0.02816901,
     0.02816901,
     0.03488372
    ],
    "range_atr": [
     1.16666663,
     1.27272725,
     1.28571427
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 407919,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "stocks",
   "tf": "1d",
   "side": "all",
   "n": 369,
   "symbols": 326,
   "first": "1984-06-25",
   "last": "2026-10-06",
   "win10": 0.54471545,
   "baseWin10": 0.54164418,
   "excess10": {
    "mean": -0.00111698,
    "low": -0.00985923,
    "high": 0.0069956,
    "q": 0.92881231,
    "stable": false
   },
   "trade": {
    "n": 247,
    "winRate": 0.43319838,
    "expectancyR": 0.31344243,
    "baseWinRate": 0.35946328,
    "baseExpectancyR": 0.05710699,
    "timeoutRate": 0,
    "triggeredRate": 0.67208672,
    "invalidatedRate": 0.32520325,
    "hits": 107,
    "stops": 140,
    "triggered": 248
   },
   "timing": {
    "bars_to_target": [
     4,
     8,
     13
    ],
    "bars_to_stop": [
     1.75,
     4,
     8
    ],
    "bars_in_trade": [
     2,
     6,
     11
    ],
    "mfe_r": [
     0.39836547,
     1.27271128,
     2.19037414
    ],
    "stopped_after_1r": 0.2,
    "bars_to_entry": [
     1,
     1,
     2
    ],
    "range_pct": [
     0.02652993,
     0.0342897,
     0.04907613
    ],
    "range_atr": [
     0.88225412,
     1.07558608,
     1.3135004
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 19836,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1d",
   "side": "all",
   "n": 13,
   "symbols": 10,
   "first": "2005-08-19",
   "last": "2024-12-30",
   "win10": 0.53846154,
   "baseWin10": 0.55592252,
   "excess10": {
    "mean": -0.00902521,
    "low": -0.03019286,
    "high": 0.01841414,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 9,
    "winRate": 0.22222222,
    "expectancyR": -0.33286122,
    "baseWinRate": 0.46296297,
    "baseExpectancyR": 0.33361532,
    "timeoutRate": 0,
    "triggeredRate": 0.69230769,
    "invalidatedRate": 0.30769231,
    "hits": 2,
    "stops": 7,
    "triggered": 9
   },
   "timing": {
    "bars_to_target": [
     17.75,
     25.5,
     33.25
    ],
    "bars_to_stop": [
     1.5,
     6,
     10
    ],
    "bars_in_trade": [
     3,
     7,
     13
    ],
    "mfe_r": [
     0.38807288,
     0.43217868,
     1.82432866
    ],
    "stopped_after_1r": 0.28571429,
    "bars_to_entry": [
     1,
     1,
     1
    ],
    "range_pct": [
     0.01503109,
     0.0203452,
     0.02678954
    ],
    "range_atr": [
     0.91497743,
     1.19149733,
     1.75594068
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 19503,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "indices",
   "tf": "1d",
   "side": "all",
   "n": 4,
   "symbols": 3,
   "first": "2004-05-18",
   "last": "2026-03-25",
   "win10": 0.75,
   "baseWin10": 0.57306281,
   "excess10": {
    "mean": -0.00431151,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 3,
    "winRate": 0.33333333,
    "expectancyR": 0.00666253,
    "baseWinRate": 0.33333333,
    "baseExpectancyR": 0,
    "timeoutRate": 0,
    "triggeredRate": 0.75,
    "invalidatedRate": 0.25,
    "hits": 1,
    "stops": 2,
    "triggered": 3
   },
   "timing": {
    "bars_to_target": [
     30,
     30,
     30
    ],
    "bars_to_stop": [
     16,
     30,
     44
    ],
    "bars_in_trade": [
     16,
     30,
     44
    ],
    "mfe_r": [
     0.88211733,
     1.55923688,
     1.78961223
    ],
    "stopped_after_1r": 0.5,
    "bars_to_entry": [
     1,
     1,
     1.5
    ],
    "range_pct": [
     0.02087563,
     0.02225378,
     0.0243684
    ],
    "range_atr": [
     1.17914771,
     1.42126083,
     1.64887229
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 34559,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1d",
   "side": "all",
   "n": 3,
   "symbols": 3,
   "first": "2021-01-13",
   "last": "2023-01-23",
   "win10": 0.33333333,
   "baseWin10": 0.43495525,
   "excess10": {
    "mean": -0.06426434,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 2,
    "winRate": 0.5,
    "expectancyR": 0.5,
    "baseWinRate": 0.25,
    "baseExpectancyR": -0.25,
    "timeoutRate": 0,
    "triggeredRate": 0.66666667,
    "invalidatedRate": 0.33333333,
    "hits": 1,
    "stops": 1,
    "triggered": 2
   },
   "timing": {
    "bars_to_target": [
     4,
     4,
     4
    ],
    "bars_to_stop": [
     1,
     1,
     1
    ],
    "bars_in_trade": [
     1.75,
     2.5,
     3.25
    ],
    "mfe_r": [
     0.78954052,
     1.51354161,
     2.23754271
    ],
    "stopped_after_1r": 0,
    "bars_to_entry": [
     1.5,
     2,
     2.5
    ],
    "range_pct": [
     0.02209916,
     0.02528439,
     0.08125255
    ],
    "range_atr": [
     1.20515174,
     1.26518881,
     1.35811967
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 25541,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "1d",
   "side": "all",
   "n": 389,
   "symbols": 342,
   "first": "1984-06-25",
   "last": "2026-10-06",
   "win10": 0.54498715,
   "baseWin10": 0.54162163,
   "excess10": {
    "mean": -0.00190111,
    "low": -0.01055741,
    "high": 0.00548584,
    "q": 0.87217946,
    "stable": false
   },
   "trade": {
    "n": 261,
    "winRate": 0.42528736,
    "expectancyR": 0.28905945,
    "baseWinRate": 0.3624498,
    "baseExpectancyR": 0.06517987,
    "timeoutRate": 0,
    "triggeredRate": 0.67352185,
    "invalidatedRate": 0.32390746,
    "hits": 111,
    "stops": 150,
    "triggered": 262
   },
   "timing": {
    "bars_to_target": [
     4,
     8,
     13.5
    ],
    "bars_to_stop": [
     1.25,
     4,
     8
    ],
    "bars_in_trade": [
     2,
     6,
     11
    ],
    "mfe_r": [
     0.3913025,
     1.27271128,
     2.18085194
    ],
    "stopped_after_1r": 0.20666667,
    "bars_to_entry": [
     1,
     1,
     2
    ],
    "range_pct": [
     0.02569301,
     0.03406829,
     0.04761551
    ],
    "range_atr": [
     0.88607579,
     1.08655453,
     1.33009136
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 20020,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "stocks",
   "tf": "1w",
   "side": "all",
   "n": 18,
   "symbols": 18,
   "first": "2009-09-07",
   "last": "2026-09-21",
   "win10": 0.8125,
   "baseWin10": 0.57550154,
   "excess10": {
    "mean": 0.07363143,
    "low": -0.00836616,
    "high": 0.18163463,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 13,
    "winRate": 0.46153846,
    "expectancyR": 0.39971542,
    "baseWinRate": 0.42948718,
    "baseExpectancyR": 0.33620273,
    "timeoutRate": 0,
    "triggeredRate": 0.72222222,
    "invalidatedRate": 0.27777778,
    "hits": 6,
    "stops": 7,
    "triggered": 13
   },
   "timing": {
    "bars_to_target": [
     9.75,
     24.5,
     28.75
    ],
    "bars_to_stop": [
     2.5,
     3,
     12
    ],
    "bars_in_trade": [
     3,
     6,
     24
    ],
    "mfe_r": [
     0.62927496,
     1.88974738,
     2.05263281
    ],
    "stopped_after_1r": 0.42857143,
    "bars_to_entry": [
     1,
     1,
     1
    ],
    "range_pct": [
     0.07816775,
     0.09906214,
     0.1663785
    ],
    "range_atr": [
     0.92232555,
     1.07995564,
     1.26079232
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 76566,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "etf",
   "tf": "1w",
   "side": "all",
   "n": 4,
   "symbols": 4,
   "first": "2007-11-26",
   "last": "2020-04-27",
   "win10": 0.5,
   "baseWin10": 0.60060917,
   "excess10": {
    "mean": -0.02234526,
    "low": null,
    "high": null,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 3,
    "winRate": 0.33333333,
    "expectancyR": 0,
    "baseWinRate": 0.25,
    "baseExpectancyR": -0.25,
    "timeoutRate": 0,
    "triggeredRate": 0.75,
    "invalidatedRate": 0.25,
    "hits": 1,
    "stops": 2,
    "triggered": 3
   },
   "timing": {
    "bars_to_target": [
     32,
     32,
     32
    ],
    "bars_to_stop": [
     8.75,
     15.5,
     22.25
    ],
    "bars_in_trade": [
     15.5,
     29,
     30.5
    ],
    "mfe_r": [
     0.73913786,
     1.31598926,
     1.84864736
    ],
    "stopped_after_1r": 0.5,
    "bars_to_entry": [
     1.5,
     2,
     3
    ],
    "range_pct": [
     0.06679538,
     0.08941061,
     0.10000556
    ],
    "range_atr": [
     1.15093261,
     1.24971145,
     1.35262451
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 12740,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "all",
   "tf": "1w",
   "side": "all",
   "n": 22,
   "symbols": 22,
   "first": "2007-11-26",
   "last": "2026-09-21",
   "win10": 0.75,
   "baseWin10": 0.58052307,
   "excess10": {
    "mean": 0.05443609,
    "low": -0.00994252,
    "high": 0.1360508,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 16,
    "winRate": 0.4375,
    "expectancyR": 0.32476878,
    "baseWinRate": 0.39583334,
    "baseExpectancyR": 0.22628972,
    "timeoutRate": 0,
    "triggeredRate": 0.72727273,
    "invalidatedRate": 0.27272727,
    "hits": 7,
    "stops": 9,
    "triggered": 16
   },
   "timing": {
    "bars_to_target": [
     14.5,
     25,
     31
    ],
    "bars_to_stop": [
     2,
     3,
     18
    ],
    "bars_in_trade": [
     3,
     12,
     26
    ],
    "mfe_r": [
     0.59456702,
     1.87633795,
     2.07588804
    ],
    "stopped_after_1r": 0.44444444,
    "bars_to_entry": [
     1,
     1,
     2.25
    ],
    "range_pct": [
     0.07743397,
     0.09637723,
     0.15873909
    ],
    "range_atr": [
     0.99360381,
     1.1303339,
     1.31130934
    ]
   },
   "breakoutStats": {
    "falseStartRate": null,
    "baseFalseStartRate": null,
    "throwbackRate": null,
    "targetHitRate": null
   },
   "confirmRate": null,
   "oneEveryBars": 64962,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  }
 ],
 "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."
}