Pivot points on GBPUSD, self-test 2026-11-11T12:15:49.736Z [PASS] London time from New York time equals the time-zone database on every day 2004-2026 (pre-2007 and later US rules; 02:00 New York on the change Sundays does not exist and is not a trading time): 41530 times, 0 differences [PASS] hand cases: 2024-01-16 03:15 NY = 08:15 London; 2024-03-12 04:15 NY = 08:15 London (US summer, UK winter); 2006-04-03 03:15 NY = 08:15 London (old US rule): 2024-01-16 08:15 2024-03-12 08:15 2006-04-03 08:15 [PASS] forex day: 16:59 and 17:00 New York close the day, 17:01 starts the next; Sunday evening belongs to Monday [PASS] pivots of the previous forex day by hand: P 1.2750, R1 1.2800, S1 1.2700, R2 1.2850, S2 1.2650: {"P":1.275,"R1":1.28,"S1":1.27,"R2":1.285,"S2":1.265,"range":0.010000000000000009} [PASS] PIV-REV long: rejection of S1, entry at the next minute, stop 1 pip under S2, target P: [1.272,1.2649,"target",29.999999999998916,"2024-01-16 04:01"] [PASS] PIV-REV short: rejection of R1, stop 1 pip over R2, target P: [-1,1.2851,"target",30.000000000001137] [PASS] PIV-BRK long: close above R1, stop at P, target R2: [1.279,1.275,"target",60.00000000000005] [PASS] PIV-LDN long: half out at R1 (+40 pips), stop of the rest moved to the entry and hit (0): +20 pips gross: [1.276,1.274,"target+break-even",20.000000000000018,20.000000000000018] [PASS] PIV-LDN long: both halves reach their targets (R1 and R2 in one minute): +65 pips gross: ["target+target",64.9999999999995] [PASS] PIV-LDN: the stop and the first target in one minute: the stop is taken for both halves: ["stop+stop",-20.000000000000018] [PASS] PIV-LDN: a minute opening below the stop fills at its open (1.2730): ["stop+stop",-30.000000000001137] [PASS] PIV-LDN: no target, closed at the 16:59 New York minute (+5 pips): ["close+close",4.999999999999449,"2024-01-16 16:59"] [PASS] PIV-LDN: the 08:15 bar closing exactly at P gives no trade [PASS] a day without the 08:15 London minute is not traded [PASS] a previous day with fewer than 600 minutes: no trade: short previous day data: 8293892 minutes 2004-01-01 01:05 .. 2026-09-28 15:46 New York; forex days 5905: {"no previous day":1,"short previous day":4,"traded day":5871,"no 08:15 London minute":29} [PASS] the two readings of the file agree on the minutes [PASS] PIV-REV: engine and independent re-implementation agree trade by trade: 3283 vs 3283 trades, 0 differences [PASS] days left out: the same counts in both: {"no previous day":1,"short previous day":4,"no 08:15 London minute":29} vs {"no previous day":1,"short previous day":4,"no 08:15 London minute":29} [PASS] PIV-REV: control at offset 0 reproduces the real trades: 3283 vs 3283 [PASS] PIV-BRK: engine and independent re-implementation agree trade by trade: 3452 vs 3452 trades, 0 differences [PASS] PIV-BRK: control at offset 0 reproduces the real trades: 3452 vs 3452 [PASS] PIV-LDN: engine and independent re-implementation agree trade by trade: 5072 vs 5072 trades, 0 differences [PASS] PIV-LDN: control at offset 0 reproduces the real trades: 5072 vs 5072 PASSED