{
 "id": "vcp",
 "name": "Volatility contraction pattern",
 "family": "chart",
 "direction": "bullish",
 "page": "https://patternswizard.com/volatility-contraction-pattern/",
 "data": "https://patternswizard.com/data/patterns/vcp.json",
 "rule": "In an uptrend: the close is above its 50-, 150- and 200-bar averages, the 50 above the 150 above the 200, the 200-bar average higher than 21 bars earlier, the close at least 30% above its 252-bar low and within 25% of its 252-bar high. Two or three pullbacks from peaks, each later peak within 20% of the first pullback's depth above or below the first peak, each pullback at most 80% as deep in percent as the one before, with rising lows. The first pullback is at least 3 ATR and at most 35% deep, with at least 3 bars between swing points. Confirmed by a close above the last peak. Stop at the last low.",
 "entry_rule": "Close above the last peak",
 "stop_rule": "At the last low",
 "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": "1d",
   "side": "all",
   "n": 51,
   "symbols": 44,
   "first": "2020-05-28",
   "last": "2026-09-28",
   "win10": 0.62745098,
   "baseWin10": 0.47491249,
   "excess10": {
    "mean": 0.08874662,
    "low": -0.029353,
    "high": 0.23403321,
    "q": null,
    "stable": true
   },
   "trade": {
    "n": 51,
    "winRate": 0.43137255,
    "expectancyR": 0.31395743,
    "baseWinRate": 0.3627451,
    "baseExpectancyR": 0.11592926,
    "timeoutRate": 0.01960784,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 22,
    "stops": 28,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     5,
     13.5,
     23.5
    ],
    "bars_to_stop": [
     5.75,
     18.5,
     34.25
    ],
    "bars_in_trade": [
     5,
     18,
     32
    ],
    "mfe_r": [
     0.3250439,
     1.54125953,
     2.25518358
    ],
    "stopped_after_1r": 0.28571429,
    "duration": [
     27.5,
     35,
     48.5
    ],
    "height_pct": [
     0.2141336,
     0.25774601,
     0.28740259
    ],
    "breakout_delay": [
     0.5,
     1,
     3
    ],
    "bars_to_pattern_target": [
     4,
     6,
     20.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.30612245,
    "baseFalseStartRate": 0.39705882,
    "throwbackRate": 0.62,
    "targetHitRate": 0.5625
   },
   "confirmRate": 0.76,
   "oneEveryBars": 11804,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "stocks",
   "tf": "1d",
   "side": "all",
   "n": 8745,
   "symbols": 1486,
   "first": "1971-02-25",
   "last": "2026-10-28",
   "win10": 0.53765043,
   "baseWin10": 0.54545946,
   "excess10": {
    "mean": -0.00005616,
    "low": -0.00169427,
    "high": 0.00150724,
    "q": 0.97685846,
    "stable": false
   },
   "trade": {
    "n": 8666,
    "winRate": 0.30913916,
    "expectancyR": 0.17151492,
    "baseWinRate": 0.33079468,
    "baseExpectancyR": 0.23629622,
    "timeoutRate": 0.16524348,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2679,
    "stops": 4555,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     22,
     38,
     61
    ],
    "bars_to_stop": [
     10,
     21,
     39
    ],
    "bars_in_trade": [
     15,
     33,
     74
    ],
    "mfe_r": [
     0.39162794,
     1.07573599,
     2.03408486
    ],
    "stopped_after_1r": 0.19714599,
    "duration": [
     32,
     46,
     76
    ],
    "height_pct": [
     0.099806,
     0.13995826,
     0.19960475
    ],
    "breakout_delay": [
     0,
     2,
     5
    ],
    "bars_to_pattern_target": [
     13,
     26,
     47
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.39760028,
    "baseFalseStartRate": 0.38065125,
    "throwbackRate": 0.70202664,
    "targetHitRate": 0.39592262
   },
   "confirmRate": 0.68259414,
   "oneEveryBars": 837,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "etf",
   "tf": "1d",
   "side": "all",
   "n": 246,
   "symbols": 44,
   "first": "1996-05-13",
   "last": "2026-09-21",
   "win10": 0.57723577,
   "baseWin10": 0.56714677,
   "excess10": {
    "mean": 0.00356829,
    "low": -0.00166066,
    "high": 0.00896898,
    "q": 0.54933368,
    "stable": true
   },
   "trade": {
    "n": 243,
    "winRate": 0.26337449,
    "expectancyR": 0.06011802,
    "baseWinRate": 0.32030178,
    "baseExpectancyR": 0.23983849,
    "timeoutRate": 0.18106996,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 64,
    "stops": 135,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     20.75,
     37,
     56
    ],
    "bars_to_stop": [
     10,
     22,
     34.5
    ],
    "bars_in_trade": [
     15.5,
     31,
     68.5
    ],
    "mfe_r": [
     0.31175087,
     0.96508574,
     2.00444198
    ],
    "stopped_after_1r": 0.22962963,
    "duration": [
     29.25,
     41,
     72.5
    ],
    "height_pct": [
     0.07047496,
     0.09970779,
     0.14496826
    ],
    "breakout_delay": [
     1,
     2,
     6
    ],
    "bars_to_pattern_target": [
     14,
     29,
     52.5
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.43459916,
    "baseFalseStartRate": 0.42479675,
    "throwbackRate": 0.70588235,
    "targetHitRate": 0.29218107
   },
   "confirmRate": 0.68164794,
   "oneEveryBars": 1031,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "indices",
   "tf": "1d",
   "side": "all",
   "n": 122,
   "symbols": 14,
   "first": "1980-09-09",
   "last": "2026-09-21",
   "win10": 0.68032787,
   "baseWin10": 0.57352535,
   "excess10": {
    "mean": 0.0033223,
    "low": -0.0024749,
    "high": 0.00944739,
    "q": 0.63296041,
    "stable": true
   },
   "trade": {
    "n": 121,
    "winRate": 0.24793388,
    "expectancyR": 0.06209967,
    "baseWinRate": 0.36294766,
    "baseExpectancyR": 0.39766928,
    "timeoutRate": 0.20661157,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 30,
    "stops": 66,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     20.25,
     40,
     57.75
    ],
    "bars_to_stop": [
     10,
     21.5,
     31
    ],
    "bars_in_trade": [
     15,
     31,
     77
    ],
    "mfe_r": [
     0.45920733,
     0.98360723,
     1.99632668
    ],
    "stopped_after_1r": 0.25757576,
    "duration": [
     28,
     39.5,
     67.75
    ],
    "height_pct": [
     0.06320212,
     0.09381002,
     0.148013
    ],
    "breakout_delay": [
     1,
     2,
     6
    ],
    "bars_to_pattern_target": [
     13.75,
     25,
     43.25
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.37288136,
    "baseFalseStartRate": 0.3681694,
    "throwbackRate": 0.73109244,
    "targetHitRate": 0.29752066
   },
   "confirmRate": 0.68503937,
   "oneEveryBars": 1133,
   "verdict": "no_edge",
   "verdictTrade": "weak_evidence"
  },
  {
   "market": "forex",
   "tf": "1d",
   "side": "all",
   "n": 3,
   "symbols": 2,
   "first": "2013-04-05",
   "last": "2020-12-10",
   "win10": 0.66666667,
   "baseWin10": 0.52859131,
   "excess10": {
    "mean": 0.00609593,
    "low": null,
    "high": null,
    "q": null,
    "stable": false
   },
   "trade": {
    "n": 3,
    "winRate": 0.33333333,
    "expectancyR": 1.27114592,
    "baseWinRate": 0.33333333,
    "baseExpectancyR": 0.82256783,
    "timeoutRate": 0.66666667,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 1,
    "stops": 0,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     63,
     63,
     63
    ],
    "bars_to_stop": null,
    "bars_in_trade": [
     81.5,
     100,
     100
    ],
    "mfe_r": [
     1.10227263,
     1.28356826,
     1.65288085
    ],
    "stopped_after_1r": null,
    "duration": [
     34.5,
     42,
     144
    ],
    "height_pct": [
     0.05044974,
     0.07091751,
     0.14162471
    ],
    "breakout_delay": [
     2.5,
     4,
     4.5
    ],
    "bars_to_pattern_target": [
     53,
     53,
     53
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0,
    "baseFalseStartRate": 0.41666667,
    "throwbackRate": 1,
    "targetHitRate": 0.33333333
   },
   "confirmRate": 0.66666667,
   "oneEveryBars": 29463,
   "verdict": "insufficient_data",
   "verdictTrade": "insufficient_data"
  },
  {
   "market": "commodities",
   "tf": "1d",
   "side": "all",
   "n": 53,
   "symbols": 15,
   "first": "2002-05-30",
   "last": "2026-08-17",
   "win10": 0.50943396,
   "baseWin10": 0.51957831,
   "excess10": {
    "mean": -0.0009398,
    "low": -0.02135094,
    "high": 0.01534008,
    "q": 0.97232328,
    "stable": false
   },
   "trade": {
    "n": 51,
    "winRate": 0.33333333,
    "expectancyR": 0.16442835,
    "baseWinRate": 0.36437909,
    "baseExpectancyR": 0.25440742,
    "timeoutRate": 0.15686275,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 17,
    "stops": 26,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     18,
     39,
     81
    ],
    "bars_to_stop": [
     9,
     20.5,
     28
    ],
    "bars_in_trade": [
     16.5,
     28,
     71
    ],
    "mfe_r": [
     0.25251628,
     1.00896466,
     2.04707074
    ],
    "stopped_after_1r": 0.15384615,
    "duration": [
     29,
     53,
     71
    ],
    "height_pct": [
     0.11145105,
     0.15557116,
     0.22147103
    ],
    "breakout_delay": [
     1,
     3,
     6
    ],
    "bars_to_pattern_target": [
     16.5,
     28,
     50.75
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.4,
    "baseFalseStartRate": 0.4009434,
    "throwbackRate": 0.68627451,
    "targetHitRate": 0.39215686
   },
   "confirmRate": 0.73846154,
   "oneEveryBars": 1446,
   "verdict": "no_edge",
   "verdictTrade": "no_edge"
  },
  {
   "market": "all",
   "tf": "1d",
   "side": "all",
   "n": 9220,
   "symbols": 1605,
   "first": "1971-02-25",
   "last": "2026-10-28",
   "win10": 0.54097826,
   "baseWin10": 0.54586586,
   "excess10": {
    "mean": 0.00057442,
    "low": -0.00120434,
    "high": 0.00232447,
    "q": 0.81673042,
    "stable": false
   },
   "trade": {
    "n": 9135,
    "winRate": 0.30793651,
    "expectancyR": 0.16821918,
    "baseWinRate": 0.33130816,
    "baseExpectancyR": 0.2381496,
    "timeoutRate": 0.16551724,
    "triggeredRate": null,
    "invalidatedRate": null,
    "hits": 2813,
    "stops": 4810,
    "triggered": null
   },
   "timing": {
    "bars_to_target": [
     21,
     38,
     61
    ],
    "bars_to_stop": [
     10,
     21,
     39
    ],
    "bars_in_trade": [
     15,
     33,
     73
    ],
    "mfe_r": [
     0.38843438,
     1.07088733,
     2.0327512
    ],
    "stopped_after_1r": 0.1991684,
    "duration": [
     31,
     45,
     75
    ],
    "height_pct": [
     0.09829842,
     0.13897387,
     0.19963145
    ],
    "breakout_delay": [
     0,
     2,
     5
    ],
    "bars_to_pattern_target": [
     13,
     26,
     47
    ]
   },
   "breakoutStats": {
    "falseStartRate": 0.3976334,
    "baseFalseStartRate": 0.38188414,
    "throwbackRate": 0.70206684,
    "targetHitRate": 0.39268051
   },
   "confirmRate": 0.68318307,
   "oneEveryBars": 920,
   "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."
}