{"slug":"bearish-candlestick-patterns","qid":"konfirmasi_volume","label":"konfirmasi_volume","post_title":"bearish-candlestick-patterns","post_url":"/blog/lang/id/bearish-candlestick-patterns#q-konfirmasi_volume","columns":["volume_bucket","kejadian_count","turun_1_sesi_pct","turun_5_sesi_pct","turun_20_sesi_pct"],"rows":[{"volume_bucket":"1. volume di bawah 0,8x rata rata","kejadian_count":269,"turun_1_sesi_pct":48.7,"turun_5_sesi_pct":44.2,"turun_20_sesi_pct":39.8},{"volume_bucket":"2. volume 0,8x sampai 1,2x","kejadian_count":597,"turun_1_sesi_pct":46.2,"turun_5_sesi_pct":44.6,"turun_20_sesi_pct":41.5},{"volume_bucket":"3. volume 1,2x sampai 2x","kejadian_count":223,"turun_1_sesi_pct":46.2,"turun_5_sesi_pct":42.2,"turun_20_sesi_pct":41.3},{"volume_bucket":"4. volume di atas 2x rata rata","kejadian_count":30,"turun_1_sesi_pct":26.7,"turun_5_sesi_pct":30,"turun_20_sesi_pct":43.3}],"shape":"table","sql":"WITH\nharian AS (\n    SELECT ticker, date,\n           argMax(toFloat64(open),   _ingest_time) AS o,\n           argMax(toFloat64(close),  _ingest_time) AS c,\n           argMax(toFloat64(volume), _ingest_time) AS v\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('AAPL', 'MSFT', 'JPM', 'JNJ', 'KO', 'PG', 'WMT', 'XOM')\n      AND date BETWEEN '2010-01-01' AND '2026-03-31'\n    GROUP BY ticker, date\n),\npecahan AS (\n    SELECT ticker, groupArray(execution_date) AS tanggal\n    FROM global_markets.stocks_splits\n    WHERE ticker IN ('AAPL', 'MSFT', 'JPM', 'JNJ', 'KO', 'PG', 'WMT', 'XOM')\n      AND execution_date BETWEEN '2009-11-01' AND '2026-05-31'\n    GROUP BY ticker\n),\nbars AS (\n    SELECT ticker, date, o, c, v,\n           lagInFrame(o, 1)   OVER w  AS p1o,\n           lagInFrame(c, 1)   OVER w  AS p1c,\n           leadInFrame(c, 1)  OVER w  AS f1c,\n           leadInFrame(c, 5)  OVER w  AS f5c,\n           leadInFrame(c, 20) OVER w  AS f20c,\n           avg(v)             OVER w2 AS vol_rata_20\n    FROM harian\n    WINDOW w  AS (PARTITION BY ticker ORDER BY date ROWS BETWEEN 20 PRECEDING AND 20 FOLLOWING),\n           w2 AS (PARTITION BY ticker ORDER BY date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING)\n)\nSELECT multiIf(b.v / b.vol_rata_20 < 0.8, '1. volume di bawah 0,8x rata rata',\n               b.v / b.vol_rata_20 < 1.2, '2. volume 0,8x sampai 1,2x',\n               b.v / b.vol_rata_20 < 2.0, '3. volume 1,2x sampai 2x',\n                                          '4. volume di atas 2x rata rata') AS volume_bucket,\n       count()                                         AS kejadian_count,\n       round(100 * countIf(b.f1c  < b.c) / count(), 1) AS turun_1_sesi_pct,\n       round(100 * countIf(b.f5c  < b.c) / count(), 1) AS turun_5_sesi_pct,\n       round(100 * countIf(b.f20c < b.c) / count(), 1) AS turun_20_sesi_pct\nFROM bars AS b\nLEFT JOIN pecahan AS s ON s.ticker = b.ticker\nWHERE b.date BETWEEN '2010-03-01' AND '2025-12-31'\n  AND b.p1c > b.p1o AND b.c < b.o AND b.o > b.p1c AND b.c < b.p1o\n  AND b.vol_rata_20 > 0 AND b.f1c > 0 AND b.f5c > 0 AND b.f20c > 0\n  AND NOT arrayExists(d -> d > b.date - 30 AND d <= b.date + 45, s.tanggal)\nGROUP BY volume_bucket\nORDER BY volume_bucket","computed_at":"2026-10-01T15:47:36.953441+00:00","elapsed":0.008396463}