Strasmore Research
Jifunze Matt ConnorNa Matt Connor · data as of August 15, 2026 · refreshed weekly

Jinsi Bracket Order na OCO Orders Zinavyofanya Kazi

Jifunze jinsi Bracket Order inavyotumia OCO kuunganisha profit target na protective stop. Elewa utekelezaji wa oda hizi na kinachotokea bei ikifikia viwango vya lengo.

Bracket order ni maelekezo moja yanayotuma oda tatu katika uhusiano uliopangwa: oda ya kuingia, pamoja na jozi ya oda za kutoka zilizounganishwa ambazo zipo kila upande wake. Jozi hiyo ni OCO, kifupi cha one cancels the other. Oda ya kikomo cha faida (profit-target limit) hukaa juu ya bei ya kuingia na stop ya ulinzi hukaa chini yake, na utekelezaji wa oda yoyote kati ya hizo mbili huifuta nyingine moja kwa moja. Bracket ni kama mashine ndogo ya hali (state machine), na mambo mengi yasiyotarajiwa hutokea katika vipindi kati ya hali zake.

Bracket order ni nini?

Wazia mfanyabiashara anayetaka kununua hisa 200 karibu na $50, afunge nafasi hiyo karibu na $53 ikiwa mambo yataenda vizuri, na atoke karibu na $48.50 ikiwa mambo yataenda vibaya. Ikiandikwa kama tiketi tofauti, hizo ni oda tatu na kazi ya mikono: kufuta stop wakati target inapotekelezwa, au kuhatarisha kuuza hisa 200 mara mbili. Bracket huweka nia hiyo hiyo katika uwasilishaji mmoja. Kuingia ni market order au limit order ya kawaida. Oda mbili za kutoka ni watoto wake: limit ya kufunga kwa target, na stop au stop limit order ya kufunga kwa kiwango cha ulinzi.

Msamiati hutofautiana. Bracket, attached order, OCO bracket, na OTOCO zote hufafanua umbo hili. OTOCO, one triggers a one-cancels-the-other, ndilo jina sahihi zaidi kwa mfuatano huu: kuingia huwasha jozi hiyo, kisha jozi hiyo hujifuta yenyewe hadi kubaki moja.

OCO inamaanisha nini katika bracket order?

OCO ni oda mbili zilizopo sokoni zikiwa na kiungo cha kufutana kati yao. Zote hukaa kwenye kitabu cha oda kwa wakati mmoja. Oda moja ikitekelezwa, nyingine huondolewa. Oda moja ikitekelezwa kwa sehemu, nyingine hupunguzwa kwa idadi iliyotekelezwa badala ya kuondolewa kabisa, na upunguzaji huo ndio unaoweka nafasi na ulinzi wake katika uwiano sawa wa hisa kwa hisa.

Mfuatano kamili wa bracket ya hisa 200 za kununua (long) huenda hivi.

  1. Oda ya kuingia hufanya kazi peke yake. Target na stop zipo ndani ya mfumo wa broker lakini si oda zinazofanya kazi, kwa hivyo print kupitia bei ya target wakati kuingia hakujatekelezwa haifanyi chochote.
  2. Oda ya kuingia inatekelezwa kwa hisa 200. Oda zote mbili za watoto zinaanza kufanya kazi, kila moja kwa hisa 200.
  3. Biashara inafikia bei ya stop. Stop inageuka kuwa oda ya kuuza (sell order) inayofanya kazi na kuingia kwenye kitabu.
  4. Stop inatekeleza hisa 120 kabla soko halijabadilika. Target limit inapunguzwa kutoka 200 hadi 80, ikilingana na nafasi iliyobaki.
  5. Hizo hisa 80 za mwisho zinatekelezwa kwa target baadaye katika kipindi hicho. Kiasi kilichobaki cha 80 kwenye stop kinafutwa na bracket inafungwa.

Utekelezaji wa sehemu (partial fills) kwenye oda ya kuingia ndipo majukwaa yanapotofautiana zaidi. Baadhi ya mawakala huwasha oda za watoto kwa kiasi kilichotekelezwa mara moja na kuziongeza kadiri oda ya kuingia inavyokamilika. Wengine husubiri oda ya kuingia ikamilike kikamilifu, jambo ambalo huacha nafasi bila ulinzi katika muda huo. Semantiki hutofautiana kulingana na broker kwa njia ambazo si za juu juu tu: kama watoto huwaka kwenye utekelezaji wa sehemu, na kama kuhariri mtoto mmoja kunavunja kiungo cha kufutana na mwingine.

Miguu miwili ya bracket inakaa mbali kiasi gani?

Miguu yote miwili lazima ikae nje ya kelele (noise) ambayo jina hufanya katika siku ya kawaida na ndani ya umbali ambao inaweza kusafiri kweli. Masafa ya kila siku (daily range) ni kipimo cha kwanza cha kawaida cha hilo. Paneli hapa chini inasoma majina sita maarufu katika mwaka uliopita: masafa ya wastani ya juu-hadi-chini kama asilimia ya bei ya ufunguzi, kando ya mabadiliko ya wastani kamili kutoka ufunguzi hadi kufungwa.

UlizaMasafa ya kawaida ya kila siku na mabadiliko ya kufunga soko, mwaka uliopita
SQL halisi nyuma ya kila namba
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 inabeba kipindi cha kawaida cha biashara pana zaidi kati ya sita hizo kwa 2.72%, na SPY nyembamba zaidi kwa 0.86%. Angalia jinsi safu ya pili ilivyo chini ya ya kwanza katika kila mstari. Jina la kawaida husafiri mbali zaidi wakati wa kipindi cha biashara kuliko linavyopata kutoka ufunguzi hadi kufungwa, na miguu yote miwili ya bracket huishi ndani ya safari hiyo. Target na stop kila moja inaweza kufikika katika siku hiyo hiyo ya kawaida.

Ni mara ngapi mguu wa bracket huguswa?

Umbali kutoka kwa kuingia ndio kigezo ambacho mfanyabiashara hudhibiti. Paneli inayofuata inajibu swali hilo kwa miaka mitatu ya vipindi vya SPY na kuuliza, kwa seti ya umbali kutoka kwa print ya ufunguzi, ni sehemu ngapi ya vipindi ilifikia chini kiasi hicho na ni sehemu ngapi ilifikia juu kiasi hicho wakati fulani wa siku.

UlizaAsilimia ya vipindi vya SPY vinavyofikia umbali fulani kutoka bei ya ufunguzi (Agosti 2023 hadi Julai 2026)
SQL halisi nyuma ya kila namba
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

Katika robo ya asilimia kutoka ufunguzi, 62.3% ya vipindi ilifanya biashara chini kiasi hicho wakati fulani na 64.7% ilifanya biashara juu kiasi hicho. Panua umbali hadi 3% na takwimu ya upande wa chini inashuka hadi 0.5%. Mikondo yote miwili hupungua pamoja, ambayo ndiyo mvutano mzima katika kupima bracket. Stop iliyokazwa ni stop inayotolewa katika siku za kawaida. Target ya mbali ni target ambayo mara nyingi huisha muda wake bila kutekelezwa.

Je, stop loss inatekelezwa kila wakati kwa bei ya stop?

Hapana. Stop ni maelekezo ya kutuma oda mara tu bei ya kichocheo (trigger price) inapoprint. Stop ya kawaida hutuma market order, na utekelezaji hutua popote kitabu kilipo wakati huo. Stop limit hutuma limit order kwa bei uliyoweka, ambayo hulinda bei na kukubali hatari ya kutotekelezwa kabisa. Biashara hiyo ya kubadilishana ni mada ya stop order versus stop limit order.

Pengo la usiku (overnight gap) ndilo kisa wazi zaidi. Stop ya ulinzi hukaa kupitia saa ambazo soko limefungwa, na print ya ufunguzi inaweza kutua mbali zaidi ya kichocheo. Mifano kumi kutoka AAPL kwa zaidi ya miaka mitatu na nusu:

UlizaMapengo kumi makubwa zaidi ya kushuka kwa AAPL usiku kucha, Januari 2023 hadi Juni 2026
SQL halisi nyuma ya kila namba
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

Kubwa zaidi kati yao ilipima -9.45% mnamo Aug 5, 2024, na ya kumi kwenye orodha bado ilipima -2.96%. Stop ya ulinzi iliyokaa popote ndani ya mapengo hayo ilibadilishwa kwenye print ya ufunguzi, si kwa bei yake ya kichocheo. Kupima bracket kutoka masafa ya ndani ya siku pekee huacha umbali huo bila kuigwa.

Kiungo cha OCO hukaa wapi hasa?

Karibu kamwe hakikai kwenye soko (exchange). Kiungo cha kufutana kati ya watoto wawili kinashikiliwa katika mfumo wa usimamizi wa oda wa broker, au safu moja zaidi nje katika jukwaa la biashara linaloendeshwa kwenye mashine yako mwenyewe. Soko huona oda mbili za kawaida zisizohusiana.

Uwekaji huo huamua nini kitanusurika wakati wa hitilafu. Bracket ya upande wa broker huendelea kufanya kazi wakati kompyuta ndogo inapozimwa, kwa sababu seva za broker hushikilia miguu yote miwili na mantiki ya kufuta. Bracket ya upande wa jukwaa, aina ambayo baadhi ya programu za chati hutekeleza ndani ya mashine, inahitaji programu iwe inaendeshwa na kuunganishwa. Baadhi ya majukwaa hushikilia stop iliyoigwa (simulated) ambayo ipo tu kwenye kumbukumbu ya ndani hadi bei ya kichocheo inapoprint. Zima kompyuta ndogo na stop hiyo haitatumwa kamwe.

Swali hilo hilo linahusu msimbo wako mwenyewe. Stop inayokaa tu ndani ya mchakato unaoendeshwa haiachi chochote kwenye kitabu mara tu mchakato unaposimama. Circuit breakers for trading bots inashughulikia muundo wa mifumo ya kiotomatiki: chukulia mchakato unakufa wakati mbaya zaidi, kisha uulize nini bado kinafanya kazi kwa broker.

Muda wa uhalali (time in force) hutumika kwa kila mguu

Kila mguu hubeba mpangilio wake wa time in force. Kuingia kwa siku (day entry) iliyooanishwa na watoto wa GTC ni mchanganyiko wa kawaida na usiofaa: kuingia huisha muda wake wakati wa kufungwa wakati watoto hawawaki kamwe, na kuacha bracket ambayo haifanyi chochote asubuhi inayofuata. Uoanishaji wa kinyume huacha ulinzi unaoisha muda wake saa 4:00 usiku ET kwenye nafasi iliyobeba hadi siku inayofuata.

Nje ya saa za kawaida kitabu chenyewe hubadilisha tabia. Paneli hapa chini huweka baa za dakika za SPY kulingana na saa ya ET kwa siku nzima na kusoma vitu viwili kwa kila nusu saa: ukubwa wa wastani wa mabadiliko ya dakika moja, katika basis points (basis point moja ni sehemu ya mia ya asilimia), na kiasi cha wastani kilichoprintwa kwa dakika.

UlizaMwenendo wa dakika za SPY na ujazo wa biashara kulingana na muda wa ET
SQL halisi nyuma ya kila namba
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

Paneli inarejesha 32 ndoo za nusu saa, kutoka 04:00 hadi 19:30 ET. Isome kutoka kushoto kwenda kulia na umbo hilo hufundisha. Mfululizo wote wawili hukaa karibu na sakafu yao kupitia saa za kabla ya soko, hupanda kwa kasi kuelekea ufunguzi wa 09:30, na kushuka tena baada ya 16:00. Stop ya GTC iliyokaa saa 5 asubuhi inakaa katika sehemu nyembamba ya mkondo huo, na utekelezaji wa stop-market katika kitabu chembamba kiasi hicho unaweza kutua mbali sana na kichocheo.

Maswali Yanayoulizwa Mara Kwa Mara

Kuna tofauti gani kati ya bracket order na OCO order?

OCO ni jozi yenyewe: oda mbili zilizopo sokoni zikiwa na kiungo cha kufutana, ambapo utekelezaji wa moja huondoa nyingine. Bracket ni oda ya kuingia yenye jozi ya OCO iliyounganishwa, na jozi hiyo huwaka tu mara tu kuingia kunapokamilika. Kila bracket ina OCO. Jozi nyingi za OCO hutumiwa peke yake.

Je, bracket order bado inafanya kazi ikiwa kompyuta yangu imezimwa?

Inategemea mahali kiungo kinapokaa. Bracket ya upande wa broker hukaa kwenye seva za broker na huendelea kufanya kazi huku jukwaa likiwa limefungwa. Bracket ya upande wa jukwaa au iliyoigwa inahitaji programu iwe inaendeshwa na kuunganishwa, na oda za watoto zinaweza zisifikie soko kamwe bila hiyo.

Nini hutokea kwa stop ikiwa profit target inatekelezwa kwa sehemu?

Stop hupunguzwa kwa kiasi kilichotekelezwa badala ya kufutwa. Ikiwa target ya hisa 200 inatekeleza hisa 60, stop inashuka hadi hisa 140, ikilingana na nafasi iliyo wazi. Kufuta hufanyika tu wakati nafasi ya mwisho inapofungwa.

Je, ninaweza kutumia bracket order katika biashara ya kabla ya soko au baada ya saa za kazi?

Tabia hutofautiana kulingana na broker, na wengi huelekeza watoto wa bracket wakati wa saa za kawaida pekee. Oda za stop hasa mara nyingi hukataliwa au kushikiliwa nje ya 9:30 asubuhi hadi 4:00 usiku ET kwenye hisa za Marekani. Mpangilio wa time-in-force kwenye kila mguu huamua kama mguu huo unastahili kipindi kilichopanuliwa hata kidogo.

Je, masoko yanajua kuwa oda zangu mbili zimeunganishwa?

Hapana. Katika hisa za Marekani kiungo cha kufutana kinashikiliwa na broker au jukwaa, na soko hupokea oda mbili huru. Ujumbe wa kufuta kwa mguu uliobakia hutumwa na mfumo wowote unaoshikilia kiungo, baada ya mguu mwingine kuripoti utekelezaji wake.


Kila paneli hapa inakuja na SQL kamili chini yake. Ili kupima masafa na hatari ya pengo kwenye jina unalofuatilia, uliza swali kwa Kiingereza rahisi kwenye terminal ya Strasmore.

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