رابطه‌های AND و OR در فیلترنویسی و طراحی استراتژی

گاهی اوقات پیش میاد که ما به جای یک شرط ساده، چندین شرط مختلف در فیلتر یا استراتژی خود داشته باشیم. در این مواقع، مهم‌ترین سوال این است که روابط بین این شروط را چطور تعیین کنیم؟ آیا باید هر دو شرط همزمان برقرار باشند یا برقراری یکی از آن‌ها کافی است؟ بیایید با هم این موضوع را بررسی کنیم.

رابطه AND (و): وقتی هر دو شرط لازم هستند

فرض کنید شما دو شرط دارید: شرط A و شرط B. زمانی که می‌خواهید هر دو این شروط همزمان برقرار باشند تا خروجی نمایش داده شود، باید از رابطه «و» یا همان AND استفاده کنید.

مثلاً می‌خواهید نمادهایی را شناسایی کنید که:

توضیح مفهوم شرط AND با مثال قیمت و RSI
توضیح مفهوم شرط AND با مثال قیمت و RSI
  • قیمت آن‌ها کمتر از ۵۰۰ تومان باشد.
  • و همزمان، شاخص RSI آن‌ها بزرگ‌تر یا مساوی ۳۰ باشد.

در این حالت، هر دو شرط باید با هم وجود داشته باشند. اگر فقط یکی از آن‌ها برقرار باشد، نماد در نتایج نمایش داده نمی‌شود. در مثال عملی، وقتی این دو شرط را با رابطه AND ترکیب می‌کنیم، ممکن است مثلاً ۴۱۸ نماد به ما نمایش داده شود که هم قیمت پایینی دارند و هم RSI آن‌ها در محدوده مورد نظر است.

رابطه OR (یا): وقتی یکی از شروط کافی است

حالا فرض کنید می‌خواهیم معیارهایمان را کمی بازتر کنیم. در این حالت، اگر هر یک از دو شرط برقرار باشد، خروجی نمایش داده می‌شود. به این رابطه، رابطه «یا» یا OR می‌گویند.

نمایش خروجی فیلتر با شرط AND (418 نماد)
نمایش خروجی فیلتر با شرط AND (418 نماد)

در این سناریو، اگر شرط A برقرار باشد یا شرط B، سیستم به شما خروجی می‌دهد. طبیعتاً وقتی از OR استفاده می‌کنیم، تعداد خروجی‌ها بیشتر می‌شود. در مثال قبلی، اگر به جای AND از OR استفاده کنیم، تعداد نمادهای نمایش داده شده ممکن است به ۱۵۹۸ برسد، چون هر نمادی که حداقل یکی از شرایط را داشته باشد، وارد لیست می‌شود.

نکته بسیار مهم: تفاوت رفتار در فیلترنویسی و استراتژی

اینجا یک نکته ظریف و کلیدی وجود دارد که باید حتماً به آن دقت کنید، چون در محیط‌های مختلف آسان بورس رفتار متفاوتی دارد:

توضیح مفهوم شرط OR و تفاوت آن با AND
توضیح مفهوم شرط OR و تفاوت آن با AND

۱. در محیط طراحی فیلتر

زمانی که در حال طراحی یک فیلتر هستید، شروطی که می‌نویسید به صورت پیش‌فرض با هم ترکیب می‌شوند. یعنی اگر شما دو شرط را بنویسید و بلاک AND را به صورت دستی اضافه نکنید، سیستم به طور خودکار فرض می‌کند که این دو شرط باید با هم (رابطه AND) برقرار باشند.

بنابراین، در فیلترنویسی استفاده از بلاک AND اجباری نیست و سیستم خودش این کار را انجام می‌دهد.

نمایش خروجی فیلتر با شرط OR (1598 نماد)
نمایش خروجی فیلتر با شرط OR (1598 نماد)

۲. در محیط طراحی استراتژی

اما داستان در طراحی استراتژی معاملاتی کمی متفاوت است. در اینجا، برای تعریف یک تریگر (Trigger) یا نقطه ورود، شما اجباراً باید از بلاک AND استفاده کنید تا مشخص شود که چه شرایطی باید همزمان رخ دهند.

خلاصه اینکه:

توضیح رفتار پیش‌فرض شروط در محیط فیلترنویسی
توضیح رفتار پیش‌فرض شروط در محیط فیلترنویسی
  • در فیلتر: شروط به صورت پیش‌فرض AND هستند (نیاز به بلاک جداگانه نیست).
  • در استراتژی: استفاده از بلاک AND برای تریگرها الزامی است.

با درک درست این روابط، می‌توانید فیلترنویسی دقیق‌تری داشته باشید و استراتژی‌های معاملاتی خود را با دقت بیشتری در بازار بورس پیاده‌سازی کنید.