آموزش ساخت ربات ترید ارز دیجیتال

آموزش ساخت ربات ترید ارز دیجیتال

در این مطلب میخوام خیلی سریع و کوتاه نحوه ساخت یک ربات ترید ارز دیحیتال رو بهتون یاد بدم. اگر میخواید یک ربات ترید یا معامله گر بسازید ولی نمیدونید از کجا شروع کنید حتما این مطلب رو تا انتها مشاهده کنید.

 

آموزش ساخت ربات ترید ارز دیجیتال

در این مطلب طراحی و ایجاد یک ربات ترید رو در 5 گام به شما آموزش می دهیم. همچنین قبل از هرچیزی باید بهتون بگم که تمام سورس کدهای این آموزش رو میتونید از این لینک مشاهده کنید. تمام کدها با پایتون نسخه 3.8 تست شدن.

 

1- انتخاب فریم ورک مناسب برای ربات تریدر

برای ساخت یک ربات ترید، کتابخانه‌ها، پکیج‌ها و منابع زیادی در دسترس هستند. برای یافتن ابزار مناسب خود، می‌توانید به لیست منابع نگاهی بیندازید. در این آموزش از چارچوب Investing Algorithm استفاده خواهیم کرد. این یک چارچوب مبتنی بر پایتون است که به شما امکان می‌دهد ربات ترید خود را بسازید. این چارچوب متن‌باز و رایگان است.

 

۲- ایجاد یک استراتژی با Investing Algorithm

فریم ورک Investing Algorithm گزینه‌های مختلفی برای ساخت ربات ترید و پیاده‌سازی استراتژی ارائه می‌دهد. برخی از سوالات کلیدی که هنگام ساخت استراتژی باید به آن‌ها توجه کنید عبارتند از:

  • ربات من هر چند وقت یکبار باید اجرا شود؟
  • ربات من از چه داده‌های بازاری استفاده کند؟
  • ربات من از کدام اندیکاتورها استفاده کند؟
  • ربات من در کدام صرافی یا کارگزاری معامله کند؟

برای ربات ترید خود، قصد داریم یک استراتژی ساده را پیاده‌ سازی کنیم که بر اساس مجموعه‌ ای از اندیکاتورهای ساده، خرید و فروش ارز دیجیتال بیت‌کوین را انجام دهد. این استراتژی هر ۲ ساعت یکبار اجرا خواهد شد. به این معنا که ربات هر ۲ ساعت یکبار قیمت بیت‌کوین را بررسی کرده و تصمیم می‌گیرد که خرید یا فروش انجام دهد.

2.1 – راه‌اندازی ربات ترید ارز دیجیتال

برای راه‌اندازی ربات ترید، ابتدا باید فریم ورک Investing Algorithm را نصب کنیم.

۲.۲- مشخص کردن داده‌ های بازار

در مرحله بعد، باید مشخص کنیم که ربات از چه داده‌های بازاری استفاده خواهد کرد. Investing Algorithm از انواع مختلف داده‌های بازار پشتیبانی می‌کند. برای این مثال، از داده‌ های قیمت تاریخی بیت‌ کوین به‌صورت نمودار شمعی استفاده خواهیم کرد. در اصطلاحات ترید، به این داده‌ها OHLCV (Open, High, Low, Close, Volume) گفته می‌شود.

ابتدا یک فایل پایتون به نام market_data.py ایجاد کنید و محتوای زیر را در آن قرار دهید.

2.3- ایجاد یک استراتژی معاملاتی برای ربات ارز دیجیتال

اکنون که منابع داده‌های بازار را برای ربات ترید خود راه‌اندازی کرده‌ایم، می‌توانیم استراتژی معاملاتی را پیاده‌سازی کنیم. برای این مثال، یک استراتژی ساده را پیاده‌سازی خواهیم کرد که زمانی که یک تقاطع طلایی بین میانگین متحرک سریع و کند رخ دهد، بیت‌کوین می‌خرد. تقاطع طلایی یک سیگنال صعودی است که زمانی رخ می‌دهد که میانگین متحرک کوتاه‌مدت (سریع) از میانگین متحرک بلندمدت (کند) عبور کند.

برای سیگنال فروش، از حالت معکوس استفاده خواهیم کرد. زمانی که تقاطع مرگ بین دوره‌های میانگین متحرک سریع و کند رخ دهد، بیت‌کوین را می‌فروشیم. تقاطع مرگ یک سیگنال نزولی است که زمانی رخ می‌دهد که میانگین متحرک کوتاه‌مدت (سریع) از زیر میانگین متحرک بلندمدت (کند) عبور کند.

به طور خلاصه:

  • زمانی که میانگین متحرک سریع از میانگین متحرک کند عبور کند (تقاطع طلایی)، خرید می‌کنیم.
  • زمانی که میانگین متحرک سریع از زیر میانگین متحرک کند عبور کند (تقاطع مرگ)، فروش انجام می‌دهیم.

برای پیاده‌سازی این استراتژی، باید از داده‌های بازار که از صرافی دریافت کرده‌ایم، استفاده کنیم. از داده‌های OHLCV (نمودار شمعی) برای محاسبه میانگین‌های متحرک استفاده خواهیم کرد و از داده‌های ticker برای دریافت آخرین قیمت بیت‌کوین استفاده می‌کنیم.

این کد از کتابخانه Tulipy برای محاسبه میانگین‌های متحرک استفاده می‌کند. Tulipy یک رابط پایتون برای کتابخانه تحلیل تکنیکال (tulipindicators) است.

یک فایل جدید به نام strategy.py ایجاد کنید و کد زیر را به آن اضافه کنید:

سپس متد apply_strategy را پیاده‌سازی می‌کنیم. این متد هر بار که استراتژی معاملاتی اجرا می‌شود فراخوانی می‌شود. همانطور که قبلاً تعریف شد، استراتژی هر ۲ ساعت یک‌بار اجرا می‌شود.

در متد apply_strategy ابتدا بررسی می‌کنیم که آیا هیچ سفارشی برای نماد مورد نظر باز است یا خیر. اگر هیچ سفارش باز نداشتیم، بررسی می‌کنیم که آیا تقاطع طلایی (golden cross) یا تقاطع مرگ (death cross) وجود دارد یا نه.

مطالب مرتبط با ارز دیحیتال

  1. آموزش ارز دیجیتال در شیراز
  2. احراز هویت صرافی بایننس برای کاربران ایرانی در 2024-2025
  3. آموزش کامل و حرفه ای بلاک چین در 6 ساعت
  4. جلوگیری از فریز شدن تتر در بازار ارز دیجیتال
  5. مهمترین الگوهای کندل استیک برای تحلیل تکنیکال ارز دیجیتال

دلیل اینکه ابتدا بررسی می‌کنیم آیا سفارشی باز وجود دارد یا خیر، این است که نمی‌خواهیم زمانی که هنوز یک سفارش باز داریم که توسط صرافی بسته (یا تکمیل) نشده است، سفارش جدیدی باز کنیم. تنها زمانی می‌خواهیم یک موقعیت جدید باز کنیم که هیچ سفارش بازی نداشته باشیم.

سپس بررسی می‌کنیم که آیا تقاطع طلایی (golden cross) یا تقاطع مرگ (death cross) وجود دارد. اگر تقاطع طلایی وجود داشته باشد، بیت‌کوین می‌خریم. اگر تقاطع مرگ وجود داشته باشد، بیت‌کوین می‌فروشیم

3- آزمایش استراتژی معاملاتی

اکنون که استراتژی معاملاتی خود را پیاده‌سازی کرده‌ایم، می‌توانیم آن را آزمایش کنیم. برای آزمایش استراتژی خود از قابلیت بک‌تست (backtesting) در چارچوب الگوریتم سرمایه‌گذاری استفاده می‌کنیم. این امکان به ما می‌دهد تا استراتژی خود را روی داده‌های تاریخی تست کنیم.

یک فایل جدید به نام backtest.py ایجاد کنید و کد زیر را به آن اضافه کنید:

اجرای این کد به شما خروجی زیر را خواهد داد:

همانطور که مشاهده می‌کنید، این استراتژی معاملاتی با نرخ رشد ۱۷٪ روی معاملات بسته‌شده سودآور است. هنگام ایجاد یک استراتژی معاملاتی، بسیار مهم است که این استراتژی را در یک بازه زمانی که بازار برای دارایی‌های انتخاب‌شده شما نزولی بوده آزمایش کنید. این کار به شما کمک می‌کند تا مشخص کنید که آیا استراتژی معاملاتی شما به اندازه کافی مقاوم است تا بتواند در برابر نزول بازار مقاومت کند یا خیر.

برای بیت‌کوین، بازه زمانی از ۱۱ نوامبر ۲۰۲۱ تا ۱۱ نوامبر ۲۰۲۲ به عنوان یک دوره نزولی بازار در نظر گرفته می‌شود. با اجرای استراتژی معاملاتی خود در این بازه زمانی، نتایج زیر را به دست می‌آوریم:

همانطور که مشاهده می‌کنید، این استراتژی معاملاتی با نرخ سود -۴٪ در معاملات بسته‌شده، سودآور نیست. در بخش بعدی سعی خواهیم کرد آن را بهبود بخشیم. نکته مهمی که باید در اینجا توجه کنید این است که استراتژی معاملاتی ما به اندازه کافی مقاوم نیست تا بتواند در برابر نزول‌های بازار مقاومت کند.

 

4- بهبود استراتژی معاملاتی

در بخش قبلی مشاهده کردیم که ربات معاملاتی ما سودآور نبوده است. در این بخش سعی خواهیم کرد تا استراتژی معاملاتی خود را بهبود دهیم. هر زمان که یک ربات معاملاتی ایجاد می‌کنید، باید همیشه با معیارها و پارامترهای مختلف آزمایش کنید. در این بخش، سعی خواهیم کرد استراتژی معاملاتی خود را با انجام تغییرات زیر بهبود دهیم:

  1. افزودن استاپ لاس‌ها به معاملات باز: به طوری که بتوانیم به صورت پیشگیرانه معاملات خود را زمانی که قیمت به زیر یک قیمت معین می‌افتد، ببندیم.
  2. افزودن یک خط روند به استراتژی معاملاتی: به طوری که تنها زمانی بفروشیم که قیمت زیر خط روند باشد، به جای استفاده از میانگین متحرک کند.
  3. تغییر میانگین متحرک سریع از میانگین متحرک ساده به میانگین متحرک نمایی: که به قیمت‌های اخیر وزن بیشتری می‌دهد.

ابتدا، یک خط روند (میانگین متحرک ساده ۱۰۰ دوره‌ای) اضافه خواهیم کرد و میانگین متحرک ساده سریع (SMA) را به میانگین متحرک نمایی سریع (EMA) تغییر خواهیم داد.

در نهایت، تریگرهای خرید و فروش را تغییر خواهیم داد:

وقتی این استراتژی معاملاتی را برای همان بازه زمانی قبلی اجرا می‌کنیم، نتیجه زیر را به دست می‌آوریم:

اگر استراتژی به‌روزشده را برای بازه زمانی مطلوب اجرا کنیم، نتیجه زیر را به دست می‌آوریم:

5- استقرار ربات معاملاتی ارز دیجیتال

برای استقرار ربات معاملاتی‌مان، یک تابع در Azure ایجاد خواهیم کرد که هر ۲ ساعت یک‌بار ربات معاملاتی ما را اجرا کند. قبل از شروع، لطفاً مطمئن شوید که موارد زیر نصب و پیکربندی شده است:

  • شما نیاز به یک حساب کاربری Microsoft Azure برای استقرار ربات معاملاتی دارید. می‌توانید یک حساب کاربری رایگان ایجاد کنید اینجا.
  • همچنین باید Azure CLI را نصب کرده باشید. می‌توانید دستورالعمل‌های نصب را اینجا پیدا کنید.
  • علاوه بر این، نیاز به نصب ابزارهای هسته‌ای Azure Function دارید. می‌توانید دستورالعمل‌های نصب را اینجا پیدا کنید.
  • مطمئن شوید که با استفاده از Azure CLI وارد Azure شده‌اید. می‌توانید این کار را با اجرای دستور زیر انجام دهید:
ابتدا یک فایل جدید به نام host.json ایجاد کنید و محتوای زیر را به آن اضافه کنید:
سپس، یک فایل به نام requirements.txt ایجاد کنید و محتوای زیر را به آن اضافه کنید:
سپس، یک فایل به نام function_app.py ایجاد کنید و محتوای زیر را به آن اضافه کنید:
سپس، یک اسکریپت بش به نام create_resources.sh ایجاد کنید و محتوای زیر را در آن کپی کنید. این اسکریپت منابع لازم را در Azure برای ربات معاملاتی ما ایجاد خواهد کرد.
می‌توانید اسکریپت بش را با استفاده از دستور زیر اجرا کنید:
سپس می‌توانیم از ابزارهای azure functions استفاده کنیم تا ربات معاملاتی خود را در Azure مستقر کنیم:
اگر همه چیز به‌خوبی پیش رفته باشد، باید تمام منابع را در پورتال Azure خود مشاهده کنید و ربات معاملاتی باید هر ۲ ساعت یک‌بار در تابع Azure اجرا شود.

 

نتیجه‌ گیری

در آموزش ساخت ربات ترید ارز دیجیتال به شما نشان دادیم که چگونه با استفاده از چارچوب الگوریتم سرمایه گذاری یک ربات معاملاتی بسازید. همچنین به شما نشان دادیم که چگونه ربات معاملاتی خود را تست کنید و برخی بهبودهای کوچک را برای عملکرد بهتر آن اعمال کنید. در نهایت، نحوه استقرار ربات معاملاتی خود در Azure را توضیح دادیم.

 

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

صابر بوستانی

داستان من با دنیای برنامه‌ نویسی آغاز شد، و در ادامه به عنوان یک توسعه‌ دهنده نرم‌ افزار، طراح وب سایت و متخصص سئو، مهارت ‌های تکنیکی و تحلیلی خودم رو پرورش دادم. علاقه م به دنیای مالی منو به سمت یادگیری ترید و معامله‌گری سوق داد. و در حال حاضر در برنامه نویسی و معامله گری ارز دیجیتال انجام میدم. از سال 96 سعی کردم معامله گری در کریپتو رو یاد بگیرم. ترید و معامله گری برام پر از چالش و شکست‌ های متعدد بود. اما هر شکست، درسی ارزشمند برام داشت و من رو به یک تریدر و معامله گر قوی‌ تر و هوشمندتر تبدیل کرد. با پشتکار و یادگیری مداوم، تونستم به موفقیت‌های قابل توجهی دست یابم و به معامله گری موفق تبدیل بشم. در اینجا بزرگترین تجربیات و مهمترین دانش خودم رو در اختیار شما قرار میدم تا در مدت زمان کوتاه تر و شکست های کمتر در این مسیر به موفقیت برسید.

دوره آموزش پروژه محور طراحی وب سایت پزشک یاب با بوت استرپ
  • انتشار: ۲۶ شهریور ۱۴۰۳

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید