Strasmore Research
Belajar Matt ConnorOleh Matt Connor

Perbezaan Stop Order vs Stop-Limit Order

Stop order menjadi market order dan dilaksanakan pada sebarang harga. Stop-limit menjadi limit order dan mungkin gagal dilaksanakan. Data lima tahun membuktikan perbezaan ini.

Stop order dan stop-limit order kedua-duanya kekal tidak aktif sehingga pasaran mencecah harga yang anda pilih, dan ia mula berbeza sebaik sahaja harga tersebut dicapai. Stop order bertukar menjadi market order dan mengambil apa jua harga yang tersedia, tidak kira sejauh mana harga itu daripada harga pencetus (trigger) anda. Stop-limit order bertukar menjadi limit order pada harga yang anda tetapkan, dan ia tidak akan dilaksanakan sekiranya harga pasaran berada di bawah paras tersebut. Satu mengutamakan penyelesaian dagangan, manakala satu lagi mengutamakan harga; tiada satu pun yang memberikan kedua-duanya.

Apakah itu stop order?

Stop order ialah arahan yang ditinggalkan kepada broker anda: apabila saham mencetak harga pada atau melepasi harga stop saya, hantar market order. Selagi cetakan tersebut tidak berlaku, arahan itu tidak melakukan apa-apa. Ia tidak tersimpan dalam buku bursa, tiada pedagang lain yang melihatnya, dan ia tidak membekalkan kecairan pada harga anda. Kebanyakan stop untuk pelabur runcit tersimpan dalam sistem broker sendiri dan hanya sampai ke bursa selepas syarat pencetus dipenuhi.

Sebaik sahaja dilepaskan, ia menjadi market order biasa tanpa lantai harga, mengambil tawaran terbaik dan seterusnya sehingga saiz pesanan selesai. Dalam pasaran yang dalam dan ketat, kosnya hanya satu sen. Dalam pasaran yang nipis atau pantas, kosnya boleh mencecah beberapa peratus. Perbezaan antara market order dan limit order adalah keseluruhan cerita tentang apa yang berlaku selepas pencetus, kerana stop mewarisi setiap sifat pesanan yang ia tukarkan.

Apakah itu stop-limit order?

Stop-limit order membawa dua harga. Harga stop ialah pencetus, dan ia berfungsi tepat seperti di atas. Harga limit ialah harga terburuk yang anda sanggup terima sebaik sahaja pesanan itu aktif. Apabila pencetus mencetak harga, broker anda melepaskan limit order pada harga limit tersebut dan bukannya market order.

Dari situ, ia berkelakuan seperti mana-mana limit order: ia dilaksanakan pada harga limit anda atau lebih baik, dan sementara pasaran berada di bawahnya, ia akan menunggu. Jika harga tidak pernah kembali, pesanan itu akan kehabisan tempoh masa (time in force) dan tamat dengan posisi tidak disentuh. Limit yang ditetapkan sama dengan harga stop adalah versi yang paling ketat dan paling berkemungkinan tidak dilaksanakan. Limit yang ditetapkan jauh di bawah harga stop adalah lebih longgar, lebih menyerupai stop order dengan lantai harga di bawahnya.

Stop order vs stop-limit order dalam jurang harga (gap)

Mari kita buat satu hipotesis. Saham ditutup pada $50 dan anda meletakkan stop pada $48. Keesokan paginya, cetakan pertama ialah $41. Stop order diaktifkan pada waktu pembukaan dan dilaksanakan hampir pada $41. Harga $48 anda tidak pernah tersedia, dan pesanan itu tidak pernah memintanya. Stop-limit pada $48 dengan limit $47.50 juga diaktifkan pada waktu pembukaan, kemudian meletakkan tawaran untuk menjual pada $47.50 ke dalam pasaran yang didagangkan pada $41. Tiada apa yang dilaksanakan, dan anda masih memegang saham pada $41 dengan pesanan aktif yang berada enam dolar setengah di atas pasaran.

Pergerakan sebesar itu jarang berlaku bagi saham bermodal besar (large-cap). Bagi saham kecil, ia adalah rutin, dan stop hanya memerlukan jenis pergerakan kecil untuk dilepaskan. Panel di bawah mengira, bagi lima nama isi rumah sepanjang lima tahun sesi yang berakhir pada Julai 2026, kekerapan cetakan pembukaan mendarat sekurang-kurangnya satu peratus dan sekurang-kurangnya tiga peratus di bawah penutupan sebelumnya. Tarikh pecahan saham (split) digugurkan daripada perbandingan: pecahan 10-untuk-1 menukarkan satu saham kepada sepuluh dan memotong harga sebut harga sebanyak kira-kira sembilan puluh peratus, yang merupakan pengiraan aritmetik dan bukannya jurang harga. Mengapa saham mengalami jurang harga semalaman merangkumi sesi semalaman itu sendiri.

PertanyaanKekerapan setiap saham dibuka di bawah harga penutup sebelumnya
SQL tepat di sebalik setiap nombor
WITH sessions AS
(
    SELECT
        ticker,
        date,
        toFloat64(open)  AS open_px,
        toFloat64(close) AS close_px,
        row_number() OVER (PARTITION BY ticker ORDER BY date)     AS session_n,
        row_number() OVER (PARTITION BY ticker ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
)
SELECT
    cur.ticker                                                              AS symbol,
    round(100 * countIf(cur.open_px <= prior.close_px * 0.99) / count(), 1) AS opened_1pct_lower_pct,
    round(100 * countIf(cur.open_px <= prior.close_px * 0.97) / count(), 1) AS opened_3pct_lower_pct
FROM sessions AS cur
INNER JOIN sessions AS prior
    ON cur.ticker = prior.ticker
   AND cur.session_n = prior.next_session_n
WHERE (cur.ticker, cur.date) NOT IN
(
    SELECT ticker, execution_date
    FROM global_markets.stocks_splits
)
GROUP BY symbol
ORDER BY opened_1pct_lower_pct DESC
Run this yourself

Sepanjang tempoh itu, NVDA dibuka sekurang-kurangnya satu peratus di bawah penutupan sebelumnya pada 22.1% sesi, dan sekurang-kurangnya tiga peratus di bawah pada 3.4%. Pada hujung panel yang tenang, KO melakukannya pada 2.3%. Stop yang terletak berhampiran pasaran hanya perlu menunggu satu sesi semalaman untuk dilepaskan.

Saiz adalah perkara yang memisahkan kedua-dua jenis pesanan, dan setengah jam pertama adalah di mana perbezaan itu menjadi mahal. Panel seterusnya menyenaraikan 8 jurang penurunan harga terbesar yang dibuka oleh NVDA sepanjang lima tahun yang sama. Setiap baris membawa dua ukuran: cetakan pembukaan berbanding penutupan sebelumnya, dan harga terendah dalam tiga puluh minit pertama dagangan biasa berbanding cetakan pembukaan tersebut.

PertanyaanPembukaan gap-down terbesar NVDA dan 30 minit berikutnya
SQL tepat di sebalik setiap nombor
WITH sessions AS
(
    SELECT
        date,
        toFloat64(open)  AS open_px,
        toFloat64(close) AS close_px,
        row_number() OVER (ORDER BY date)     AS session_n,
        row_number() OVER (ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'NVDA'
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
),
gap_days AS
(
    SELECT
        cur.date                                           AS d,
        round(100 * (cur.open_px / prior.close_px - 1), 2) AS gap_pct
    FROM sessions AS cur
    INNER JOIN sessions AS prior ON cur.session_n = prior.next_session_n
    WHERE cur.date NOT IN
    (
        SELECT execution_date
        FROM global_markets.stocks_splits
        WHERE ticker = 'NVDA'
    )
    ORDER BY gap_pct ASC
    LIMIT 8
),
opening_30m AS
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS first_print,
        min(toFloat64(low))                                  AS low_30m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'NVDA'
      AND window_start >= '2021-08-01'
      AND window_start <  '2026-08-01'
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM gap_days)
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 600
    GROUP BY d
)
SELECT
    toString(g.d)                                     AS session_date,
    g.gap_pct                                         AS open_vs_prior_close_pct,
    round(100 * (o.low_30m / o.first_print - 1), 2)   AS first_30m_low_vs_open_pct
FROM gap_days AS g
INNER JOIN opening_30m AS o ON o.d = g.d
ORDER BY g.d
Run this yourself

Pada 2025-04-16, yang paling terkini, pembukaan mencatatkan -6.82% berbanding penutupan sebelumnya, dan harga terendah dalam setengah jam pembukaan mencatatkan -0.19% berbanding pembukaan itu sendiri. Baris paling lama, 2022-02-24, dibuka pada -6.13%. Stop order yang dilepaskan ke dalam salah satu pagi tersebut dilaksanakan di suatu tempat dalam julat itu, dan pemegangnya tidak mendapat pilihan.

Adakah stop-limit dilaksanakan lewat hari tersebut?

Kadangkala. Limit yang terlepas pada waktu pembukaan masih berfungsi, dan jika harga naik semula sebelum pesanan tamat tempoh, ia boleh dilaksanakan. Persoalannya ialah berapa kerap ia kembali pada hari yang sama.

Panel di bawah menggunakan satu hipotesis tetap pada nama yang sama: stop dua peratus di bawah penutupan sebelumnya, dengan limit satu peratus di bawah harga stop. Ia hanya mengekalkan sesi yang dibuka di bawah kedua-dua harga tersebut, kes di mana pencetus diaktifkan pada waktu pembukaan dengan limit sudah di luar jangkauan, kemudian bertanya sama ada harga tertinggi sesi pernah mencecah harga limit.

PertanyaanSesi yang mencatatkan gap melebihi stop 2%, dan sama ada harga had diniagakan
SQL tepat di sebalik setiap nombor
WITH sessions AS
(
    SELECT
        ticker,
        date,
        toFloat64(open)  AS open_px,
        toFloat64(high)  AS high_px,
        toFloat64(close) AS close_px,
        row_number() OVER (PARTITION BY ticker ORDER BY date)     AS session_n,
        row_number() OVER (PARTITION BY ticker ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
)
SELECT
    cur.ticker                                                                AS symbol,
    count()                                                                   AS gapped_through_sessions,
    round(100 * countIf(cur.high_px >= prior.close_px * 0.9702) / count(), 1) AS reached_limit_intraday_pct
FROM sessions AS cur
INNER JOIN sessions AS prior
    ON cur.ticker = prior.ticker
   AND cur.session_n = prior.next_session_n
WHERE cur.open_px < prior.close_px * 0.9702
  AND (cur.ticker, cur.date) NOT IN
  (
      SELECT ticker, execution_date
      FROM global_markets.stocks_splits
  )
GROUP BY symbol
ORDER BY reached_limit_intraday_pct DESC
Run this yourself

KO didagangkan kembali ke harga limit pada satu ketika dalam sesi yang sama pada 100% daripada 2 hari jurang harganya, bahagian tertinggi daripada 5 nama yang mempunyai sebarang data. MSFT kembali pada 66.7%. Menyentuh harga tidak sama dengan dilaksanakan pada harga tersebut: pesanan anda menyertai barisan di sana, dan satu detik singkat melepasi tahap itu mungkin hanya membersihkan apa yang ada di hadapan anda. Untuk versi soalan yang lebih panjang, lihat sama ada jurang harga saham diisi.

Apa yang sebenarnya mencetuskan stop

Syarat pencetus adalah lebih sempit daripada yang dicadangkan oleh tiket pesanan. Di kebanyakan broker, sell stop diaktifkan pada cetakan jualan terakhir pada atau di bawah harga stop. Bidaan boleh merosot melepasi tahap anda selama seminit tanpa satu pun dagangan di sana dan membiarkan pesanan itu tidak aktif, dan satu cetakan kecil boleh mengejutkannya. Odd lot dikira di banyak broker, jadi dagangan 7-saham pada harga yang terpencil sudah memadai.

Dua keadaan menjadikan perkara itu rapuh. Sebut harga pada waktu pembukaan berada pada tahap paling luas sepanjang hari, corak yang mengapa spread melebar pada waktu pembukaan huraikan secara terperinci. Pembukaan semula selepas penggantungan dagangan kelihatan serupa, dengan cetakan pertama mendarat jauh daripada cetakan terakhir sebelum penggantungan.

Masa sama pentingnya dengan tahap harga. Panel di bawah mengukur sejauh mana satu bar satu minit bergerak, dari tertinggi ke terendah, pada setiap setengah jam sesi, dalam mata asas (basis points). Satu mata asas ialah satu peratus daripada satu peratus, jadi 50 bps ialah setengah peratus daripada harga.

PertanyaanPurata julat tinggi-rendah satu minit mengikut waktu hari
SQL tepat di sebalik setiap nombor
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(avgIf(10000 * (toFloat64(high) - toFloat64(low)) / toFloat64(close), ticker = 'NVDA'), 1) AS nvda_range_bps,
    round(avgIf(10000 * (toFloat64(high) - toFloat64(low)) / toFloat64(close), ticker = 'SPY'), 1)  AS spy_range_bps
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('NVDA', 'SPY')
  AND window_start >= '2025-08-01'
  AND window_start <  '2026-08-01'
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
HAVING countIf(ticker = 'NVDA') > 0
   AND countIf(ticker = 'SPY') > 0
ORDER BY et_time
Run this yourself

Bagi NVDA, baldi 09:30 mencatatkan purata 28.5 bps pergerakan seminit berbanding 10 bps dalam baldi 12:30. SPY, instrumen yang jauh lebih luas, mencatatkan 7 bps pada waktu pembukaan dan 3.9 bps pada jam tengah hari yang sama. Stop yang terselamat sepanjang malam dilepaskan ke dalam baldi pertama tersebut.

Bagaimana tempoh masa (time in force) mengubah stop

Stop membawa tempoh masa seperti mana-mana pesanan lain. Day stop tamat pada waktu penutupan dan perlu dimasukkan semula keesokan paginya. Good-till-canceled stop berterusan merentasi sesi, tertakluk kepada apa jua tempoh tamat yang dikenakan oleh broker anda pada pesanan yang tersimpan. Pergerakan yang mencetuskan stop sering berlaku semalaman, tepat apabila pesanan harian semalam tidak lagi wujud. Tempoh masa pesanan dijelaskan menerangkan tentang pesanan harian, GTC, dan varian waktu lanjutan.

Ramai broker juga menilai pencetus stop hanya semasa sesi biasa melainkan pesanan ditandakan untuk waktu lanjutan. Saham boleh didagangkan lima peratus lebih rendah pada jam 7 pagi sementara stop kekal tidak aktif sehingga waktu pembukaan.

Trailing stops dan stop pada opsyen

Trailing stop menggunakan logik pencetus yang sama dengan rujukan yang bergerak. Anda menetapkan jarak dalam sen atau peratus, dan pencetus mengikuti harga terbaik yang dicapai sejak kemasukan, bergerak satu arah dan tidak pernah ke arah sebaliknya. Ia datang dalam bentuk trailing stop order dan trailing stop-limit, dan ia mewarisi pertukaran (trade-off) yang sama sebaik sahaja ia diaktifkan.

Opsyen adalah kes yang lebih sukar. Sebut harga opsyen bermula lebih luas daripada sebut harga saham dan meregang lebih jauh dalam pasaran pantas, dan harga kontrak bergerak mengikut aset asas, mengikut masa, dan mengikut volatiliti tersirat, iaitu pergerakan masa depan yang diletakkan harganya ke dalam opsyen. Stop pada kontrak boleh diaktifkan pada satu cetakan dalam pasaran di mana bidaan dan tawaran berbeza beberapa dolar. Sesetengah broker menyekat jenis stop pada opsyen.

Soalan Lazim

Adakah stop-loss order menjamin harga saya?

Tidak. Stop order hanya menjamin bahawa pesanan dihantar sebaik sahaja pencetus mencetak harga, dan ia dilaksanakan pada apa jua yang ditawarkan oleh buku pesanan, yang selepas jurang harga boleh berada jauh di bawah harga stop. Stop-limit order menjamin harga dan melepaskan jaminan untuk dilaksanakan sama sekali.

Adakah stop-limit order lebih baik daripada stop order?

Ia menjawab soalan yang berbeza. Stop order menganggap keluar daripada posisi sebagai keutamaan. Stop-limit menganggap harga keluar sebagai keutamaan dan menerima bahawa posisi boleh kekal terbuka. Risiko beralih daripada harga kepada penyelesaian dan bukannya hilang.

Bolehkah pedagang lain melihat stop order saya?

Tidak sebagai stop. Stop yang dipegang oleh broker tersimpan dalam sistem broker, dan tiada apa yang muncul dalam mana-mana buku bursa sehingga pencetus melepaskannya. Apa yang dilihat oleh pasaran selepas itu hanyalah market order atau limit order biasa.

Harga apakah yang mencetuskan stop order?

Di kebanyakan broker, sell stop diaktifkan pada cetakan jualan terakhir pada atau di bawah harga stop, dan buy stop pada cetakan pada atau di atasnya. Peraturan berasaskan sebut harga juga wujud, dan satu cetakan odd-lot boleh mencukupi. Pendedahan pengendalian pesanan broker anda menyatakan peraturan mana yang terpakai pada akaun anda.


Setiap panel di sini membawa SQL yang menghasilkannya. Tukar ticker atau ambang jurang harga dan soalan yang sama menjawab dirinya sendiri untuk nama yang anda ikuti, dalam bahasa yang mudah, pada terminal Strasmore.