{
  "provider": "ICMarketsSC-Demo / MT5",
  "price_side": "Bid",
  "time_basis": "Original MT5 labels, server offset unverified. D1 uses broker daily boundaries.",
  "selection": {
    "version": "lab55-rules-v1",
    "range": {
      "first": "2026-01-01 00:00",
      "last": "2026-09-30 23:59",
      "time_basis": "Original MT5 labels, broker offset unverified"
    },
    "selector": "First chronological match in the assigned source, using only the pattern and earlier records. No filter uses any later OHLC.",
    "preceding_context": "Three strict close-to-close changes use four closed observations before the first pattern bar.",
    "display": {
      "context_records_before_pattern": 7,
      "future_records_after_pattern": 5
    },
    "specs": [
      {
        "id": "hammer",
        "file": "GBPUSD-H4.csv",
        "pattern_bars": 1,
        "rule": "3 preceding close-to-close declines; 0.10<B/R<=0.30; D/R>=0.60; U/R<=0.10"
      },
      {
        "id": "shooting-star",
        "file": "USDJPY-H4.csv",
        "pattern_bars": 1,
        "rule": "3 preceding close-to-close advances; 0.10<B/R<=0.30; U/R>=0.60; D/R<=0.10"
      },
      {
        "id": "doji",
        "file": "EURUSD-D1.csv",
        "pattern_bars": 1,
        "rule": "R>0; B/R<=0.10; no directional or outcome requirement"
      },
      {
        "id": "harami",
        "file": "GBPUSD-H1.csv",
        "pattern_bars": 2,
        "rule": "3 preceding close-to-close declines before first; first bearish B/R>=0.60; second bullish, body strictly inside first body, B2<=0.50*B1; second range is not strictly inside first range"
      },
      {
        "id": "fx-morning-star",
        "file": "USDJPY-H4.csv",
        "pattern_bars": 3,
        "rule": "3 preceding close-to-close declines before first; first bearish B/R>=0.60; middle B/R<=0.30; third bullish B/R>=0.60 and C3>=(O1+C1)/2; middle body not gapped below first body"
      },
      {
        "id": "not-a-hammer",
        "file": "GBPUSD-H4.csv",
        "pattern_bars": 1,
        "rule": "3 preceding close-to-close declines; 0.30<B/R<=0.35; D/R>=0.60; U/R<=0.10; only hammer body-share threshold fails"
      }
    ]
  },
  "source_exports": [
    {
      "file": "lab55-source-eurusd-d1.csv",
      "sha256": "0fdc92afdc0ae246a15b0c54b8bbc07f045b1a3bedf88307f908e85dca93bd80",
      "original_file": "EURUSD-D1.csv",
      "source_sha256": "0fdc92afdc0ae246a15b0c54b8bbc07f045b1a3bedf88307f908e85dca93bd80",
      "symbol": "EURUSD",
      "timeframe": "D1",
      "digits": 5,
      "point": 1e-05
    },
    {
      "file": "lab55-source-gbpusd-h1.csv",
      "sha256": "5289cd58e0fb935e0c65f0f57ac5047b4f27db5f8e6ed29fe937c559baba9df9",
      "original_file": "GBPUSD-H1.csv",
      "source_sha256": "5289cd58e0fb935e0c65f0f57ac5047b4f27db5f8e6ed29fe937c559baba9df9",
      "symbol": "GBPUSD",
      "timeframe": "H1",
      "digits": 5,
      "point": 1e-05
    },
    {
      "file": "lab55-source-gbpusd-h4.csv",
      "sha256": "681a25d3bf5cb5a310b87d45c7f4e8123b72f5dc46d6647b556b9d0718e00ac8",
      "original_file": "GBPUSD-H4.csv",
      "source_sha256": "681a25d3bf5cb5a310b87d45c7f4e8123b72f5dc46d6647b556b9d0718e00ac8",
      "symbol": "GBPUSD",
      "timeframe": "H4",
      "digits": 5,
      "point": 1e-05
    },
    {
      "file": "lab55-source-usdjpy-h4.csv",
      "sha256": "3399fa480a6389247ad55074345a82e37f2cc425944d7dadbbefc4a8d4bf8d3c",
      "original_file": "USDJPY-H4.csv",
      "source_sha256": "3399fa480a6389247ad55074345a82e37f2cc425944d7dadbbefc4a8d4bf8d3c",
      "symbol": "USDJPY",
      "timeframe": "H4",
      "digits": 3,
      "point": 0.001
    }
  ],
  "normalization": "Nearest declared symbol point, ROUND_HALF_EVEN; only binary serialization tails below 1e-6 points are removed. Raw strings remain in CSV.",
  "cases": [
    {
      "id": "lab55-hammer",
      "heading": "Młot: co wynika z proporcji, a co z następnej świecy?",
      "prompt": "Zmierz udział korpusu oraz obu cieni. Czy świeca spełnia progi młota z artykułu i czy przed nią wystąpiły trzy kolejne spadki Close? Zapisz maksimum, ponad którym musiałoby wypaść następne zamknięcie.",
      "answer": "Korpus zajmuje 17,27% zakresu, dolny cień 73,38%, a górny 9,35%, więc progi geometrii są spełnione. Przed układem wystąpiły trzy kolejne spadki zamknięcia. Następne C=1,31990 nie przekracza H=1,32026; w naszym bezpośrednim oknie nie ma potwierdzenia. Późniejszy wzrost, widoczny po rozwinięciu wykresu, nie zmienia wstecz tej klasyfikacji.",
      "known_after_original_mt5": "2026-06-29 04:00",
      "source_file": "GBPUSD-H4.csv",
      "source_sha256": "681a25d3bf5cb5a310b87d45c7f4e8123b72f5dc46d6647b556b9d0718e00ac8",
      "pattern_indices": [
        3508,
        3508
      ],
      "before_csv": "lab55-hammer-before.csv",
      "after_csv": "lab55-hammer-after.csv",
      "rule": "3 preceding close-to-close declines; 0.10<B/R<=0.30; D/R>=0.60; U/R<=0.10"
    },
    {
      "id": "lab55-shooting-star",
      "heading": "Spadająca gwiazda: kolor nie zastępuje pomiaru",
      "prompt": "Sprawdź wcześniejsze zamknięcia i policz trzy udziały w zakresie świecy. Czy wzrostowy kolor korpusu wyklucza tę geometrię? Zapisz minimum, pod którym musiałaby zamknąć się bezpośrednio następna świeca.",
      "answer": "Wcześniejsze trzy zmiany Close są dodatnie, a proporcje wynoszą: korpus 24,28%, górny cień 65,93%, dolny 9,79%. Kształt spełnia przyjęte progi mimo wzrostowego korpusu. Następne C=154,893 pozostaje ponad L=154,790, więc brak potwierdzenia w wymaganym terminie. Dopiero kolejna świeca zamyka się niżej; nie zaliczamy jej jako spóźnionego potwierdzenia tej samej reguły.",
      "known_after_original_mt5": "2026-02-02 04:00",
      "source_file": "USDJPY-H4.csv",
      "source_sha256": "3399fa480a6389247ad55074345a82e37f2cc425944d7dadbbefc4a8d4bf8d3c",
      "pattern_indices": [
        2878,
        2878
      ],
      "before_csv": "lab55-shooting-star-before.csv",
      "after_csv": "lab55-shooting-star-after.csv",
      "rule": "3 preceding close-to-close advances; 0.10<B/R<=0.30; U/R>=0.60; D/R<=0.10"
    },
    {
      "id": "lab55-doji",
      "heading": "Doji: mały korpus nie wyznacza kierunku",
      "prompt": "Porównaj różnicę Open–Close z całym zakresem doby brokera. Sprawdź próg B/R≤10%, a następnie nazwij tylko to, co rzeczywiście widać w tych danych. Nie wybieraj kierunku przyszłego ruchu na podstawie samego koloru lub długiego cienia.",
      "answer": "Korpus ma 3,87% zakresu, więc rekord spełnia próg doji. Zakres wynosi 69,7 pipsa, a różnica Open–Close 2,7 pipsa: mały wynik netto nie oznacza małego ruchu wewnątrz doby. Następne C=1,16884 pozostaje w zakresie doji. W dalszych pięciu dostępnych dobach cena zmienia położenie, ale z tej jednej, wybranej świecy nie wyznaczamy częstości ani kierunkowej przewagi.",
      "known_after_original_mt5": "2026-01-06 00:00",
      "source_file": "EURUSD-D1.csv",
      "source_sha256": "0fdc92afdc0ae246a15b0c54b8bbc07f045b1a3bedf88307f908e85dca93bd80",
      "pattern_indices": [
        1293,
        1293
      ],
      "before_csv": "lab55-doji-before.csv",
      "after_csv": "lab55-doji-after.csv",
      "rule": "R>0; B/R<=0.10; no directional or outcome requirement"
    },
    {
      "id": "lab55-harami",
      "heading": "Harami: korpus mieści się w korpusie, ale zakres już nie",
      "prompt": "Porównaj osobno korpusy i pełne zakresy dwóch świec. Które granice trzeba wykorzystać do harami, a które do inside bara? Sprawdź także wcześniejsze spadki i moment, w którym komplet obu zamknięć jest już znany.",
      "answer": "Pierwszy korpus obejmuje [1,36047; 1,36090], a drugi [1,36064; 1,36078] i mieści się w nim ściśle. Jednocześnie H drugiej świecy 1,36098 przekracza H pierwszej 1,36096, więc nie ma ścisłego inside bara. Mały korpus daje tu bycze harami według opisanej konwencji, nie automatyczne odwrócenie. Następne zamknięcie 1,36042 nie wychodzi ponad maksimum układu, a późniejsze spadki pokazują, dlaczego nazwy formacji i przyszłego wyniku nie można utożsamiać.",
      "known_after_original_mt5": "2026-05-12 02:00",
      "source_file": "GBPUSD-H1.csv",
      "source_sha256": "5289cd58e0fb935e0c65f0f57ac5047b4f27db5f8e6ed29fe937c559baba9df9",
      "pattern_indices": [
        3216,
        3217
      ],
      "before_csv": "lab55-harami-before.csv",
      "after_csv": "lab55-harami-after.csv",
      "rule": "3 preceding close-to-close declines before first; first bearish B/R>=0.60; second bullish, body strictly inside first body, B2<=0.50*B1; second range is not strictly inside first range"
    },
    {
      "id": "lab55-fx-morning-star",
      "heading": "Gwiazda poranna FX: trzy świece, jawnie bez klasycznej luki",
      "prompt": "Najpierw sprawdź duży spadkowy korpus, potem mały środkowy i wzrostowy trzeci. Czy C trzeciej dociera co najmniej do połowy pierwszego korpusu? Porównaj też korpusy pierwszej i drugiej świecy: bez luki rozpoznajemy wyłącznie zadeklarowany wariant FX.",
      "answer": "Środkowy korpus to 23,62% jego zakresu, a trzecie C=159,732 przekracza połowę pierwszego korpusu 159,529. Korpusy pierwszej i drugiej świecy nie są rozdzielone klasyczną luką, dlatego etykieta brzmi „wariant FX bez luki”. Dopiero po zamknięciu trzeciej świecy można rozpoznać cały układ; następne C=159,882 przekracza jego H=159,736. W końcu pokazanego okna C=158,954 spada jednak poniżej L=159,329, co kończy ten potwierdzony scenariusz, bez wyliczania transakcji z samego OHLC.",
      "known_after_original_mt5": "2026-03-31 00:00",
      "source_file": "USDJPY-H4.csv",
      "source_sha256": "3399fa480a6389247ad55074345a82e37f2cc425944d7dadbbefc4a8d4bf8d3c",
      "pattern_indices": [
        3121,
        3123
      ],
      "before_csv": "lab55-fx-morning-star-before.csv",
      "after_csv": "lab55-fx-morning-star-after.csv",
      "rule": "3 preceding close-to-close declines before first; first bearish B/R>=0.60; middle B/R<=0.30; third bullish B/R>=0.60 and C3>=(O1+C1)/2; middle body not gapped below first body"
    },
    {
      "id": "lab55-not-a-hammer",
      "heading": "Długi dolny cień: czy ta świeca przechodzi próg młota?",
      "prompt": "Nie oceniaj kształtu wyłącznie na oko. Policz B/R, D/R i U/R, porównaj je z progami artykułu i zapisz kwalifikację przed odsłonięciem dalszej ceny. Czy wszystkie trzy warunki są spełnione jednocześnie?",
      "answer": "Dolny cień ma 69,41% zakresu, a górny tylko 0,24%, lecz korpus zajmuje 30,35%. Przekracza dopuszczalne 30%, więc ta świeca nie spełnia naszej definicji młota. Następne C=1,35146 znajduje się ponad jej H=1,35055, ale korzystny późniejszy kierunek nie naprawia niespełnionego warunku. Można badać osobny wariant z innym progiem; nie wolno zmieniać go dopiero po obejrzeniu tego ruchu.",
      "known_after_original_mt5": "2026-04-28 16:00",
      "source_file": "GBPUSD-H4.csv",
      "source_sha256": "681a25d3bf5cb5a310b87d45c7f4e8123b72f5dc46d6647b556b9d0718e00ac8",
      "pattern_indices": [
        3247,
        3247
      ],
      "before_csv": "lab55-not-a-hammer-before.csv",
      "after_csv": "lab55-not-a-hammer-after.csv",
      "rule": "3 preceding close-to-close declines; 0.30<B/R<=0.35; D/R>=0.60; U/R<=0.10; only hammer body-share threshold fails"
    }
  ],
  "limitations": [
    "First matches illustrate definitions, not performance.",
    "Future values never enter the before frame, including its price scale.",
    "No order-flow, trade fill, historical spread cost or success-rate reconstruction.",
    "Three preceding close-to-close changes are a limited context convention, not a complete structural trend."
  ],
  "source_export_provenance": {
    "forming_bar_excluded": true,
    "trading_calls_made_in_original_export": 0,
    "new_MT5_connections": 0
  }
}
