این توصیه سرمایهگذاری نیست. اطلاعات ارائهشده فقط برای اهداف آموزشی و اطلاعرسانی است و بههیچوجه بهمعنای توصیه برای خرید یا فروش هیچ محصول مالی نیست.
یک سفارش OCO (یکی-لغو-دیگری) دو سفارشِ مرتبط است که در آن، وقتی یکی اجرا میشود، دیگری بهطور خودکار لغو میگردد. این سفارش زمانی مفید است که بخواهید یک پوزیشن را در یکی از دو سطح قیمت خروج کنید—معمولاً یک تارگت سود یا یک حد ضرر—اما نه هر دو. اولین سفارشی که اجرا شود برنده است؛ دیگری لغو میشود.
این مقاله یک راهنمای عملی است: اینکه سفارشهای OCO چه زمانی منطقی هستند، چگونه آنها را روی یک پلتفرم معمولی تنظیم کنید، و چه چیزهایی را باید زیر نظر داشته باشید.
زمانی که سفارشهای OCO معنیدار هستند
سه کاربرد رایج:
- سفارشهای براکت (Bracket orders). یک موقعیت لانگ با هم هدف سود و هم حد ضرر. یک سفارش فروش لیمیت بالاتر از قیمت فعلی و یک سفارش فروش استاپ پایینتر قرار دهید. هر کدام که اول فعال شود پر میشود و دیگری لغو میگردد. موقعیت در یکی از این دو قیمت بسته میشود.
- ورودهای شکست (Breakout entries). معاملهگری که منتظر شکست بالای مقاومت یا شکست پایینِ حمایت است. یک سفارش خرید استاپ بالاتر از مقاومت و یک سفارش فروش استاپ پایینتر از حمایت قرار دهید. اولین موردی که فعال شود وارد موقعیت میشود؛ دیگری لغو میگردد.
- بازورودها (Re-entries). معاملهگری که میخواهد بالاتر از یک سطح لانگ باشد و پایینتر از آن شورت. همان ساختارِ ورودِ شکست، اما با مدیریت هر دو سمتِ موقعیت.
الگوی مشترک: سفارشهای OCO دربارهٔ «انتخاب» هستند. شما نمیدانید کدام سمت اول فعال میشود، اما میخواهید برای هر دو آماده باشید.
چگونه یک OCO در یک پلتفرم معمولی راهاندازی کنیم
مراحل دقیق بسته به Broker متفاوت است، اما ساختار همان است. در بیشتر پلتفرمها (thinkorswim، Interactive Brokers، Tastyworks، TradeStation):
- روی پوزیشن کلیک راست کنید یا بلیت/تیکت سفارشِ باز را باز کنید. اکثر پلتفرمها گزینه OCO را در منوی کشوییِ نوع سفارش دارند.
- پایۀ اول را تنظیم کنید. این معمولاً یک سفارش limit (سود/هدف) یا یک سفارش stop (حد ضرر) است.
- پایۀ دوم را تنظیم کنید. سفارشِ مکمل.
- این دو پایۀ سفارش را بهصورت OCO به هم لینک کنید. اکثر پلتفرمها یک کادر انتخاب یا دکمه برای علامتگذاری سفارش بهعنوان OCO دارند.
- ارسال/Submit. پلتفرم هر دو سفارش را میفرستد؛ یکی اجرا میشود و دیگری بهطور خودکار لغو میگردد.
پلتفرم همچنین بعد از ارسال به شما اجازه میدهد قیمتها و نوع سفارشها را تغییر دهید. لینک OCO تا زمانی حفظ میشود که یکی از پایۀها اجرا شود یا هر دو را بهصورت دستی لغو کنید.
تغییرات رایج
OCO با یک stop-limit در سمت stop
یک سفارش stop ساده هنگامی که فعال میشود به یک سفارش market تبدیل میگردد که میتواند در بازارهای پرنوسان باعث ایجاد slippage شود. یک سفارش stop-limit در زمان فعال شدن به یک سفارش limit با قیمت مشخص تبدیل میشود؛ این کار slippage را کاهش میدهد اما در صورتی که قیمت از طریق حد (limit) جهش کند، خطر عدم انجام (non-fill) وجود دارد.
مبادله (trade-off): stop-market با slippage پر میشود؛ stop-limit با قیمت مشخص پر میشود یا اصلاً انجام نمیشود. OCO میتواند یک stop-market (برای stop-loss) را با یک سفارش limit (برای profit target) ترکیب کند، یا برای هر دو طرف از stop-limit استفاده کند.
OCO توقفِ دنبالهدار
توقفِ دنبالهدار (Trailing stop) توقفی است که با حرکت قیمت به نفع شما تنظیم میشود. OCO توقفِ دنبالهدار، یک توقفِ دنبالهدار (حد ضرری که همراه با قیمت بالا میرود) را با یک سفارش حدی (سفارش برای سود) ترکیب میکند. اگر قیمت برگردد، پوزیشن در توقفِ دنبالهدار بسته میشود؛ یا اگر پیش از آن تارگتِ سود (حد) محقق شود، در همان حد بسته میشود.
OCO توقفِ دنبالهدار برای معاملاتِ مبتنی بر مومنتوم مفید است؛ جایی که میخواهید یک حرکت چندروزه را شکار کنید، اما در صورت برگشت از معامله خارج شوید. توقفِ دنبالهدار با افزایش قیمت، سود را قفل میکند؛ و تارگتِ حدی خروجیِ رو به بالا را فراهم میسازد.
OCO زماندار
برخی پلتفرمها به شما اجازه میدهند برای OCO یک تاریخ انقضا تعیین کنید. OCO در زمان انقضا بهصورت خودکار لغو میشود، اگر هیچیک از دو بخش آن پر نشده باشد. این مورد برای تنظیماتی مفید است که فقط در یک بازه زمانی مشخص معتبر هستند (مثلاً یک اعلام درآمد یا زمان باز شدن بازار).
تاریخ انقضا مخصوص پلتفرم است. بعضی پلتفرمها بهصورت پیشفرض روی «good till cancelled» (GTC) تنظیم میشوند؛ یعنی OCO بهطور نامحدود فعال میماند. برخی دیگر به «day» یا «good till close» (GTC) پیشفرض میشوند. تاریخ انقضا را آگاهانه و بر اساس استراتژی تنظیم کنید.
چه چیزهایی ممکن است اشتباه پیش برود
سه الگو:
1. هر دو بخش در بازارهای سریع فعال میشوند
در یک بازار با حرکت سریع، هر دو بخش میتوانند در همان میلیثانیه فعال شوند. پلتفرم ممکن است یکی، دیگری، یا هر دو را پر کند — بسته به نحوهٔ مسیریابی سفارش. عبارت «OCO» فقط تضمین میکند که اگر یکی زودتر پر شود، دیگری لغو میشود؛ اما اگر هر دو قبل از اینکه پلتفرم بتواند لغو را انجام دهد پر شوند، نتیجه میتواند یک بستنِ جزئی یا چرخش به سمتِ طرف مقابل باشد.
راهحل: در بازارهایی که احتمال دارد از هر دو سطح عبور (gap) کنند از OCO استفاده نکنید. بهجای آن از stop-market با یک بافر استفاده کنید یا ریسکِ پر شدنِ جزئی را بپذیرید.
۲. فعال شدن بخشِ استاپ روی یک سایه (wick)
در یک کندلِ سایهدار، قیمت بهطور موقت سطح استاپ را لمس میکند اما بالاتر از آن بسته میشود. یک سفارش استاپ-مارکت روی سایه فعال میشود و در قیمت استاپ (یا بدتر) پر میشود. OCO حد را لغو میکند، اما شما بهخاطر نویز خارج شدید.
راهحل: از یک استاپ-لیمیت با بافر استفاده کنید، یا از تأییدِ مبتنی بر زمان.
۳. پلتفرم پشتیبانی نکردن از OCO واقعی
برخی پلتفرمها فقط از «سفارشهای مرتبط» یا «سفارشهای در صورت لمس شدن» پشتیبانی میکنند که شبیه OCO هستند، اما منطق لغو متفاوتی دارند. برای تأیید رفتار OCO، مستندات پلتفرم را مطالعه کنید.
چگونه ارزیابی کنیم
هنگام راهاندازی سفارشهای OCO، بپرسید:
- آیا پلتفرم از OCO واقعی پشتیبانی میکند؟ (با یک سفارش کوچک در یک نماد نقدشونده تست کنید تا رفتار آن را تأیید کنید.)
- چه انواع سفارشهایی در هر بخش پشتیبانی میشوند؟ (Stop-market، stop-limit، trailing stop، limit. هرچه گزینههای بیشتری وجود داشته باشد، استراتژیهای بیشتری میتوانید اجرا کنید.)
- پیشفرض تاریخ انقضا چیست؟ (Day، GTC یا سفارشی. با دقت تنظیم کنید.)
- مدیریت partial-fill چگونه است؟ (اگر فقط ۵۰٪ از بخش limit پر شود، آیا OCO لغو میشود؟ بیشتر پلتفرمها لغو میکنند؛ بعضیها بخشِ پرنشده را فعال نگه میدارند.)
- لغزش (slippage) در بخش stop چقدر است؟ (Stop-market با slippage پر میشود. برای دیدن کیفیت واقعی پرشدن، در یک حساب کاغذی/paper-trading تست کنید.)
سوالات متداول
آیا OCO همان سفارش براکت است؟
سفارش براکت یک نوع مشخص از OCO است: یک سفارش ورود که هم یک هدف سود و هم یک حد ضررِ توقفدار دارد که بهصورت OCO به هم متصل شدهاند. OCO عمومی میتواند هر دو سفارشِ مرتبط باشد؛ براکت یکی از کاربردهای رایج آن است.
آیا میتوانم یک OCO را در چند حساب راهاندازی کنم؟
بیشتر پلتفرمها از OCO بینحسابی پشتیبانی نمیکنند. OCO در سطح موقعیت (position) و داخل یک حساب واحد تنظیم میشود.
تفاوت بین OCO و OTO (یکی دیگری را فعال میکند) چیست؟
یک OTO دو سفارشِ مرتبط است، بهطوریکه سفارش دوم فقط زمانی ثبت میشود که سفارش اول تکمیل شود. یک OCO دو سفارشِ مرتبط است، بهطوریکه سفارش دوم زمانی که سفارش اول تکمیل میشود لغو میگردد.
آیا همه کارگزاران از سفارشهای OCO پشتیبانی میکنند؟
بیشتر کارگزاران سطحبالا (tier-1) پشتیبانی میکنند، از جمله Interactive Brokers، Schwab، Tastyworks، TradeStation و E*TRADE. نحوهٔ پیادهسازی متفاوت است.
منابع مرتبط
از کجا شروع کنید
اگر میخواهید از سفارشهای OCO در معاملات خود استفاده کنید، قدم عملیِ اول این است که یک حساب معاملات کاغذی با یک Broker راهاندازی کنید که از این نوع سفارش پشتیبانی میکند و رفتار آن را با پوزیشنهای کوچک تست کنید. حساب کاغذی تنها راه برای بررسی منطق OCO پلتفرم قبل از اختصاص دادن پول واقعی است. برای دیدن فهرست فعلی پلتفرمهایی که از OCO پشتیبانی میکنند، جدول broker ما را ببینید.