ابزار
Branch
logic.branch
ورودیها
نخستین سیگنال درست/نادرست — برای مثال یک فیلتر روند یا یک ماشه کراساوور. در همهٔ مودها خوانده میشود.
دومین سیگنال درست/نادرست، تنها در مود ‘and’/‘or’ به کار میرود — برای مثال یک فیلتر مومنتوم یا سشن. وقتی مود ‘if’ است پنهان میشود.
خروجیها
یک باندل از دو خط درست/نادرست: ‘true’ نتیجهٔ مود را حمل میکند و ‘false’ وارونهٔ دقیق آن را، یک مقدار در هر کندل. هر دو دستگیره قابل اتصالاند.
Branch به یک پرسشِ درست/نادرست پاسخ میدهد و هر دو پاسخ را همزمان به تو میدهد. دستگیرهٔ ‘true’ وقتی شرط برقرار است شلیک میکند و دستگیرهٔ ‘false’ در هر کندل دیگر. همین جفتبودن نکتهٔ اصلی است — ‘true’ را به buy و ‘false’ را به cancel_buy وصل کن تا یک نود تنها هر دو سوی خروجیِ فیلتر را بدون نودِ Not جداگانه بگرداند.
چگونه کار میکند
یک مود انتخاب کن. ‘if’ ورودی a را مستقیم عبور میدهد، پس ‘true’ همان a است. ‘and’ فقط وقتی درست است که هم a و هم b درست باشند؛ ‘or’ وقتی درست است که دستکم یکی درست باشد. هرچه مود حساب کند دستگیرهٔ ‘true’ میشود و ‘false’ همیشه وارونهٔ دقیق آن است — این دو دستگیره هر کندل را میان خود تقسیم میکنند، پس هرگز هر دو با هم شلیک نمیکنند و هرگز هر دو ساکت نمیمانند. انتخابگر مود وقتی ‘if’ را برگزینی ورودی دوم را خاکستری میکند.
حالتها
a را مستقیم عبور میدهد: ‘true’ همان a است و ‘false’ هر کندل دیگر. ورودی b نادیده گرفته میشود.
چه زمانی استفاده شود: یک شرط موجود را به دو سوی عبور و لغو بشکن؛ مثلاً پرچم روند صعودی را به buy و وارونهاش را به cancel_buy بفرست.
‘true’ فقط وقتی هم a و هم b درستاند؛ ‘false’ در هر کندل دیگر.
چه زمانی استفاده شود: همهٔ شرطها را یکجا بطلب؛ مثلاً روند صعودی و مومنتوم صعودی پیش از آنکه سیگنالی اجازهٔ عبور بیابد.
‘true’ وقتی دستکم یکی از a یا b درست است؛ ‘false’ فقط وقتی هیچکدام نیستند.
چه زمانی استفاده شود: هر یک از چند ستاپ را بپذیر؛ مثلاً عبور روی شکست یا روی سیگنال پولبک.
پیکربندی
اینکه دستگیرهٔ ‘true’ چگونه حساب میشود: ‘if’ مقدار a را عبور میدهد، ‘and’ هر دو ورودی را درست میخواهد و ‘or’ دستکم یکی را. ‘false’ همیشه وارونهٔ دقیق ‘true’ است. ورودی دوم در مود ‘if’ پنهان است.
اتصال به
مثالها
- مود را روی if بگذار، یک پرچم روند صعودی را به a وصل کن، سپس ‘true’ را به buy و ‘false’ را به cancel_buy بفرست تا فیلتر در هر کندل به حکم برسد.
- مود را روی and بگذار با روند صعودی در a و مومنتوم صعودی در b تا فقط وقتی هر دو توافق دارند عبور کند.
اشتباهات رایج
- وصلکردن ‘false’ به یک پورت لغو بدون آنکه واقعاً منظورت باشد. ‘false’ در هر کندلی که شرط برقرار نیست شلیک میکند، پس فرستادنش به cancel_buy سیگنال را بیدرنگ دور میریزد — اگر قرار است یک عدمتحقق فقط نگه دارد و کندل بعد دوباره تلاش کند، ‘false’ را وصلنشده رها کن.
- رهاکردن b بدون اتصال در مود ‘and’/‘or’: آنگاه گیت مقدار b را نادرست میخواند، که ‘and’ را برای همیشه روی نادرست میخکوب میکند و ‘or’ را بیسروصدا به عبور سادهٔ a فرو میکاهد.