
منطق معاملاتی مبتنی بر Price Action در ربات
در دنیای معاملات الگوریتمی، جایی که اعداد و منطق خشک بر احساسات غالب هستند، تلاش برای کدنویسی پرایس اکشن (Price Action) – هنر تفسیر حرکت خالص قیمت – همواره یکی از چالشبرانگیزترین و در عین حال پربارترین مسیرها بوده است. برخلاف روشهای سنتی مبتنی بر اندیکاتورها که به دنبال تفسیر تأخیری دادههای قیمت هستند، پرایس اکشن بر این فرض استوار است که تمام اطلاعات لازم برای پیشبینی حرکتهای آتی بازار در دل خود کندلها و نحوه تعامل آنها با یکدیگر نهفته است. این رویکرد، که اغلب به عنوان ذهنیترین و شهودیترین روش معاملاتی شناخته میشود، زمانی که به قلمرو رباتهای معاملهگر (Trading Bots) وارد میشود، نیازمند یک دگرگونی بنیادین است؛ تبدیل شهود به کدهای ساختاریافته و قابل اجرا. در این مقاله، به عمق این فرآیند سفر خواهیم کرد تا درک کنیم چگونه میتوان مفاهیمی مانند ساختار بازار (Market Structure)، نقدینگی (Liquidity)، و ماهیت نبرد خریداران و فروشندگان را به یک منطق الگوریتمی منسجم برای اتوماسیون تبدیل کرد. این تحلیل برای برنامهنویسانی طراحی شده که فراتر از سطوح ابتدایی اندیکاتورمحوری حرکت کردهاند و آمادهاند تا با پیچیدگیهای واقعی پرایس اکشن در محیط خودکار درگیر شوند.
درک عمیق و فلسفی در تقابل با رویکردهای اندیکاتوری
پرایس اکشن صرفاً مجموعهای از الگوهای بصری روی نمودار نیست؛ بلکه یک فلسفه معاملاتی است که ریشه در درک عرضه و تقاضا، روانشناسی جمعی معاملهگران و دینامیکهای نقدینگی در بازارهای مالی دارد. در هسته خود، پرایس اکشن تلاشی برای رمزگشایی مستقیم نیات بازیگران اصلی بازار، اعم از بانکهای مرکزی، مؤسسات بزرگ و تریدرهای نهادی (که اغلب با عنوان اسمارت مانی (Smart Money) شناخته میشوند) از طریق نگاه کردن به نحوه حرکت قیمت در طول زمان است. در مقابل، رویکردهای مبتنی بر اندیکاتورها مانند میانگین متحرک (Moving Average) یا RSI، تلاش میکنند تا حرکت قیمت را از طریق توابع ریاضی فیلتر کرده و سیگنالهای تأخیری تولید کنند. این اندیکاتورها، هرچند در برخی شرایط میتوانند مفید باشند، اما اساساً تصویر مخدوش و با تأخیر از واقعیت قیمت ارائه میدهند. در پرایس اکشن، ما به دنبال سیگنالهای خام هستیم؛ سیگنالهایی که مستقیماً از تعاملات خریدار و فروشنده ناشی میشوند. یک کندل استیک (Candlestick) تنها یک نوار داده نیست؛ بلکه سندی تاریخی از نبرد یک دوره زمانی مشخص است: چه کسی غالب بود، در چه سطوحی مقاومت شکل گرفت و آیا نفوذ قدرت یک طرف به طور کامل رد شد یا خیر. برای یک ربات، این به معنای درک این است که به جای پاسخ دادن به اینکه آیا RSI زیر ۳۰ است (سیگنال خرید احتمالی)، ربات باید بپرسد: “در این کندل اخیر، آیا شاهد نفوذ (Incursion) قیمت به ناحیه فروش قبلی بودیم و آیا این نفوذ با بسته شدن قوی در بالای آن ناحیه تأیید شد، که نشاندهنده غلبه ناگهانی خریداران است؟” این تغییر پارادایم از تفسیر محاسباتی به تفسیر رفتاری، سنگ بنای طراحی رباتهای موفق پرایس اکشن است.
تبدیل مفاهیم ذهنی به منطق قابل کدنویسی
بزرگترین مانع در خودکارسازی پرایس اکشن، انتزاعی بودن بسیاری از مفاهیم آن است. مفاهیمی نظیر “احساس بازار”، “نقدینگی زیر سطح” یا “تأییدیه شکست ساختاری” برای ذهن انسان قابل درک هستند، اما برای یک کامپیوتر، باید به فرمولها و معیارهای قابل اندازهگیری تبدیل شوند. این فرآیند نیازمند تعریف دقیق و غیرقابل ابهام از هر مؤلفه است. برای مثال، تعریف “حمایت” در ذهن یک تریدر ممکن است شامل مناطقی باشد که قیمت قبلاً در آنجا واکنش نشان داده است؛ اما برای ربات، این باید به عنوان مجموعهای از نقاط قیمتی مشخص تعریف شود که حداقل دو یا سه بار به آن واکنش نشان داده و در آن نقاط، یک الگوی بازگشتی (Reversal Pattern) مشخص مشاهده شده باشد. تبدیل ساختار بازار (Market Structure) از یک مفهوم بصری به یک الگوریتم، نیازمند تعریف صریح سقفها (Highs) و کفها (Lows) است. یک کف بالاتر (Higher Low) زمانی تعریف میشود که کف جدید قیمتی، بالاتر از کف قبلی باشد و در آن ناحیه، یک بریک ساختار (Break of Structure) صعودی (تشکیل سقف جدید بالاتر از سقف قبلی) رخ داده باشد. این تعریف ریاضیاتی، که به شدت بر روی سطوح قیمتی متمرکز است، به ربات اجازه میدهد تا به طور مداوم و بدون خستگی، روند (Trend) غالب را تشخیص دهد. چالش اصلی در این مرحله، مدیریت عدم قطعیت و نویز بازار است؛ چگونه میتوانیم یک حرکت تصادفی کوچک را از یک بریک ساختار معتبر تشخیص دهیم؟ اینجاست که معیار حجم ضمنی یا نیاز به تأیید چند مرحلهای وارد عمل میشود، که در بخشهای بعدی مفصلتر به آن خواهیم پرداخت.
تحلیل و ساختار کندلی برای تصمیمگیری الگوریتمی
کندل استیکها بلوکهای سازنده هر حرکت قیمتی هستند و در طراحی ربات پرایس اکشن، آنها نباید فقط به عنوان مجموعهای از چهار عدد (باز شدن، بالا، پایین، بسته شدن) در نظر گرفته شوند، بلکه باید به عنوان یک “روایت” از نبرد یک بازه زمانی تحلیل شوند. کدنویسی برای تحلیل کندل استیک نیازمند تعریف دقیق معیارهایی برای ارزیابی قدرت و ضعف خریداران و فروشندگان در آن دوره زمانی است. برای مثال، قدرت یک کندل صعودی تنها با مقایسه قیمت بسته شدن با قیمت باز شدن سنجیده نمیشود؛ بلکه با ارزیابی نسبت سایه بالایی (Upper Shadow) به بدنه کندل (Body) سنجیده میشود. یک کندل با سایه بالایی بسیار بلند و بدنه کوچک (مانند پین بار (Pin Bar) صعودی) باید به عنوان یک سیگنال قوی برای رد شدن فروشندگان در آن سطح تلقی شود، مشروط بر اینکه در یک ناحیه کلیدی حمایت و مقاومت (Support & Resistance) تشکیل شده باشد. برای ربات، این به معنای تعریف فرمولهایی است که به طور خودکار این ویژگیها را استخراج کنند. به عنوان مثال، میتوانیم تعریف کنیم که یک کندل پین بار صعودی، کندلی است که قیمت پایانی آن بالاتر از قیمت باز شدن باشد، طول سایه بالایی آن حداقل دو برابر طول بدنه باشد و طول سایه پایینی آن کمتر از یک دهم طول بدنه باشد. این تعریف دقیق، امکان شناسایی خودکار الگوهای بازگشتی و الگوهای ادامهدهنده (Continuation Patterns) را فراهم میکند. ربات باید بتواند نه تنها پین بار را شناسایی کند، بلکه باید مفهوم انگلفینگ (Engulfing Pattern) را نیز درک کند؛ یعنی یک کندل باید به طور کامل بدنه کندل قبلی را در بر گیرد، که نشاندهنده تغییر ناگهانی و غالب شدن یک طرف بازار است. این تحلیل ساختاری، موتور اصلی ورود به معامله (Trade Entry) در استراتژیهای پرایس اکشن الگوریتمی است.
تشخیص ، روند، رنج و شکستها به زبان الگوریتم
تشخیص دقیق ساختار بازار سنگ بنای هر استراتژی پرایس اکشن است، زیرا استراتژیهای خرید (Long) در روند صعودی با استراتژیهای خرید در رنج (Range) بازار کاملاً متفاوت هستند. ربات باید بتواند به طور مستمر وضعیت بازار را به یکی از سه دسته اصلی (صعودی، نزولی، رنج) طبقهبندی کند. این کار با استفاده از معیارهای الگوریتمی برای شناسایی متوالی سقفها و کفها انجام میشود. یک روند صعودی زمانی تأیید میشود که حداقل دو کف بالاتر (Higher Lows) و دو سقف بالاتر (Higher Highs) به طور متوالی ثبت شده باشند. برای برنامهنویسی، این نیازمند یک منطق تکرارشونده (Iterative Logic) است که با هر کندل جدید، آخرین سقف و کف معتبر را به روز کند. هنگامی که یک سقف جدید بالاتر از سقف قبلی شکسته میشود (بریک ساختار صعودی)، ساختار بازار صعودی تأیید میشود و ربات باید به دنبال فرصتهای خرید در پولبکها به سطوح حمایت باشد. برعکس، در روند نزولی، شکست کف پایینتر (Lower Low) به معنای تأیید روند نزولی و جستجو برای فرصتهای فروش در پولبکها به سطوح مقاومت است. مفهوم رنج بازار زمانی تشخیص داده میشود که قیمت در یک کانال مشخص (بین یک حمایت و مقاومت معتبر) محبوس شده و قادر به تشکیل سقف یا کف جدید نباشد. در این حالت، رباتها معمولاً به دنبال خرید در حمایت و فروش در مقاومت رنج میگردند. بزرگترین چالش الگوریتمی در اینجا، تمایز بین یک بریک ساختار واقعی و یک فیک بریکاوت (Fake Breakout) است. یک فیک بریکاوت زمانی اتفاق میافتد که قیمت از یک سطح مهم عبور میکند، اما بلافاصله با قدرت به داخل محدوده قبلی بازمیگردد. رباتها برای تشخیص این پدیده باید حداقل به دو یا سه کندل پس از شکست نگاه کنند و معیارهایی مانند حجم ضمنی (بسته شدن ضعیف بعد از نفوذ) یا نسبت سایهها را بررسی کنند تا از ورود به تلههای نقدینگی دوری کنند.
منطق تشخیص پویا و استاتیک در ربات
سطوح حمایت و مقاومت (S/R) ستون فقرات هر استراتژی پرایس اکشن هستند، اما تبدیل این سطوح بصری به پارامترهای قابل کدنویسی، نیازمند تفکیک بین سطوح استاتیک (افقی) و سطوح پویا (متحرک) است. سطوح استاتیک S/R اغلب با شناسایی نقاط قیمتی که قیمت چندین بار در گذشته به آنها واکنش نشان داده (سوئیچ نقش)، تعریف میشوند. در سطح الگوریتمی، میتوان این سطوح را با استفاده از الگوریتمهای یافتن قلهها و درهها (Pivot Points) در بازههای زمانی مشخص استخراج کرد و سپس با استفاده از یک “منطقه تحمل” (Tolerance Zone) به جای یک خط قیمتی واحد، آنها را تعریف نمود تا نویزهای کوچک بازار را فیلتر کند. به عنوان مثال، یک سطح مقاومت ممکن است به صورت یک محدوده قیمتی (P \pm \epsilon) تعریف شود که حداقل دو بار در نمودار قبلی به عنوان سقف عمل کرده است. اما سطوح پویا، مانند خطوط روند (Trend Lines) یا سطوح ناشی از میانگینهای متحرک که به عنوان S/R عمل میکنند، نیازمند تعریف الگوریتمی متفاوتی هستند. خطوط روند با شناسایی دو یا چند کف یا سقف معتبر متوالی و محاسبه معادله خطی بین آنها تعریف میشوند. ربات باید دائماً این خطوط را مجدداً محاسبه کند، زیرا با هر کندل جدید، شیب و موقعیت خط روند تغییر میکند. علاوه بر این، یکی از پیشرفتهترین مفاهیم، تشخیص سطوح حمایت و مقاومت ناشی از اسمارت مانی است، مانند مناطقی که اردر بلاک (Order Block) یا فراگیری نقدینگی (Liquidity Sweep) رخ داده است. این سطوح اغلب با بررسی کندلهایی با بدنه بزرگ (High Momentum Candles) که یک نقدینگی بزرگ را جذب کردهاند و با بسته شدن قدرتمند، قیمت را به سمت مخالف برگرداندهاند، شناسایی میشوند. ربات باید بتواند این مناطق را نه تنها بر اساس قیمت، بلکه بر اساس “ماهیت” کندل ایجادکننده آن ناحیه متمایز سازد.
بررسی نقش ، سایه کندلها و حجم ضمنی بازار
در قلب پرایس اکشن پیشرفته، مفهوم نقدینگی (Liquidity) قرار دارد؛ در واقع، نقدینگی همان سوختی است که بازار را حرکت میدهد. اسمارت مانی برای اجرای سفارشات بزرگ خود نیازمند وجود نقدینگی کافی است، و این نقدینگی معمولاً در مناطقی انباشته میشود که تریدرهای خرد (Retail Traders) حجم زیادی از حد ضرر (Stop Loss) یا سفارشات حد ضرر خود را قرار دادهاند، یعنی زیر کفها و بالای سقفهای واضح بازار. رباتهای پرایس اکشن مدرن باید مجهز به منطقی باشند که بتواند این مناطق نقدینگی را پیشبینی و از آنها بهرهبرداری کند یا از آنها دوری جوید. سایههای بلند کندل استیک، به ویژه در نواحی کلیدی S/R، اغلب نشاندهنده نقدینگیگیری (Liquidity Grab) هستند. سایه بلند نشان میدهد که قیمت به طور موقت برای فعالسازی سفارشات استاپلاس نفوذ کرده و سپس به سرعت توسط قدرت طرف مقابل به عقب رانده شده است. ربات باید بتواند طول سایهها را نسبت به اندازه بدنه کندل در یک بازه زمانی مشخص محاسبه کند. علاوه بر این، در بازارهایی که دادههای حجم (Volume) واقعی در دسترس است (مانند فیوچرز)، حجم ضمنی (Implied Volume) از طریق اسپرد یا اطلاعات کندلهای بلند و سریع قابل استنتاج است. کندلی که با دامنه قیمتی بالا و بسته شدن قوی در یک جهت تشکیل میشود، حاکی از ورود حجم زیاد است. اگر ربات ما قادر به شناسایی سطوحی باشد که بازار با فشار قوی به آنها حمله کرده اما در نهایت نتوانسته است آنها را بشکند، این نشاندهنده یک مقاومت ساختاری قوی است که معمولاً در پشت آن حجم زیادی از سفارشات مخالف قرار دارد. این درک از اینکه قیمت به دنبال نقدینگی حرکت میکند، به ربات اجازه میدهد تا از تلههای فیک بریکاوت که هدفشان جمعآوری استاپلاسها است، اجتناب کند و تنها زمانی وارد شود که نقدینگی لازم برای حرکت در جهت مورد نظر فراهم شده باشد.
پیادهسازی الگوهای (پین بار، اینساید بار، انگلفینگ) در منطق ربات
همانطور که پیشتر اشاره شد، کلید کدنویسی پرایس اکشن در تبدیل الگوهای بصری به قوانین شرطی (If/Then Statements) است. الگوهای بازگشتی خاص، اغلب نقاط ورود به معامله با ریسک به ریوارد بالا را فراهم میکنند. برای پیادهسازی این الگوها در منطق ربات، باید تعاریف ریاضیاتی دقیقی تعریف شوند که از ابهام فاصله بگیرند.
۱. پین بار (Pin Bar):
این الگو نشاندهنده رد شدن شدید قیمت در یک سطح است. منطق ربات باید شامل سه شرط اصلی باشد: الف) موقعیت: کندل باید در نزدیکی یک سطح S/R معتبر (که توسط منطق بخش قبل شناسایی شده) بسته شود. ب) نسبت سایه: سایه بلند (مثلاً بالایی در بازگشت نزولی) باید حداقل دو برابر طول بدنه کندل باشد. ج) بدنه کوچک: بدنه کندل باید نزدیک به انتهای محدوده قیمتی آن کندل بسته شود (مثلاً در ربع بالایی برای پین بار صعودی). ربات تنها در صورتی فرمان ورود به معامله را صادر میکند که قیمت کندل بعدی، تأیید کند که نفوذ قبلی قیمت به طور کامل دفع شده است.
۲. اینساید بار (Inside Bar):
این الگو نشاندهنده کاهش نوسان و تثبیت (Consolidation) است که اغلب قبل از یک حرکت قوی رخ میدهد. تعریف الگوریتمی آن سادهتر است: یک کندل (کندل داخلی) باید کاملاً در محدوده قیمتی کندل قبلی (کندل مادر) قرار گیرد. با این حال، ارزش معاملاتی آن زمانی افزایش مییابد که این اینساید بار در یک ناحیه کلیدی S/R شکل بگیرد و به عنوان یک دوره استراحت قبل از ادامه روند یا برگشت عمل کند. ربات میتواند سیگنال ورود را پس از بریک اوت (Breakout) از محدوده کندل مادر، با جهت شکست فعال کند.
۳. انگلفینگ (Engulfing Pattern):
این الگو نشاندهنده تغییر ناگهانی قدرت غالب در بازار است. تعریف ریاضیاتی آن این است که بدنه کندل فعلی باید به طور کامل بدنه کندل قبلی را در بر گیرد (بدون در نظر گرفتن سایهها لزوماً، هرچند در پرایس اکشن پیشرفته سایهها نیز مورد توجه قرار میگیرند). برای یک ربات، شرط انگلفینگ صعودی این است که: (Open_{Current} < Close_{Previous}) و (Close_{Current} > Open_{Previous}) و همچنین (Close_{Current} > High_{Previous}) و (Open_{Current} < Low_{Previous}) برای انگلفینگ کامل. این الگوها، وقتی در ترکیب با تشخیص ساختار بازار و سطوح نقدینگی فعال شوند، تبدیل به یک استراتژی معاملاتی قوی میشوند.
فیلترهای تایمفریم بالا در رباتهای
یکی از اشتباهات رایج در خودکارسازی پرایس اکشن، تمرکز صرف بر روی تایمفریم اجرای معامله (Execution Timeframe) است. یک ربات پرایس اکشن حرفهای باید از رویکرد مالتی تایم فریم (Multi-Time Frame Analysis) پیروی کند. تایمفریمهای بالاتر (مثلاً روزانه یا ۴ ساعته) به عنوان “فیلترهای ساختاری” عمل میکنند که جهت اصلی حرکت بازار و سطوح مهم نقدینگی بلندمدت را مشخص میکنند. اگر ربات در تایمفریم ۱۵ دقیقهای به دنبال یک پین بار صعودی باشد، اما در تایمفریم روزانه بازار در یک روند نزولی قوی قرار داشته باشد، احتمال موفقیت آن سیگنال به شدت کاهش مییابد. منطق ربات باید ابتدا ساختار بازار غالب را در تایمفریم بالا (مثلاً H4) تشخیص دهد. اگر H4 صعودی است، ربات تنها به دنبال فرصتهای خرید در پولبکها در تایمفریم پایین (M15) خواهد بود و سیگنالهای فروش را نادیده میگیرد. این امر با مفهوم “معامله با جریان بازار” (Trading With the Flow) مطابقت دارد. همچنین، سطوح حمایت و مقاومت کلیدی که در تایمفریمهای بالا مشاهده میشوند، دارای اعتبار بسیار بیشتری هستند. ربات باید این سطوح را استخراج کرده و از آنها به عنوان نواحی مورد نظر برای ورود به معامله در تایمفریم پایینتر استفاده کند. به این ترتیب، فیلترهای تایمفریم بالا، سیگنالهای معاملاتی تولید شده در تایمفریمهای پایین را از نویزهای کوتاهمدت جدا کرده و تنها سیگنالهایی را تأیید میکنند که با چشمانداز بزرگتر بازار همسو هستند.
و سرمایه در استراتژیهای خودکار
موفقیت یک ربات پرایس اکشن به اندازه منطق ورود آن، به مدیریت ریسک (Risk Management) دقیق آن بستگی دارد. در حالی که پرایس اکشن به طور طبیعی نقاط حد ضرر (Stop Loss) بسیار منطقی ارائه میدهد (معمولاً کمی پایینتر از کف الگوی بازگشتی یا بالای سقف الگوی بازگشتی)، اجرای خودکار این قوانین نیازمند دقت برنامهنویسی است. پارامتر کلیدی در اینجا، تعیین اندازه موقعیت (Position Sizing) بر اساس درصد ثابتی از سرمایه است، نه بر اساس پیپ یا حجم ثابت. به عنوان مثال، ربات باید تعریف کند که ریسک هر معامله نباید از ۰.۵٪ یا ۱٪ کل سرمایه فراتر رود. این محاسبه باید به طور پویا و بر اساس فاصله واقعی حد ضرر از قیمت ورود به معامله محاسبه شود.
[ \text{حجم معامله} = \frac{\text{سرمایه} \times \text{درصد ریسک}}{\text{فاصله حد ضرر از ورود به پیپ} \times \text{ارزش پیپ}} ]
علاوه بر این، رباتهای پرایس اکشن باید مکانیسمهای پیشرفتهتری برای مدیریت معامله باز داشته باشند. به جای رها کردن معامله تا رسیدن به حد سود (Take Profit) ثابت، رباتها باید از حد ضرر متحرک (Trailing Stop Loss) مبتنی بر ساختار بازار استفاده کنند. به محض اینکه قیمت در جهت مطلوب حرکت کرد و یک بریک ساختار جدید در جهت روند ایجاد شد، ربات باید حد ضرر را به نقطهای امنتر (مثلاً زیر کف جدید یا نقطه ورود) منتقل کند تا ریسک را به صفر یا سود قفل شده تبدیل نماید. این امر نیازمند نظارت مداوم بر بهروزرسانی سقفها و کفها در تایمفریم اجرای معامله است.
اشتباهات رایج در طراحی رباتهای
طراحی رباتهای مبتنی بر پرایس اکشن با چالشهای خاصی روبروست که اغلب منجر به شکست استراتژیها در محیط زنده میشوند. یکی از رایجترین اشتباهات، Over-Optimization (بهینهسازی بیش از حد) پارامترها بر اساس دادههای تاریخی است. تلاش برای یافتن دقیقترین نسبت سایه به بدنه یا بهترین فاصله برای حد ضرر بر اساس دادههای بکتست (Backtesting) میتواند منجر به سیستمی شود که در دادههای گذشته بینقص عمل میکند اما در بازار زنده، به دلیل تفاوتهای کوچک در نقدینگی و سرعت اجرای سفارشات، شکست میخورد. اشتباه دیگر، تعریف مبهم ساختارها است. اگر ربات نتواند به طور قاطع تشخیص دهد که یک سقف قبلی چند پیپ باید فاصله داشته باشد تا یک کف جدید به عنوان “کف بالاتر” پذیرفته شود، در تشخیص روند دچار تناقض میشود. همچنین، عدم توجه کافی به نقدینگی و سطوح اسمارت مانی و تمرکز بیش از حد بر الگوهای کندلی ساده، ربات را به شکارچی سادهترین تلههای بازار تبدیل میکند. بسیاری از تریدرها فراموش میکنند که سیگنال پرایس اکشن باید همیشه در ارتباط با ساختار بازار کلی و سطوح کلیدی S/R تفسیر شود؛ یک پین بار در میانه یک منطقه خنثی، از نظر الگوریتمی بیارزش است مگر اینکه به عنوان واکنش به یک سطح مهم حمایت یا مقاومت بلندمدت تعریف شده باشد.
تفاوت دستی و الگوریتمی
تفاوت اساسی بین اجرای دستی پرایس اکشن توسط یک تریدر انسان و اجرای الگوریتمی آن توسط ربات، در زمینه زمانبندی و ثبات اجرا نهفته است. تریدر دستی میتواند در یک لحظه، چندین عامل بصری را ترکیب کند: شکل ظاهری کندل، رنگ آن، ارتباط آن با کندلهای قبلی، محل نهایی شدن سایه در رابطه با یک سطح دستی کشیده شده، و حتی احساس درونی که از رفتار قیمت میگیرد. این شهود و ترکیب چند لایه اطلاعات، هسته پرایس اکشن دستی است. در مقابل، ربات مجبور است تمام این ورودیها را به یک جریان داده قابل پردازش تبدیل کند. ربات فاقد شهود است، اما در عوض دارای ثبات (Consistency) مطلق است. یک ربات پرایس اکشن، اگر به درستی کدنویسی شده باشد، هرگز یک پین بار معتبر را نادیده نمیگیرد و همچنین هرگز یک سیگنال ضعیف را به اشتباه تأیید نمیکند؛ زیرا معیارها همیشه یکسان هستند. پرایس اکشن الگوریتمی موفق، سعی نمیکند شهود انسانی را کاملاً کپی کند، بلکه سعی میکند مکانیسمهای اصلی تصمیمگیری را که منجر به سودآوری تریدرهای موفق شدهاند (مانند واکنش به نقدینگی و شکستهای ساختاری)، به قوانینی تبدیل کند که به طور مداوم اجرا شوند. این یعنی پذیرش این حقیقت که ربات از برخی ظرافتهای بصری صرفنظر کرده و در ازای آن، سرعت اجرا و حذف کامل تأثیر احساسات را به دست میآورد.
مثالهای مفهومی از منطق تصمیمگیری ربات بدون ارائه کد
فرض کنید یک ربات بر روی تایمفریم ۳۰ دقیقهای (M30) برای دارایی EURUSD کار میکند و از فیلترهای تایمفریم بالا (H4) استفاده میکند.
سناریوی ۱: ورود خرید مبتنی بر پولبک در روند صعودی
فیلتر H4: ربات تشخیص میدهد که در H4، قیمت در یک روند صعودی قوی قرار دارد، با دو سقف بالاتر و دو کف بالاتر اخیر تأیید شده است. سطح حمایت کلیدی در H4 در ۱.۰۸۰۰ شناسایی شده است.
منطق M30:
۱. رصد پولبک: ربات منتظر یک اصلاح قیمتی به سمت ناحیه ۱.۰۸۱۰ تا ۱.۰۸۲۰ میماند (منطقه حمایت H4). ۲. انتظار برای سیگنال تأیید: در این ناحیه، ربات منتظر تشکیل یک الگوی بازگشتی صعودی (مانند پین بار صعودی یا انگلفینگ صعودی) میشود. ۳. تعریف سیگنال: یک پین بار صعودی در M30 در سطح ۱.۰۸۱۵ شکل میگیرد. سایه پایینی آن به ۱.۰۸۰۵ نفوذ کرده (احتمالاً نقدینگیگیری کوچک) و با بسته شدن قوی در ۱.۰۸۲۲ به پایان میرسد. ۴. تأییدیه ورود: ربات تنها زمانی وارد خرید میشود که قیمت کندل بعدی بالاتر از قیمت بسته شدن پین بار (۱.۰۸۲۲) حرکت کند (تأیید غلبه خریداران). ۵. تعیین پارامترها: * ورود به معامله: قیمت ورود در ۱.۰۸۲۵ (کمی بالاتر از بسته شدن تأییدیه). * حد ضرر (Stop Loss): قرار داده شده در زیر سایه بلندترین نفوذ پین بار، مثلاً ۱.۰۷۹۵ (فاصله از نقطه ورود: ۳۰ پیپ). * حد سود (Take Profit): بر اساس نسبت ریسک به ریوارد ۱:۲، حد سود در ۱.۰۸۸۵ تنظیم میشود. * مدیریت ریسک: با توجه به فاصله ۳۰ پیپی، اندازه موقعیت بر اساس ۱٪ ریسک محاسبه میشود.
سناریوی ۲: ورود فروش مبتنی بر شکست ساختاری ناموفق (ساختار رنج)
فیلتر H4: بازار در H4 در یک رنج بزرگ بین ۱.۱۰۲۰ (مقاومت) و ۱.۰۹۵۰ (حمایت) قرار دارد.
منطق M30:
۱. تشکیل نقدینگی: قیمت به ۱.۱۰۲۰ نزدیک میشود و چندین کندل با سایههای بالایی بلند در تلاش برای شکستن این سطح ایجاد میکنند، که نشاندهنده تجمع نقدینگی در بالای این سقف است. ۲. فیک بریکاوت: یک کندل M30 با قدرت به ۱.۱۰۳۰ نفوذ میکند (جمعآوری نقدینگی)، اما بلافاصله با حجم زیاد، قیمت به شدت پایین کشیده شده و کندل با قیمتی بسیار پایینتر از ۱.۱۰۲۰ بسته میشود، و یک پین بار نزولی بزرگ تشکیل میدهد. ۳. تأییدیه ورود: ربات منتظر بسته شدن کندل بعدی در زیر ۱.۱۰۲۰ میماند (تأیید دفع نفوذ). ۴. تعیین پارامترها: * ورود به معامله: فروش در ۱.۱۰۱۵. * حد ضرر (Stop Loss): کمی بالاتر از بالاترین سایه کندل فیک بریکاوت، مثلاً ۱.۱۰۴۰. * حد سود (Take Profit): هدف اول حمایت رنج در ۱.۰۹۵۰ است.
این مثالها نشان میدهند که ربات پرایس اکشن باید توانایی شناسایی ساختار بازار در سطوح مختلف، تشخیص الگوهای رفتاری (نفوذ، رد شدن، شکست) و اعمال قوانین سختگیرانه مدیریت ریسک را به طور همزمان داشته باشد. پیچیدگی در این است که تمام این منطقها باید در زمان واقعی و بدون تأخیر محاسباتی، اجرا شوند.
دیدگاهها (0)