تعریف قواعد ورود و خروج قابل آزمون
ورود، خروج و وضعیت همزمانی شرطها را پیش از اجرای استراتژی روشن کنید تا بتوانید رفتار گزارش را بررسی کنید.
پیشنیاز: درس سیگنال و سفارش؛ انتخاب یک نماد و تایمفریم مشخص.
هر سمت معامله یک قاعده مستقل دارد
برای نمونه آموزشیِ موقعیت خرید، ورود و خروج را جدا تعریف کنید. ورود فقط میگوید چه زمانی سیگنال Long میخواهید؛ خروج با Sell مشخص میشود. نبود شرط فروش، بهخودیخود یک سیاست خروج کامل نیست.
در طراحی آسان، سیگنال خرید و سیگنال فروش دو مرحله جدا هستند. در طراحی پیشرفته، برای هر سمت زنجیره شرط و سیگنال و سفارش متناظر بسازید. نامگذاری ورود و خروج باید با نوع سیگنال هماهنگ باشد.
یک مثال منطقی بدون همپوشانی
برای تمرین، A را آخرین قیمت روزانه و B را قیمت پایانی کندل قبل بگیرید. ورود فرضی A > B و خروج فرضی A < B است. در برابری، هیچکدام درست نیستند. این مثال فقط برای شناخت رابطه شرطهاست و مزیت معاملاتی را اثبات نمیکند.
سه حالت A=110,B=100؛ A=90,B=100؛ و A=100,B=100 را بررسی کنید. بهترتیب فقط ورود، فقط خروج و هیچکدام فعالاند. جای ورودیها و فیلد آخرین/پایانی را قبل از اجرا بازخوانی کنید.
همزمانی را عمداً بررسی کنید
اگر ورود حجم > 0 و خروج آخرین < پایانی قبل باشد، هر دو ممکن است همزمان درست شوند. این ترکیب با مثال قبلی فرق دارد. قبل از اجرا روشن کنید در چنین حالتی چه رفتار مورد انتظار دارید و آن را در دفتر معاملات کنترل کنید.
ترتیب قرارگیری بلاکها روی بوم بهتنهایی شاهد ترتیب اجرای خرید و فروش نیست. بدون مشاهده گزارش، تقدم یکی را فرض نکنید. برای آزمایش مقدماتی، شروط متقابلاً ناسازگار بررسی را سادهتر میکنند.
شرط خروج بدون موقعیت چه معنایی دارد؟
ممکن است شرط فروش در زمانی درست شود که موقعیت خریدی وجود ندارد. درست بودن شرط و داشتن دارایی دو موضوع متفاوتاند؛ باید وضعیت حساب و نتیجه موتور را بررسی کنید. برای اتصال محدودیتهای حساب، از قرارداد بلاکهای اطلاعات حساب و پرتفو کمک بگیرید.
تداوم شرط ورود در چند کندل، رخداد تقاطع جدید نیست. اگر هدف ورود در عبور است، قرارداد تقاطع و کندل قبلی را بخوانید. محدودکردن تکرار سفارش هم جای تعریف درست شرط را نمیگیرد.
همزمانی در سطح خروجی سفارش
بلاک سفارش فقط وقتی خروجی میسازد که Trigger درست و Signal غیرتهی باشد؛ سپس قیمت، حجم، StopLoss و TakeProfit را در یک شیء سفارش جمع میکند. اگر شرط یا سیگنال موجود نباشد، خروجی سفارش تهی است و از نبود معامله نمیتوان علت را فقط به قیمت نسبت داد.
در اجرای زنده، یکبار مصرف میتواند خروجی همان نماد را پس از اولین پیام تهی کند. برای تشخیص اثر آن از همزمانی شرطها، تنظیم را ثابت نگه دارید و سیگنال، خروجی سفارش و دفتر معاملات را جدا ثبت کنید.
معیار پذیرش نمونه
پیش از بکتست، نماد، زمان، تایمفریم، شرطها و حالت برابری و همزمانی را بنویسید. بعد از اجرا یک ورود و خروج را از دفتر معاملات انتخاب و با داده همان زمان تطبیق دهید.
اگر هیچ معاملهای نبود، نتیجه را صرفاً از سود صفر قضاوت نکنید؛ ممکن است شرط رخ نداده، داده در دسترس نبوده یا تنظیم اجرا مانع معامله شده باشد. ابتدا وقوع شرط و سپس تولید سیگنال و سفارش را جدا بررسی کنید.
پس از تعریف ورود و خروج، گزارش یک نماد را با دفتر معامله تطبیق دهید. اگر حالت بدون حجم فعال است، درصد گزارش میتواند مرکب و مبلغ خلاصه صفر باشد؛ این رفتار را با نتیجهٔ حجم فعال مخلوط نکنید.
برای پذیرش نمونهٔ بکتست، حالت حجم و سرمایهٔ اولیه را همراه سیگنال، سفارش، دفتر و سنجهٔ خلاصه ثبت کنید؛ تفاوت درصد مرکب با مبلغ حالت بدون حجم خطای ورود/خروج محسوب نمیشود.
تمرین و کنترل نتیجه
سه حالت عددی مثال را حل کنید و برای هرکدام سیگنال فعال را بنویسید. سپس یک حالت بسازید که در ترکیب حجم مثبت و قیمت کمتر از پایانی قبل، هر دو سمت درست باشند.
نتیجه مورد انتظار: در مثال بدون همپوشانی، برابری هیچ سیگنالی نمیدهد. در ترکیب دوم همزمانی ممکن است؛ اثر اجرایی آن باید از گزارش اثبات شود.