ترکیب و گروهبندی شرطهای فیلتر
خواسته زبانی را به شرطهای مستقل تبدیل کنید و با اتصال صریح AND و OR، معنای پرانتزها را حفظ کنید.
پیشنیاز: درس منطق پایه و آشنایی با مقایسه دو مقدار.
ابتدا سه شرط مستقل بنویسید
مثال آموزشی: نمادی را میخواهیم که حجم آن از آستانه بیشتر باشد و دستکم یکی از دو شرط قیمت برقرار باشد. A را حجم بیشتر از آستانه، B را آخرین بیشتر از پایانی و C را آخرین بیشتر از آخرین کندل قبل تعریف کنید. تایمفریم و نماد دادههای هر مقایسه را یکسان نگه دارید.
منطق مورد نظر A AND (B OR C) است. قبل از اتصال، کنار هر شرط نام و معنای آن را بنویسید؛ نام A بهتنهایی برای نگهداری یک فایل کافی نیست.
ساخت گروهها در طراحی بلاکی
برای A، B و C سه مقایسه بسازید؛ عملگر هر سه بزرگتر و ضریب مقدار دوم ۱ باشد. خروجی منطقی B و C را به OR وصل کنید. سپس خروجی OR و خروجی A را به AND متصل کنید. گزینه Not هر دو بلاک خاموش باشد.
در این ساختار OR پرانتز داخلی را میسازد و AND رابطه بیرونی را مشخص میکند. اتصال خروجی AND باید به ورودی منطقی مقصد مربوط باشد؛ کنار هم گذاشتن بلاکها جای اتصال را نمیگیرد. در طراحی آسان نیز گزینههای همه شرطها، حداقل یک شرط و ترکیب شرطها را از هم تفکیک کنید؛ انتخاب همه شرطها بهتنهایی این گروهبندی سهشرطی را بیان نمیکند.
با موردی آزمایش کنید که دو ساختار فرق دارند
برای A=false، B=false و C=true، ساختار A AND (B OR C) نادرست است؛ زیرا حجم از آستانه عبور نکرده است. اما ساختار (A AND B) OR C درست میشود. همین یک مورد نشان میدهد جابهجایی اتصالها میتواند نماد نامطلوب را بپذیرد.
برای A=true، B=false و C=true نتیجه درست است. برای A=true، B=false و C=false نتیجه نادرست است. اینها آزمون منطقی با داده فرضی هستند؛ تعداد نمادهای نتیجه بازار از آنها به دست نمیآید.
هنگام آزمون گروهبندی شرطها، منبع را صریح بنویسید: شرطی که خودتان ساختهاید یا کارت آمادهای که فقط اجرا شده است. کارت آماده ممکن است چند خروجی و ستون داشته باشد و برای آزمون حقیقت AND/OR جایگزین کنترل ثابت نیست.
Not روی کدام نتیجه اعمال میشود؟
روشنکردن Not در AND، نتیجه کل گروه AND را معکوس میکند. NOT(A AND B) با (NOT A) AND B یکسان نیست. اگر قرار است فقط یک شرط معکوس شود، ساختار اتصال باید همان شرط را جدا کند.
OR میتواند مجموعه نتیجه را نسبت به AND گستردهتر کند، اما الزاماً تعداد نتیجه بیشتر نمیشود؛ ممکن است دو شرط برای همه نمادهای انتخابی همزمان برقرار یا همزمان نادرست باشند. مقایسه تعداد فقط روی مجموعه نماد، زمان و داده یکسان معتبر است.
ترکیب شرطهای مالی
برای یک فیلتر بنیادی، هر شرط مالی را مستقل بسازید و سپس با AND ترکیب کنید؛ نمونهٔ آموزشی سود > ۰٫۱ × درآمد و درآمد > ۰ است. تنظیم گزارش و واحد دو ورودی هر شرط باید قابل مقایسه باشد.
اگر نبود گزارش با صفر یا خروجی تهی مخلوط شده است، ابتدا اعتبار داده را کنترل کنید و بعد منطق AND/OR را بپذیرید.
تمرین و کنترل نتیجه
دو ساختار A AND (B OR C) و (A AND B) OR C را برای سه حالت ذکرشده محاسبه کنید؛ سپس اتصالهای فایل خود را با ساختار اول تطبیق دهید.
نتیجه مورد انتظار: در حالت false,false,true فقط ساختار دوم درست است؛ اگر فیلتر شما در این حالت نماد را میپذیرد، گروهبندی یا ورودی A را بررسی کنید.