{"source":"Hourly OHLC bars from Dukascopy (dukascopy.com), 2003 onwards; aggregated by Perfect Indicators.","license":"CC BY 4.0 — these aggregates only. The underlying tick history belongs to Dukascopy and is not ours to relicense.","attribution":"Perfect Indicators — https://perfectindicators.com","built":"2026-09-27","seed":20260906,"draws":400,"cut":22,"horizons":[5,20,60],"headlineHorizon":20,"headlinePair":"50/200","markets":18,"days":72540,"cross":{"5":{"markets":16,"events":404,"pooledX":-4.863,"pooledBaseX":-0.022,"pooledHit":49.01,"pooledBaseHit":50,"medianExcessX":-3.534,"positive":6,"beat95":0,"below5":0,"expect95":0.8,"payers":6,"mdeX":47.8,"pooledExcessX":-4.841},"20":{"markets":16,"events":400,"pooledX":-12.52,"pooledBaseX":-0.196,"pooledHit":48,"pooledBaseHit":49.97,"medianExcessX":-2.893,"positive":7,"beat95":1,"below5":2,"expect95":0.8,"payers":7,"mdeX":92,"pooledExcessX":-12.324},"60":{"markets":16,"events":396,"pooledX":-6.842,"pooledBaseX":-0.532,"pooledHit":48.99,"pooledBaseHit":49.96,"medianExcessX":-12.666,"positive":6,"beat95":0,"below5":0,"expect95":0.8,"payers":6,"mdeX":165.1,"pooledExcessX":-6.31}},"ladder":{"pairs":108,"rank":89,"percentile":17.8,"excessX":-30.9157,"events":400,"best":{"pair":"30/150","markets":18,"events":582,"excessX":56.1287},"worst":{"pair":"30/300","markets":16,"events":361,"excessX":-75.4075},"medianExcessX":2.6505,"positive":58,"top":[{"pair":"30/150","markets":18,"events":582,"excessX":56.1287},{"pair":"25/150","markets":18,"events":630,"excessX":49.6637},{"pair":"100/250","markets":16,"events":286,"excessX":44.8184},{"pair":"15/150","markets":18,"events":778,"excessX":43.5083},{"pair":"25/125","markets":18,"events":735,"excessX":42.4335}]},"state":{"markets":18,"afterX":-6.014,"ordinaryX":3.35,"gapX":-7.221,"positive":8},"filter":{"markets":18,"above":52.3,"aboveBase":51.83,"below":48.83,"belowBase":48.17,"gapPts":1.29,"netX":0.5915,"positive":13,"days":68922,"lens":[{"n":50,"markets":18,"gapPts":-0.62,"positive":7},{"n":75,"markets":18,"gapPts":0.02,"positive":9},{"n":100,"markets":18,"gapPts":0.03,"positive":9},{"n":125,"markets":18,"gapPts":0.43,"positive":12},{"n":150,"markets":18,"gapPts":0.78,"positive":12},{"n":175,"markets":18,"gapPts":1.02,"positive":13},{"n":200,"markets":18,"gapPts":1.29,"positive":13},{"n":225,"markets":18,"gapPts":1.14,"positive":12},{"n":250,"markets":18,"gapPts":1.47,"positive":13},{"n":275,"markets":18,"gapPts":1.33,"positive":14},{"n":300,"markets":18,"gapPts":1,"positive":12}],"plain":{"markets":18,"gapPts":1.31,"positive":14}},"perMarket":[{"id":"eurusd","days":5932,"events":35,"h5":{"n":35,"hit":37.14,"baseHit":50.01,"netX":-15.326,"medX":-13.6,"baseNetX":0.021,"excessX":-15.347,"nullMeanX":0.326,"nullP95X":40.714,"pctile":26.3},"h20":{"n":35,"hit":62.86,"baseHit":50.02,"netX":33.054,"medX":85,"baseNetX":0.069,"excessX":32.985,"nullMeanX":1.351,"nullP95X":89.737,"pctile":75.8},"h60":{"n":35,"hit":65.71,"baseHit":49.95,"netX":121.214,"medX":138.9,"baseNetX":0.168,"excessX":121.047,"nullMeanX":6.528,"nullP95X":158.691,"pctile":87},"state":{"n":677,"netX":68.139,"ctlN":5035,"ctlX":-2.376,"gapX":70.515},"filter":{"aboveN":2997,"above":51.35,"aboveX":0.9862,"belowN":2734,"below":50.69,"belowX":1.3846,"gapPts":2.05,"netX":1.1763,"baseUp":50.34,"baseDn":49.66},"plain":{"gapPts":1.07,"netX":-0.1022,"aboveN":2993}},{"id":"gbpusd","days":5239,"events":32,"h5":{"n":32,"hit":46.88,"baseHit":50,"netX":-21.656,"medX":-1.958,"baseNetX":0,"excessX":-21.656,"nullMeanX":1.101,"nullP95X":50.602,"pctile":23.3},"h20":{"n":32,"hit":34.38,"baseHit":50,"netX":-53.224,"medX":-51.5,"baseNetX":0,"excessX":-53.224,"nullMeanX":6.455,"nullP95X":103.401,"pctile":15.8},"h60":{"n":30,"hit":43.33,"baseHit":50,"netX":-38.308,"medX":-69.25,"baseNetX":0,"excessX":-38.308,"nullMeanX":0.891,"nullP95X":188.683,"pctile":36.8},"state":{"n":646,"netX":-40.308,"ctlN":4373,"ctlX":2.505,"gapX":-42.813},"filter":{"aboveN":2595,"above":50.21,"aboveX":-0.5225,"belowN":2443,"below":50.8,"belowX":1.1058,"gapPts":1.01,"netX":0.2671,"baseUp":49.7,"baseDn":50.3},"plain":{"gapPts":0.68,"netX":-0.2125,"aboveN":2532}},{"id":"usdchf","days":3260,"events":19,"h5":{"n":19,"hit":10.53,"baseHit":50.01,"netX":-35.197,"medX":-50.667,"baseNetX":-0.283,"excessX":-34.915,"nullMeanX":0.609,"nullP95X":46.342,"pctile":9.5},"h20":{"n":19,"hit":21.05,"baseHit":49.89,"netX":-116.197,"medX":-150.417,"baseNetX":-1.176,"excessX":-115.021,"nullMeanX":-2.666,"nullP95X":94.32,"pctile":2.3},"h60":{"n":19,"hit":36.84,"baseHit":49.72,"netX":-138.224,"medX":-120.167,"baseNetX":-3.71,"excessX":-134.514,"nullMeanX":-11.651,"nullP95X":145.145,"pctile":10.8},"state":{"n":394,"netX":26.981,"ctlN":2646,"ctlX":-0.182,"gapX":27.163},"filter":{"aboveN":1279,"above":51.92,"aboveX":-2.7069,"belowN":1780,"below":47.92,"belowX":-0.1369,"gapPts":-0.16,"netX":-1.2115,"baseUp":51.95,"baseDn":48.05},"plain":{"gapPts":1.32,"netX":-1.6646,"aboveN":1277}},{"id":"usdjpy","days":4594,"events":21,"h5":{"n":21,"hit":57.14,"baseHit":50.21,"netX":44.143,"medX":36,"baseNetX":0.264,"excessX":43.879,"nullMeanX":1.392,"nullP95X":63.948,"pctile":89.5},"h20":{"n":21,"hit":52.38,"baseHit":50.2,"netX":15.376,"medX":7.6,"baseNetX":1.012,"excessX":14.364,"nullMeanX":-4.548,"nullP95X":126.933,"pctile":60.3},"h60":{"n":21,"hit":61.9,"baseHit":50.33,"netX":82.033,"medX":75.5,"baseNetX":3.168,"excessX":78.865,"nullMeanX":4.556,"nullP95X":227.048,"pctile":72},"state":{"n":441,"netX":-51.451,"ctlN":3933,"ctlX":15.754,"gapX":-67.205},"filter":{"aboveN":2491,"above":52.79,"aboveX":1.4417,"belowN":1902,"below":49,"belowX":-0.6657,"gapPts":1.79,"netX":0.5293,"baseUp":51.92,"baseDn":48.08},"plain":{"gapPts":2.98,"netX":1.1702,"aboveN":2470}},{"id":"audusd","days":5761,"events":36,"h5":{"n":36,"hit":52.78,"baseHit":50,"netX":-3.569,"medX":1.542,"baseNetX":0,"excessX":-3.569,"nullMeanX":1.152,"nullP95X":30.236,"pctile":38.5},"h20":{"n":36,"hit":47.22,"baseHit":50,"netX":-31.292,"medX":-20.708,"baseNetX":0,"excessX":-31.292,"nullMeanX":-1.673,"nullP95X":61.005,"pctile":22.3},"h60":{"n":36,"hit":36.11,"baseHit":50,"netX":-11.595,"medX":-39.542,"baseNetX":0,"excessX":-11.595,"nullMeanX":1.813,"nullP95X":113.917,"pctile":41.5},"state":{"n":751,"netX":14.111,"ctlN":4790,"ctlX":-5.673,"gapX":19.784},"filter":{"aboveN":2787,"above":51.88,"aboveX":0.1521,"belowN":2773,"below":48.86,"belowX":0.2199,"gapPts":0.75,"netX":0.1859,"baseUp":51.4,"baseDn":48.6},"plain":{"gapPts":1.33,"netX":-0.2519,"aboveN":2684}},{"id":"usdcad","days":5950,"events":36,"h5":{"n":36,"hit":55.56,"baseHit":50,"netX":13.409,"medX":8.7,"baseNetX":0,"excessX":13.409,"nullMeanX":0.232,"nullP95X":25.846,"pctile":79.3},"h20":{"n":36,"hit":44.44,"baseHit":50,"netX":-19.12,"medX":-5.533,"baseNetX":0,"excessX":-19.12,"nullMeanX":1.987,"nullP95X":53.798,"pctile":23.3},"h60":{"n":36,"hit":41.67,"baseHit":50,"netX":-21.935,"medX":-47.1,"baseNetX":0,"excessX":-21.935,"nullMeanX":-1.841,"nullP95X":84.957,"pctile":33.8},"state":{"n":744,"netX":-7.085,"ctlN":4986,"ctlX":-3.851,"gapX":-3.234},"filter":{"aboveN":2961,"above":50.42,"aboveX":-0.2936,"belowN":2788,"below":49.35,"belowX":-0.4418,"gapPts":-0.22,"netX":-0.3655,"baseUp":50.34,"baseDn":49.66},"plain":{"gapPts":1.17,"netX":0.3221,"aboveN":2968}},{"id":"nzdusd","days":5189,"events":40,"h5":{"n":40,"hit":45,"baseHit":50,"netX":-1.679,"medX":-1.306,"baseNetX":0,"excessX":-1.679,"nullMeanX":-0.163,"nullP95X":19.3,"pctile":44.3},"h20":{"n":38,"hit":47.37,"baseHit":50,"netX":-5.76,"medX":-7.556,"baseNetX":0,"excessX":-5.76,"nullMeanX":-1.334,"nullP95X":33.582,"pctile":41.3},"h60":{"n":37,"hit":43.24,"baseHit":50.06,"netX":-13.851,"medX":-23.056,"baseNetX":-0.114,"excessX":-13.737,"nullMeanX":-0.345,"nullP95X":66.159,"pctile":35.5},"state":{"n":790,"netX":-5.014,"ctlN":4179,"ctlX":-9.704,"gapX":4.69},"filter":{"aboveN":2662,"above":52.25,"aboveX":-0.6299,"belowN":2326,"below":48.41,"belowX":-0.5954,"gapPts":0.66,"netX":-0.6138,"baseUp":51.9,"baseDn":48.1},"plain":{"gapPts":-0.4,"netX":-0.1452,"aboveN":2520}},{"id":"eurjpy","days":5258,"events":28,"h5":{"n":28,"hit":50,"baseHit":50,"netX":12.55,"medX":-0.633,"baseNetX":0,"excessX":12.55,"nullMeanX":1.558,"nullP95X":46.321,"pctile":67.8},"h20":{"n":28,"hit":53.57,"baseHit":50,"netX":108.967,"medX":51.7,"baseNetX":0,"excessX":108.967,"nullMeanX":-1.165,"nullP95X":85.486,"pctile":98.5},"h60":{"n":28,"hit":50,"baseHit":50,"netX":10.04,"medX":-7.433,"baseNetX":0,"excessX":10.04,"nullMeanX":1.248,"nullP95X":171.429,"pctile":52},"state":{"n":558,"netX":60.723,"ctlN":4480,"ctlX":-5.475,"gapX":66.198},"filter":{"aboveN":2996,"above":51.6,"aboveX":1.0428,"belowN":2061,"below":48.42,"belowX":0.0881,"gapPts":0.03,"netX":0.6537,"baseUp":51.59,"baseDn":48.41},"plain":{"gapPts":2.49,"netX":1.5993,"aboveN":3033}},{"id":"gbpjpy","days":4190,"events":24,"h5":{"n":24,"hit":70.83,"baseHit":50,"netX":13.169,"medX":31.05,"baseNetX":0,"excessX":13.169,"nullMeanX":-0.576,"nullP95X":53.031,"pctile":67.3},"h20":{"n":24,"hit":50,"baseHit":50,"netX":44.283,"medX":-2.425,"baseNetX":0,"excessX":44.283,"nullMeanX":1.561,"nullP95X":116.977,"pctile":76.5},"h60":{"n":24,"hit":41.67,"baseHit":50,"netX":-6.404,"medX":-172.95,"baseNetX":0,"excessX":-6.404,"nullMeanX":11.78,"nullP95X":233.063,"pctile":45.5},"state":{"n":460,"netX":12.596,"ctlN":3510,"ctlX":32.734,"gapX":-20.138},"filter":{"aboveN":2407,"above":52.35,"aboveX":0.9173,"belowN":1582,"below":49.62,"belowX":1.1889,"gapPts":1.97,"netX":1.025,"baseUp":51.52,"baseDn":48.48},"plain":{"gapPts":3.14,"netX":1.6768,"aboveN":2503}},{"id":"eurgbp","days":2471,"events":16,"h5":{"n":16,"hit":68.75,"baseHit":50,"netX":29.755,"medX":21.417,"baseNetX":0,"excessX":29.755,"nullMeanX":-0.17,"nullP95X":32.292,"pctile":93.8},"h20":{"n":16,"hit":68.75,"baseHit":50,"netX":31.719,"medX":33.167,"baseNetX":0,"excessX":31.719,"nullMeanX":-2.755,"nullP95X":59.781,"pctile":82.8},"h60":{"n":16,"hit":50,"baseHit":50,"netX":-28.948,"medX":-18.792,"baseNetX":0,"excessX":-28.948,"nullMeanX":-0.738,"nullP95X":99.776,"pctile":32},"state":{"n":319,"netX":1.597,"ctlN":1932,"ctlX":-8.228,"gapX":9.825},"filter":{"aboveN":1248,"above":48,"aboveX":-0.2457,"belowN":1022,"below":47.65,"belowX":-1.6967,"gapPts":-4.35,"netX":-0.8989,"baseUp":49.91,"baseDn":50.09},"plain":{"gapPts":-3.22,"netX":-0.5108,"aboveN":1285}},{"id":"xauusd","days":6061,"events":33,"h5":{"n":33,"hit":48.48,"baseHit":49.83,"netX":-7.255,"medX":-3.567,"baseNetX":-0.336,"excessX":-6.918,"nullMeanX":2.277,"nullP95X":49.344,"pctile":36.5},"h20":{"n":33,"hit":45.45,"baseHit":49.8,"netX":-15.276,"medX":-4.04,"baseNetX":-1.366,"excessX":-13.91,"nullMeanX":-0.522,"nullP95X":83.122,"pctile":36.8},"h60":{"n":33,"hit":45.45,"baseHit":49.64,"netX":-22.202,"medX":-13.867,"baseNetX":-4.043,"excessX":-18.158,"nullMeanX":3.453,"nullP95X":154.205,"pctile":36},"state":{"n":664,"netX":-43.069,"ctlN":5177,"ctlX":31.311,"gapX":-74.38},"filter":{"aboveN":4053,"above":53.54,"aboveX":2.6561,"belowN":1807,"below":48.04,"belowX":-1.1952,"gapPts":1.58,"netX":1.4685,"baseUp":53.04,"baseDn":46.96},"plain":{"gapPts":0.74,"netX":0.9649,"aboveN":4150}},{"id":"xagusd","days":5228,"events":31,"h5":{"n":31,"hit":48.39,"baseHit":49.88,"netX":5.809,"medX":-1.133,"baseNetX":-0.063,"excessX":5.872,"nullMeanX":-0.411,"nullP95X":14.895,"pctile":74.3},"h20":{"n":31,"hit":35.48,"baseHit":49.88,"netX":-0.283,"medX":-8.8,"baseNetX":-0.255,"excessX":-0.027,"nullMeanX":-0.247,"nullP95X":32.999,"pctile":49.5},"h60":{"n":30,"hit":46.67,"baseHit":50,"netX":5.747,"medX":-5.65,"baseNetX":0,"excessX":5.747,"nullMeanX":-0.914,"nullP95X":57.531,"pctile":54.5},"state":{"n":586,"netX":-7.014,"ctlN":4422,"ctlX":4.195,"gapX":-11.209},"filter":{"aboveN":2992,"above":54.61,"aboveX":0.4554,"belowN":2035,"below":48.8,"belowX":-0.2839,"gapPts":3.41,"netX":0.1562,"baseUp":53.13,"baseDn":46.87},"plain":{"gapPts":4.07,"netX":0.2961,"aboveN":3056}},{"id":"usa30idxusd","days":2211,"events":10,"h5":{"n":10,"hit":40,"baseHit":50,"netX":-150.022,"medX":-27.785,"baseNetX":0,"excessX":-150.022,"nullMeanX":-7.214,"nullP95X":218.805,"pctile":11.3},"h20":{"n":10,"hit":30,"baseHit":50,"netX":-509.181,"medX":-317.678,"baseNetX":0,"excessX":-509.181,"nullMeanX":25.179,"nullP95X":435.41,"pctile":1.3},"h60":{"n":10,"hit":60,"baseHit":50,"netX":-307.986,"medX":120.122,"baseNetX":0,"excessX":-307.986,"nullMeanX":-7.678,"nullP95X":658.294,"pctile":20.8},"state":{"n":196,"netX":-148.046,"ctlN":1795,"ctlX":100.344,"gapX":-248.39},"filter":{"aboveN":1622,"above":53.82,"aboveX":6.2898,"belowN":388,"below":45.62,"belowX":-18.4824,"gapPts":-0.56,"netX":1.5079,"baseUp":53.93,"baseDn":46.07},"plain":{"gapPts":2.81,"netX":3.0468,"aboveN":1667}},{"id":"usatechidxusd","days":1733,"events":4,"h5":{"n":4,"hit":100,"baseHit":50,"netX":383.983,"medX":375.888,"baseNetX":0,"excessX":383.983,"nullMeanX":2.606,"nullP95X":266.798,"pctile":98.5},"h20":{"n":4,"hit":50,"baseHit":50,"netX":-89.841,"medX":171.9,"baseNetX":0,"excessX":-89.841,"nullMeanX":36.552,"nullP95X":441.062,"pctile":28.7},"h60":{"n":4,"hit":75,"baseHit":50,"netX":534.288,"medX":1518.704,"baseNetX":0,"excessX":534.288,"nullMeanX":-19.202,"nullP95X":884.764,"pctile":83.3},"state":{"n":84,"netX":-206.875,"ctlN":1429,"ctlX":142.943,"gapX":-349.818},"filter":{"aboveN":1212,"above":56.02,"aboveX":10.7736,"belowN":320,"below":50.63,"belowX":2.2432,"gapPts":6.65,"netX":8.9918,"baseUp":54.63,"baseDn":45.37},"plain":{"gapPts":6.06,"netX":7.5768,"aboveN":1268}},{"id":"usa500idxusd","days":1732,"events":4,"h5":{"n":4,"hit":75,"baseHit":50,"netX":57.011,"medX":65.105,"baseNetX":0,"excessX":57.011,"nullMeanX":1.96,"nullP95X":130.221,"pctile":77},"h20":{"n":4,"hit":25,"baseHit":50,"netX":-224.637,"medX":-244.158,"baseNetX":0,"excessX":-224.637,"nullMeanX":5.539,"nullP95X":223.456,"pctile":3.8},"h60":{"n":4,"hit":75,"baseHit":50,"netX":-54.418,"medX":153.904,"baseNetX":0,"excessX":-54.418,"nullMeanX":-5.23,"nullP95X":358.677,"pctile":38.5},"state":{"n":84,"netX":-100.967,"ctlN":1428,"ctlX":74.008,"gapX":-174.975},"filter":{"aboveN":1232,"above":55.76,"aboveX":4.1332,"belowN":299,"below":48.49,"belowX":-3.2886,"gapPts":4.26,"netX":2.6837,"baseUp":54.93,"baseDn":45.07},"plain":{"gapPts":5.7,"netX":3.3435,"aboveN":1272}},{"id":"deuidxeur","days":2043,"events":8,"h5":{"n":8,"hit":62.5,"baseHit":50,"netX":-3.498,"medX":170.037,"baseNetX":0,"excessX":-3.498,"nullMeanX":6.144,"nullP95X":169.281,"pctile":47},"h20":{"n":8,"hit":62.5,"baseHit":50,"netX":-27.091,"medX":42.14,"baseNetX":0,"excessX":-27.091,"nullMeanX":-9.115,"nullP95X":308.057,"pctile":44.3},"h60":{"n":8,"hit":62.5,"baseHit":50,"netX":-115.966,"medX":118.806,"baseNetX":0,"excessX":-115.966,"nullMeanX":15.323,"nullP95X":509.941,"pctile":33.8},"state":{"n":168,"netX":-89.56,"ctlN":1655,"ctlX":15.212,"gapX":-104.772},"filter":{"aboveN":1444,"above":53.32,"aboveX":3.7408,"belowN":398,"below":43.47,"belowX":-13.0034,"gapPts":-3.21,"netX":0.1229,"baseUp":54.02,"baseDn":45.98},"plain":{"gapPts":-3.69,"netX":-1.3935,"aboveN":1411}},{"id":"btcusd","days":2879,"events":20,"h5":{"n":20,"hit":55,"baseHit":50,"netX":-30.443,"medX":4.665,"baseNetX":0,"excessX":-30.443,"nullMeanX":-1.56,"nullP95X":60.685,"pctile":19},"h20":{"n":19,"hit":57.89,"baseHit":49.76,"netX":1.902,"medX":12.3,"baseNetX":-1.414,"excessX":3.315,"nullMeanX":-6.851,"nullP95X":130.664,"pctile":56.5},"h60":{"n":19,"hit":68.42,"baseHit":49.73,"netX":23.473,"medX":97.835,"baseNetX":-3.948,"excessX":27.421,"nullMeanX":-8.821,"nullP95X":212.009,"pctile":56.8},"state":{"n":329,"netX":36.904,"ctlN":2330,"ctlX":14.543,"gapX":22.361},"filter":{"aboveN":1574,"above":52.48,"aboveX":2.4238,"belowN":1104,"below":49.18,"belowX":-0.0317,"gapPts":1.66,"netX":1.4115,"baseUp":51.76,"baseDn":48.24},"plain":{"gapPts":1.31,"netX":1.5495,"aboveN":1813}},{"id":"ethusd","days":2809,"events":15,"h5":{"n":15,"hit":40,"baseHit":50.25,"netX":-15.182,"medX":-6.933,"baseNetX":0.222,"excessX":-15.404,"nullMeanX":0.055,"nullP95X":55.871,"pctile":31.8},"h20":{"n":14,"hit":71.43,"baseHit":50,"netX":44.343,"medX":29.033,"baseNetX":0,"excessX":44.343,"nullMeanX":1.569,"nullP95X":119.376,"pctile":70.3},"h60":{"n":14,"hit":64.29,"baseHit":50,"netX":91.3,"medX":106.633,"baseNetX":0,"excessX":91.3,"nullMeanX":12.423,"nullP95X":225.486,"pctile":74},"state":{"n":280,"netX":79.73,"ctlN":2309,"ctlX":-9.95,"gapX":89.68},"filter":{"aboveN":1386,"above":52.24,"aboveX":1.8444,"belowN":1222,"below":49.35,"belowX":0.6996,"gapPts":1.58,"netX":1.308,"baseUp":51.34,"baseDn":48.66},"plain":{"gapPts":-1.54,"netX":-0.6936,"aboveN":1498}}]}