Strasmore Research
Belajar Matt ConnorOleh Matt Connor · data as of August 15, 2026 · refreshed weekly

Apakah itu pesanan bracket dan OCO dalam dagangan

Ketahui cara pesanan bracket berfungsi dengan menggabungkan sasaran keuntungan dan protective stop sebagai OCO. Fahami mekanisma pelaksanaan serta kesan pengisian separa.

Pesanan bracket ialah satu arahan yang menghantar tiga pesanan dalam hubungan tetap: satu pesanan masuk, ditambah dengan pasangan pesanan keluar yang dipautkan pada kedua-dua belah pesanan masuk tersebut. Pasangan ini ialah OCO, singkatan bagi one cancels the other (satu membatalkan yang lain). Had sasaran keuntungan terletak di atas harga masuk dan protective stop terletak di bawahnya, dan pelaksanaan pada mana-mana bahagian akan membatalkan bahagian yang satu lagi secara automatik. Bracket sebenarnya ialah mesin keadaan kecil, dan kebanyakan kejutan berlaku pada saat-saat antara keadaan tersebut.

Apakah itu pesanan bracket?

Bayangkan seorang pedagang yang ingin membeli 200 saham pada harga hampir $50, menutup posisi pada harga hampir $53 jika berjaya, dan keluar pada harga hampir $48.50 jika tidak berjaya. Jika ditulis sebagai tiket berasingan, ini melibatkan tiga pesanan dan tugas manual: membatalkan stop sebaik sahaja sasaran dipenuhi, atau berisiko menjual 200 saham sebanyak dua kali. Bracket membungkus niat yang sama dalam satu penghantaran. Pesanan masuk adalah market order atau limit order biasa. Dua pesanan keluar adalah "anak" kepadanya: satu limit untuk ditutup pada sasaran, dan satu stop atau stop limit order untuk ditutup pada tahap perlindungan.

Kosa katanya berbeza-beza. Bracket, attached order, OCO bracket, dan OTOCO semuanya menggambarkan bentuk ini. OTOCO, one triggers a one-cancels-the-other, adalah nama yang paling tepat untuk urutan ini: pesanan masuk mengaktifkan pasangan tersebut, kemudian pasangan itu membatalkan antara satu sama lain sehingga tinggal satu.

Apakah maksud OCO dalam pesanan bracket?

OCO ialah dua pesanan yang menunggu dengan pautan pembatalan antara keduanya. Kedua-duanya kekal aktif dalam buku pesanan pada masa yang sama. Apabila satu pesanan dipenuhi, yang satu lagi akan ditarik balik. Apabila satu pesanan dipenuhi sebahagiannya, yang satu lagi akan dikurangkan mengikut kuantiti yang dipenuhi dan bukannya ditarik balik sepenuhnya, dan pengurangan itulah yang memastikan posisi dan perlindungannya sepadan dari segi bilangan saham.

Urutan penuh untuk bracket beli (long) sebanyak 200 saham adalah seperti berikut:

  1. Pesanan masuk berfungsi secara bersendirian. Sasaran dan stop wujud di dalam sistem broker tetapi bukan pesanan yang aktif, jadi dagangan yang melepasi harga sasaran semasa pesanan masuk belum dipenuhi tidak akan memberi sebarang kesan.
  2. Pesanan masuk dipenuhi untuk 200 saham. Kedua-dua pesanan "anak" menjadi aktif, masing-masing untuk 200 saham.
  3. Dagangan mencecah harga stop. Stop bertukar menjadi pesanan jual aktif dan masuk ke dalam buku pesanan.
  4. Stop dipenuhi sebanyak 120 saham sebelum pasaran bergerak menjauh. Had sasaran dikurangkan daripada 200 kepada 80, sepadan dengan baki posisi yang tinggal.
  5. Baki 80 saham terakhir dipenuhi pada harga sasaran kemudiannya dalam sesi tersebut. Baki 80 saham pada stop dibatalkan dan bracket ditutup.

Pelaksanaan separa pada pesanan masuk adalah tempat di mana platform paling banyak berbeza. Sesetengah broker mengaktifkan pesanan "anak" untuk kuantiti yang dipenuhi dengan serta-merta dan menambahnya apabila baki pesanan masuk selesai. Pihak lain menunggu sehingga pesanan masuk dipenuhi sepenuhnya, yang menyebabkan posisi tidak dilindungi dalam tempoh tersebut. Semantik berbeza mengikut broker dalam cara yang bukan sekadar kosmetik: sama ada pesanan "anak" diaktifkan pada pelaksanaan separa, dan sama ada mengubah satu pesanan "anak" akan memutuskan pautan pembatalan pada yang satu lagi.

Sejauh mana jarak antara kedua-dua bahagian?

Kedua-dua bahagian perlu berada di luar gangguan harga yang dibuat oleh sesuatu saham pada hari biasa dan di dalam jarak yang sebenarnya boleh dilalui oleh saham tersebut. Julat harian adalah ukuran kasar pertama untuk itu. Panel di bawah membaca enam nama saham popular sepanjang tahun lalu: julat median tertinggi ke terendah sebagai peratusan daripada harga buka, di samping pergerakan mutlak median dari harga buka ke harga tutup.

PertanyaanJulat harian tipikal dan pergerakan buka-ke-tutup, setahun terkini
SQL tepat di sebalik setiap nombor
SELECT
    ticker,
    round(quantileDeterministic(0.5)(
        (toFloat64(high) - toFloat64(low)) / toFloat64(open) * 100,
        toUInt32(date)), 2)                                   AS median_range_pct,
    round(quantileDeterministic(0.5)(
        abs(toFloat64(close) - toFloat64(open)) / toFloat64(open) * 100,
        toUInt32(date)), 2)                                   AS median_open_to_close_pct
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'JNJ')
  AND date >= today() - 370
  AND date <  today() - 2
GROUP BY ticker
ORDER BY median_range_pct DESC
Run this yourself

NVDA membawa sesi tipikal paling luas daripada enam saham tersebut pada 2.72%, dan SPY yang paling sempit pada 0.86%. Perhatikan betapa jauhnya lajur kedua berada di bawah lajur pertama pada setiap baris. Saham tipikal bergerak jauh lebih banyak semasa sesi berbanding pergerakan bersih dari buka ke tutup, dan kedua-dua bahagian bracket berada di dalam pergerakan itu. Sasaran dan stop masing-masing boleh dicapai pada hari biasa yang sama.

Kerap manakah bahagian bracket disentuh?

Jarak dari harga masuk adalah kawalan yang sebenarnya dipegang oleh pedagang. Panel seterusnya mengaitkan soalan ini dengan tiga tahun sesi SPY yang tetap dan bertanya, untuk satu set jarak dari harga buka, berapa bahagian sesi yang mencecah sejauh itu ke bawah dan berapa bahagian yang mencecah sejauh itu ke atas pada bila-bila masa dalam hari tersebut.

PertanyaanPeratusan sesi SPY yang mencapai jarak tertentu dari harga buka (Ogos 2023 hingga Jul 2026)
SQL tepat di sebalik setiap nombor
SELECT
    concat(toString(d.dist), '%')                             AS distance_from_open,
    round(100 * countIf(
        (toFloat64(a.open) - toFloat64(a.low)) / toFloat64(a.open) * 100 >= d.dist
    ) / count(), 1)                                           AS reached_below_pct,
    round(100 * countIf(
        (toFloat64(a.high) - toFloat64(a.open)) / toFloat64(a.open) * 100 >= d.dist
    ) / count(), 1)                                           AS reached_above_pct
FROM global_markets.stocks_daily_aggs AS a
CROSS JOIN
(
    SELECT arrayJoin([0.25, 0.5, 1.0, 1.5, 2.0, 3.0]) AS dist
) AS d
WHERE a.ticker = 'SPY'
  AND a.date >= '2023-08-01'
  AND a.date <  '2026-08-01'
GROUP BY d.dist
ORDER BY d.dist
Run this yourself

Pada satu perempat peratus daripada harga buka, 62.3% sesi didagangkan sejauh itu ke bawah pada satu ketika dan 64.7% didagangkan sejauh itu ke atas. Luaskan jarak kepada 3% dan angka bahagian bawah jatuh kepada 0.5%. Kedua-dua lengkung merosot bersama-sama, yang merupakan ketegangan utama dalam penentuan saiz bracket. Stop yang ketat adalah stop yang akan terkena pada hari-hari biasa. Sasaran yang jauh adalah sasaran yang kebanyakannya tamat tempoh tanpa dipenuhi.

Adakah stop loss sentiasa dipenuhi pada harga stop?

Tidak. Stop ialah arahan untuk menghantar pesanan sebaik sahaja harga pencetus dicapai. Stop biasa menghantar market order, dan pelaksanaan berlaku pada harga pasaran semasa pada saat itu. Stop limit menghantar limit order pada harga yang anda tetapkan, yang mempertahankan harga tersebut dan menerima risiko tidak dipenuhi langsung. Pertukaran itu adalah subjek bagi stop order versus stop limit order.

Jurang semalaman (overnight gap) adalah kes yang paling jelas. Protective stop kekal aktif sepanjang jam apabila bursa ditutup, dan harga buka boleh berada jauh melepasi harga pencetus. Sepuluh contoh daripada AAPL sepanjang tiga tahun setengah:

PertanyaanSepuluh jurang (gap) turun semalaman terbesar AAPL, Jan 2023 hingga Jun 2026
SQL tepat di sebalik setiap nombor
SELECT
    formatDateTime(session_date, '%b %e, %Y')                 AS gap_label,
    round((day_open / prev_close - 1) * 100, 2)               AS overnight_gap_pct
FROM
(
    SELECT
        session_date,
        day_open,
        lagInFrame(day_close) OVER (
            ORDER BY session_date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
        )                                                     AS prev_close
    FROM
    (
        SELECT
            date                  AS session_date,
            toFloat64(any(open))  AS day_open,
            toFloat64(any(close)) AS day_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'AAPL'
          AND date >= '2023-01-01'
          AND date <  '2026-07-01'
        GROUP BY date
    )
)
WHERE prev_close > 0
ORDER BY overnight_gap_pct ASC
LIMIT 10
Run this yourself

Yang terbesar daripadanya diukur pada -9.45% pada Aug 5, 2024, dan yang kesepuluh dalam senarai masih diukur pada -2.96%. Protective stop yang diletakkan di mana-mana dalam jurang tersebut ditukar pada harga buka, bukan pada harga pencetusnya. Menentukan saiz bracket daripada julat intraday sahaja menyebabkan jarak itu tidak dimodelkan.

Di manakah pautan OCO sebenarnya berada?

Hampir tidak pernah di bursa. Pautan pembatalan antara dua pesanan "anak" disimpan dalam sistem pengurusan pesanan broker, atau satu lapisan lebih jauh dalam platform dagangan yang berjalan pada mesin anda sendiri. Bursa melihat dua pesanan biasa yang tidak berkaitan.

Penempatan itu menentukan apa yang terselamat jika berlaku gangguan. Bracket di sisi broker terus berfungsi apabila komputer riba ditutup, kerana pelayan broker memegang kedua-dua bahagian dan logik pembatalan. Bracket di sisi platform, jenis yang dilaksanakan oleh sesetengah aplikasi carta secara tempatan, memerlukan aplikasi tersebut berjalan dan disambungkan. Sesetengah platform memegang stop simulasi yang wujud hanya dalam memori tempatan sehingga harga pencetus dicapai. Tutup komputer riba dan stop itu tidak akan dihantar.

Soalan yang sama terpakai kepada kod anda sendiri. Stop yang hidup hanya di dalam proses yang berjalan tidak meninggalkan apa-apa dalam buku pesanan sebaik sahaja proses itu berhenti. Circuit breakers for trading bots merangkumi corak untuk sistem automatik: anggap proses itu mati pada saat yang paling buruk, kemudian tanya apa yang masih berfungsi di broker.

Time in force terpakai pada setiap bahagian

Setiap bahagian membawa tetapan time in forcenya sendiri. Pesanan masuk harian (day) yang dipasangkan dengan pesanan "anak" GTC adalah gabungan yang biasa dan janggal: pesanan masuk tamat tempoh pada waktu tutup manakala pesanan "anak" tidak pernah diaktifkan, meninggalkan bracket yang tidak melakukan apa-apa pada keesokan paginya. Pasangan sebaliknya meninggalkan perlindungan yang tamat tempoh pada pukul 4:00 petang ET pada posisi yang dibawa semalaman.

Di luar waktu biasa, buku pesanan itu sendiri berubah sifat. Panel di bawah mengumpulkan bar seminit SPY mengikut waktu jam ET sepanjang hari dan membaca dua perkara bagi setiap setengah jam: saiz purata pergerakan satu minit, dalam mata asas (satu mata asas ialah satu peratus daripada satu peratus), dan median volum yang didagangkan dalam satu minit.

PertanyaanPergerakan bar seminit dan volum SPY mengikut waktu ET
SQL tepat di sebalik setiap nombor
SELECT
    formatDateTime(
        toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE),
        '%H:%i')                                              AS et_time,
    round(avg(abs(toFloat64(close) - toFloat64(open)) / toFloat64(open) * 10000), 1) AS avg_move_bps,
    round(quantileDeterministic(0.5)(toFloat64(volume), toUInt64(window_start)), 0)  AS median_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= today() - 120
  AND window_start <  today() - 2
GROUP BY et_time
ORDER BY et_time
Run this yourself

Panel ini mengembalikan 32 baldi setengah jam, dari 04:00 hingga 19:30 ET. Baca dari kiri ke kanan dan bentuknya memberikan pengajaran. Kedua-dua siri berada berhampiran paras terendah sepanjang jam pra-pasaran, mendaki dengan curam ke waktu buka 09:30, dan jatuh semula selepas 16:00. Stop GTC yang diletakkan pada pukul 5 pagi berada di bahagian nipis lengkung itu, dan pelaksanaan stop-market dalam buku yang senipis itu boleh mendarat jauh dari harga pencetus.

Soalan Lazim

Apakah perbezaan antara pesanan bracket dan pesanan OCO?

OCO ialah pasangan itu sendiri: dua pesanan yang menunggu dengan pautan pembatalan, di mana pelaksanaan pada satu pesanan akan membatalkan yang satu lagi. Bracket ialah pesanan masuk dengan pasangan OCO yang dilampirkan, dan pasangan itu hanya menjadi aktif sebaik sahaja pesanan masuk dipenuhi. Setiap bracket mengandungi OCO. Banyak pasangan OCO digunakan secara bersendirian.

Adakah pesanan bracket masih berfungsi jika komputer saya dimatikan?

Ia bergantung kepada di mana pautan itu berada. Bracket di sisi broker terletak pada pelayan broker dan terus berfungsi walaupun platform ditutup. Bracket di sisi platform atau simulasi memerlukan aplikasi berjalan dan disambungkan, dan pesanan "anak" mungkin tidak akan sampai ke pasaran tanpanya.

Apakah yang berlaku kepada stop jika sasaran keuntungan dipenuhi sebahagiannya?

Stop dikurangkan mengikut kuantiti yang dipenuhi dan bukannya dibatalkan. Jika sasaran 200 saham dipenuhi 60 saham, stop turun kepada 140 saham, sepadan dengan posisi yang masih terbuka. Pembatalan hanya berlaku apabila baki terakhir posisi ditutup.

Bolehkah saya menggunakan pesanan bracket dalam dagangan pra-pasaran atau selepas waktu pasaran?

Tingkah laku berbeza mengikut broker, dan ramai yang menghalakan pesanan "anak" bracket hanya semasa waktu biasa. Pesanan stop khususnya sering ditolak atau ditahan di luar jam 9:30 pagi hingga 4:00 petang ET untuk ekuiti AS. Tetapan time-in-force pada setiap bahagian menentukan sama ada bahagian itu layak untuk sesi lanjutan atau tidak.

Adakah bursa tahu bahawa dua pesanan saya dipautkan?

Tidak. Dalam ekuiti AS, pautan pembatalan dipegang oleh broker atau platform, dan bursa menerima dua pesanan yang bebas. Mesej pembatalan untuk bahagian yang masih ada dihantar oleh mana-mana sistem yang memegang pautan tersebut, selepas bahagian yang satu lagi melaporkan pelaksanaannya.


Setiap panel di sini dihantar dengan SQL yang tepat di bawahnya. Untuk mengukur julat dan risiko jurang pada saham yang anda ikuti, ajukan soalan dalam bahasa Inggeris yang mudah pada terminal Strasmore.

#order types#oco#bracket orders#stop orders#execution