مهندسی پرامپت برای ایجنتهای معاملهگر SSE — راهنمای کامل DSL
هر آنچه برای نوشتن پرامپت مؤثر برای ایجنتهای هوش مصنوعی معاملهگر در SorooshX نیاز دارید. DSL استراتژی چیست، Train Agent چطور کار میکند، الگوهای آماده، اشتباهات رایج و راه رفتن از verdict قرمز به سبز.
نوشتن پرامپت خوب برای یک ایجنت معاملهگر با نوشتن پرامپت برای چتبات فرق دارد. شما نظر نمیخواهید — قوانینی را توصیف میکنید که یک سیستم خودکار با سیگنال واقعی، کندل واقعی و ریسک واقعی اجرا میکند. این راهنما DSL استراتژی SSE، دو روش گفتوگو با ایجنت، الگوهایی که کار میکنند و راه تکرار از یک نقطهٔ بدون-لبه به استراتژی سودده را توضیح میدهد.
میتوانید از بالا به پایین بخوانید یا به بخشی که با وضعیت شما مطابقت دارد بپرید. هر مثال قابل کپی-پیست است.
DSL استراتژی SSE چیست؟
DSL مخفف Domain-Specific Language است — یک واژگان کوچک و متمرکز که موتور بهعنوان قوانین معاملهگر قابلاجرا میفهمد. بهجای تایپ انگلیسی آزاد و امید به اینکه ایجنت حدس بزند، استراتژی را بهعنوان ترکیب ساختاریافتهای از شرایط ورود، قوانین خروج و اندیکاتور توصیف میکنید. موتور توصیف شما را ترجمه میکند، در برابر بازههای امن اعتبارسنجی میکند، یک بکتست واقعی اجرا میکند و فقط در صورتی اعمال میکند که ایجنت را بدتر نکند.
هرگز خودتان DSL نمینویسید. به انگلیسی ساده مینویسید؛ LLM آن را برای شما به DSL کامپایل میکند. اما دانستن آنچه DSL میتواند و نمیتواند بیان کند پرامپتهای شما را واقعبینانه نگه میدارد.
اندیکاتورهای مجاز (فقط-close)
| اندیکاتور | توضیح | مثال استفاده |
|---|---|---|
| SMA | میانگین متحرک ساده در N کندل | روند بلندمدت («قیمت بالای SMA(200)») |
| EMA | میانگین متحرک نمایی — وزن بیشتر به کندلهای اخیر | سیگنالهای کراس («EMA(9) از EMA(21) رو به بالا کراس کند») |
| RSI | شاخص قدرت نسبی، ۰ تا ۱۰۰ | اشباع فروش («RSI(14) زیر ۳۰») یا اشباع خرید |
| ROC | نرخ تغییر در N کندل | قدرت مومنتوم («قیمت بیش از ۲٪ در ۵ کندل اخیر بالا») |
| STDEV | انحراف معیار closeها | فیلتر نوسان («فقط وقتی STDEV در حال بالا رفتن است معامله کن») |
شکل شرایطی که DSL میپذیرد
- تست مقدار اندیکاتور — «RSI(14) زیر ۳۰»
- قیمت در مقایسه با اندیکاتور — «close بالای SMA(200)»
- کراس اندیکاتور — «EMA(9) بالای EMA(21) کراس کند»
- تغییر قیمت در پنجره — «قیمت بیش از ۱٪ در ۵ کندل اخیر بالا»
میتوانید چند شرط را با AND (همه باید درست باشند) یا OR (هرکدام باید درست باشد) ترکیب کنید. موتور پیچیدگی را به تعداد کمی شرط در هر بلوک محدود میکند — پرامپتهای خود را متمرکز نگه دارید.
دو روش گفتوگو با ایجنت
SorooshX دو فلوی متفاوت پرامپت-محور دارد. برای آنچه میخواهید تغییر دهید درست را استفاده کنید.
| فلو | زمان استفاده | چه را تغییر میدهد |
|---|---|---|
| Train Agent (چت) | میخواهید استراتژی موجود را تنظیم کنید | پارامترها را تنظیم میکند (مثل فاصلهٔ استاپ، فاصلهٔ هدف، پنجرههای SMA). منطق ورود را نمیتواند تغییر دهد. |
| Build a custom strategy | منطق ورود/خروج بهطور بنیادی متفاوت میخواهید | یک spec کامل DSL از توصیف شما کامپایل میکند. استراتژی ایجنت را کاملاً جایگزین میکند. |
اشتباه رایج: استفاده از Train Agent برای درخواست یک استراتژی کاملاً جدید («وقتی RSI پایین است بخر») روی یک ایجنت با الگوی مومنتوم. چت پارامترهای مومنتوم را تنظیم میکند اما نمیتواند RSI را به منطق تصمیم آن اضافه کند. برای این کار، Build a custom strategy در پنل Manage را استفاده کنید.
چهار بلوک ساختمانی هر پرامپت خوب
چه تنظیم میکنید چه از صفر میسازید، یک پرامپت قوی این چهار لایه را پوشش میدهد:
- ENTRY — چه شرایطی باید درست باشد تا پوزیشن باز شود؟ جهت (لانگ/شورت)، سیگنال تریگر، تأیید اختیاری.
- EXIT — پوزیشن کی بسته میشود؟ فاصلهٔ take-profit، فاصلهٔ stop-loss، تریگرهای سیگنال معکوس اختیاری.
- CONTEXT — کی ایجنت نباید اصلاً معامله کند؟ روند، حجم، فیلترهای زمان روز (اکثر بهصورت پیشفرض روشناند).
- RISK — چقدر تهاجمی؟ اندازهٔ پوزیشن و اهرم در Manage کنترل میشوند، نه در پرامپت.
پرامپتی که حداقل entry + exit را بزند به LLM دادههای کافی میدهد تا چیز قابلاجرا کامپایل کند. اضافه کردن context آن را به ستاپهای با کیفیت بالاتر محدود میکند.
الگوهای پرامپتی که واقعاً کار میکنند
الگوی ۱ — خرید اشباعفروش در روند صعودی
مینریورژن کلاسیک با فیلتر روند. نرخ برد بالا وقتی روند بلندمدت دستنخورده، dip واقعی است (نه شروع سقوط)، و قبل از پای بعدی پایین سود میگیرید.
Enter long when RSI(14) drops below 30 AND price is above SMA(200). Take profit at 3% or exit when RSI crosses above 65. Stop loss at 1.5%.الگوی ۲ — دنبال روند با تأیید
اولین سیگنال را نگیرید — قبل از ورود منتظر توافق دو چیز باشید. بهشدت ضررهای whipsaw را کم میکند.
Enter long when EMA(9) crosses above EMA(21) AND price is above SMA(50). Exit when EMA(9) crosses back below EMA(21), or take profit at 4%, or stop loss at 2%.الگوی ۳ — شکست انبساط نوسان
منتظر بمانید بازار از یک دورهٔ آرام شکست. اغلب شروع یک حرکت واقعی را میگیرد؛ ضررهای کوچک وقتی اشتباه چون نوسان در ورود هنوز پایین بود.
Enter long when price changes by more than 1.5% in the last 5 bars AND STDEV is rising. Take profit at 3.5%. Stop loss at 1.2%. Exit on reverse if price drops more than 1% in 3 bars.الگوی ۴ — شورت rip در روند نزولی
آینهٔ نزولی الگوی ۱. گاهی نرخ برد خیلی بالا در فازهای خرسی تثبیتشده.
Enter short when RSI(14) crosses above 70 AND price is below SMA(200). Take profit at 2.5%. Stop loss at 1.5%. Exit when RSI drops below 40.چگونه یک تنظیم Train Agent را بیان کنید
چت Train Agent برای تنظیم است، نه بازنویسی. پرامپتها را در هر بار دربارهٔ یک چیز نگه دارید تا بکتست گیت ایمنی بتواند جدا کند چه چیزی کمک کرد.
| هدف | پرامپت خوب | چرا |
|---|---|---|
| کاهش پرمعامله بودن | «کمتر معامله کن — قبل از ورود منتظر ستاپ قویتر باش.» | به entry_threshold بالاتر یا فاصلهٔ SMA بازتر تمیز ترجمه میشود. |
| نگهداشتن برندهها طولانیتر | «اجازه بده معاملات برنده قبل از سود گرفتن بیشتر بدوند.» | ضریب ATR هدف را بالا میبرد. اجازه میدهد روندها بازی کنند. |
| توقف خونریزی از نویز | «از استاپهای بازتر استفاده کن تا با نوسانات کوچک از معامله بیرون نروم.» | ضریب ATR استاپ را بالا میبرد. استاپاوت کمتر. |
| تهاجمیتر شدن | «معاملات بیشتر بگیر، حتی با سیگنالهای ضعیفتر.» | entry_threshold را کم میکند. با احتیاط — نرخ برد بدتر را انتظار داشته باشید. |
| غیرفعالکردن فیلتر برای تست | «فعلاً فیلتر حجم را استفاده نکن.» | تاگل مستقیمی که LLM میفهمد. با پرامپت معکوس دوباره فعال کنید. |
اشتباهات رایجی که باید پرهیز شود
- درخواست بازده تضمینشده. موتور قول نمیدهد. به توصیف مکانیکی بچسبید («وقتی X لانگ بزن» نه «هفتهای ۱۰٪ سود بده»).
- درخواست اندیکاتورهایی که پشتیبانی نمیشوند. Bollinger Bands، MACD، Ichimoku — اینها به نزدیکترین primitive پشتیبانیشده در سکوت نگاشت میشوند یا رد میشوند. لیست پشتیبانیشدهٔ بالا را استفاده کنید.
- گذاشتن شرطهای زیاد در یک قانون ورود. LLM پیچیدگی را به دلیلی محدود میکند — ۳ تا ۴ شرط حداکثر نقطهٔ شیرین است. شرط بیشتر = معاملهٔ کمتر = اعتبارسنجی سختتر.
- درخواست از ایجنت برای «پیشبینی» چیزی. DSL دربارهٔ واکنش به شرایط قابل مشاهده است، نه پیشبینی.
- تعویض کل استراتژی از طریق چت Train Agent. Train پارامترها را تنظیم میکند. Build a custom strategy منطق را جایگزین میکند.
- تکرار خیلی سریع. بعد از هر تغییر، حداقل یک روز کامل paper trade به ایجنت بدهید قبل از قضاوت. Champion/challenger به ۴۸+ ساعت دادهٔ جلوبرنده نیاز دارد تا رأی دهد.
مسیر صادقانه از چیپ قرمز به سبز
اکثر تنظیمات شروع در اولین بکتست verdict قرمز No Edge میگیرند. این طبیعی است. لبهٔ واقعی به تکرار نیاز دارد.
- یک بکتست مبنا روی بلندترین پنجره برای تایمفریم خود اجرا کنید.
- بخوانید کدام چکها شکست خوردند. بازده، دراودان، کیفیت برد، یا اطمینان آماری؟ هر شکست به اصلاح متفاوتی اشاره میکند.
- یک تنظیم از طریق Train Agent بفرستید (اگر تنظیم میکنید) یا Build a custom strategy (اگر بازسازی میکنید). گیت ایمنی پرامپتهایی که بدتر میکنند را مسدود میکند، پس نمیتوانید تصادفی رگرس کنید.
- همان پنجرهٔ بکتست را دوباره اجرا کنید. verdict و گرید متریک را مقایسه کنید.
- اگر بهتر شد، تکرار را ادامه دهید. اگر هنوز قرمز، زاویهٔ دیگری امتحان کنید (مثلاً تایمفریم طولانیتر، بازار متفاوت، الگوی استراتژی متفاوت).
- پس از ۳ تا ۵ دور دستی، بگذارید کوچ LLM شبانه تحویل بگیرد. تنظیمات کوچک روزانه پیشنهاد میدهد، جلوبرنده از طریق champion/challenger تستشده.
تایمفریم درست را برای استراتژی انتخاب کنید
تایمفریم یکی از تصمیمات با بالاترین اهرم در پرامپت شماست. بعضی استراتژیها فقط روی رزولوشنهای خاص کندل لبه دارند.
| تایمفریم | مناسب برای | مراقب چه باشید |
|---|---|---|
| ۱m | اسکالپ شکست روی داراییهای پرنوسان | کارمزد آلفا را میخورد. استراتژیهای ساده SMA نگیرید. |
| ۵m | مومنتوم واکنشی، تست مجدد شکست | نویز زیاد — شرایط تأیید ضروری است. |
| ۱۵m | مینریورژن، معاملهٔ متعادل | نقطهٔ شیرین برای اکثر استراتژیهای خرده. |
| ۱h | دنبال روند با صبر | بهترین بازده تعدیلشده با ریسک برای استراتژیهای ساده. |
| ۴h | معاملات سوئینگ سبک پوزیشن | سیگنالهای کم — به پنجرهٔ بکتست طولانی نیاز دارد. |
| ۱d | پوزیشن کلان، معاملات رژیمی | verdict از نظر آماری فقط در ماهها معنادار است. |
با پرامپت بد نمیتوانید ایجنت را خراب کنید
هر پرامپت Train Agent و هر اعمال Build a custom strategy ابتدا از گیت ایمنی بکتست رد میشود. اگر تغییر پیشنهادی شما روی دادهٔ واقعی اخیر از تنظیمات فعلی بدتر عمل میکرد، رد میشود و ایجنت همانطور که بود معامله میکند. در چت پیامی میبینید که توضیح میدهد چه شد.
این تکرار پرامپت را با طراحی کمریسک میکند. چیزها را امتحان کنید. به پیامهای ایمنی نگاه کنید. ایجنت فقط وقتی تغییر میکند که تغییر پیشنهادی واقعاً خودش را اثبات کند.
واژهنامهٔ کوتاه
| اصطلاح | معنا |
|---|---|
| DSL | Domain-Specific Language — گرامر ساختاریافتهای که موتور پرامپتهای انگلیسی شما را به آن کامپایل میکند. |
| چیپ verdict | سبز «Edge Survives» یا قرمز «No Edge» — قضاوت چندعاملی دربارهٔ اینکه آیا استراتژی شما لبه واقعی دارد. |
| گیت ایمنی | مقایسهٔ بکتستی که روی هر تغییر پیشنهادی اجرا میشود. تغییراتی که بدتر میکنند را رد میکند. |
| Champion / Challenger | وقتی یک تنظیم جدید صف میشود، در سایه کنار تنظیمات زندهٔ شما اجرا میشود. فقط در صورتی ارتقاء مییابد که در ۴۸+ ساعت زنده را شکست دهد. |
| ATR | Average True Range — معیار نوسان. توسط موتور برای سایزینگ سازگار و فواصل استاپ استفاده میشود. لازم نیست در پرامپت ذکر کنید. |
| Tick | یک چرخهٔ ارزیابی برنامهریزیشده. هر ایجنت در حال اجرا هر ۵ دقیقه تیک میزند. |
بعد چه؟
- تازه به ایجنتها وارد شدهاید؟ با «ساخت اولین ایجنت» شروع کنید.
- میخواهید بدانید چیپ verdict واقعاً چه را اندازه میگیرد؟ «سبکهای معامله» را برای پایههای مفهومی بخوانید.
- verdict قرمز گرفتهاید و میخواهید درست کنید؟ Train Agent را روی ایجنت خود باز کنید و با الگوهای بالا شروع به تکرار کنید.
- یک استراتژی کامل در ذهن دارید؟ Manage → Build a custom strategy را باز کنید و یکی از الگوهای این مقاله را پیست کنید.