در این مقاله نحوه راه اندازی و استفاده از پایتونیک را یاد می گیرید که یک ابزار برنامه نویسی گرافیکی است که باعث می شود کاربران بتوانند برنامه های کاربردی پایتون را با استفاده از ماژول های تابع ساخته شده ایجاد کنند.
بر خلاف بورس اوراق بهادار سنتی مانند بورس اوراق بهادار نیویورک که ساعات معاملاتی ثابتی دارند, ارزهای رمزنگاری شده 24/7 معامله می شوند, که نظارت بر بازار را به تنهایی برای هر کسی غیرممکن می کند.
اغلب در گذشته, من تا به حال برای مقابله با سوالات زیر مربوط به تجارت رمزنگاری من:
- چه اتفاقی افتاد یک شبه?
- چرا هیچ ورودی ورود به سیستم وجود دارد?
- چرا این سفارش قرار داده شد?
- چرا هیچ سفارش قرار داده شد?
منابع بیشتر پایتون
راه حل معمول استفاده از یک ربات معاملاتی رمزنگاری است که هنگام انجام کارهای دیگر مانند خوابیدن در کنار خانواده یا لذت بردن از اوقات فراغت برای شما سفارش می دهد. هستند بسیاری از راه حل های تجاری در دسترس وجود دارد, اما من می خواستم یک گزینه منبع باز, بنابراین من ایجاد رمزنگاری تجارت ربات پایتونیک. همانطور که سال گذشته در یک مقاله مقدماتی نوشتم: "پایتونیک یک ابزار برنامه نویسی گرافیکی است که باعث می شود کاربران بتوانند برنامه های کاربردی پایتون را با استفاده از ماژول های تابع ساخته شده ایجاد کنند."این یک ربات رمزنگاری شده است و دارای یک موتور ورود به سیستم گسترده و قطعات قابل استفاده مجدد مانند زمانبندی و تایمر است.
شروع شدن
این راهنمای عملی به شما یاد می دهد که چگونه با پایتونیک برای تجارت خودکار شروع کنید. از مثال تجارت ترون در برابر بیت کوین در بستر بورس بایننس استفاده می کند. من این سکه ها را انتخاب کنید به دلیل نوسانات خود را در برابر یکدیگر, به جای هر گونه ترجیح شخصی.
ربات بر اساس میانگین متحرک نمایی (ایماس) تصمیم گیری می کند.
نمودار شمع 1 ساعته
شاخص میانگین متحرک نمایی به طور کلی یک میانگین متحرک وزنی است که به داده های اخیر قیمت وزن بیشتری می بخشد. اگر چه یک میانگین متحرک ممکن است یک شاخص ساده, من تجربه خوبی با استفاده از این داشته ام.
خط بنفش در نمودار بالا نشانگر میانگین متحرک نمایی 25 را نشان می دهد (به این معنی که 25 مقدار گذشته در نظر گرفته شده است).
ربات گام بین مقدار میانگین متحرک نمایی 25 فعلی (تی0) و مقدار میانگین نمایی 25 قبلی (تی-1) را کنترل می کند. اگر زمین بیش از یک مقدار خاص, این سیگنال افزایش قیمت, و ربات یک سفارش خرید بصورت مستقیم. اگر زمین به زیر یک مقدار خاص, ربات یک سفارش فروش بصورت مستقیم.
زمین شاخص اصلی برای تصمیم گیری در مورد معاملات خواهد بود. برای این تاکتیک عامل تجارت نامیده می شود .
زنجیره ابزار
در این مقاله از ابزارهای زیر استفاده شده است:
- نمای بازرگانی کارشناس بایننس (تجسم داده ها توسط بسیاری دیگر انجام شده است بنابراین نیازی به اختراع مجدد چرخ با انجام این کار نیست)
- دفترچه یادداشت ژوپیتر برای کارهای علوم داده
- پایتونیک که چارچوب کلی است
- پایتون دیمون به عنوان زمان اجرای خالص (فقط کنسول و لینوکس)
داده کاوی
برای یک ربات معاملاتی رمزنگاری برای تصمیم گیری خوب ضروری است که داده های باز-بالا-پایین-نزدیک را برای دارایی خود به روشی قابل اعتماد دریافت کنید. می توانید از عناصر داخلی پایتونیک استفاده کرده و با منطق خود گسترش دهید.
گردش کار عمومی است:
- همگام سازی با زمان بایننس
- دانلود دیتا
- داده های موجود را از پرونده در حافظه بارگیری کنید
- هر دو مجموعه داده را مقایسه کنید و مجموعه داده موجود را با ردیف های جدیدتر گسترش دهید
این گردش کار ممکن است کمی درد نمیخورد, اما باعث می شود این راه حل بسیار قوی در برابر خرابی و قطع.
برای شروع, شما نیاز به عنصر پرس و جو بایننس و یک عنصر عملیات اساسی برای اجرای کد خود را.
پرس و جو برای پرس و جو جفت دارایی (ترون/بیت کوین) در فواصل یک ساعته تنظیم شده است.
پیکربندی عنصر پرس و جو
خروجی این عنصر یک قاب داده پانداها است. شما می توانید با متغیر ورودی در عنصر عملیات اساسی به فریم داده دسترسی پیدا کنید. اینجا, عنصر عملیات اساسی برای استفاده از نیرو به عنوان ویرایشگر کد پیش فرض تنظیم شده است.
عنصر عملیات اساسی برای استفاده از ویم تنظیم شده است
در اینجا چیزی است که کد به نظر می رسد:
ابتدا بررسی کنید که ورودی از نوع قاب داده است یا خیر. سپس به داخل فهرست اصلی کاربر نگاه کنید (~/ ) برای یک فایل به نام تریکس بی تی سی_1ساعت. اگر در حال حاضر است, سپس باز کنید, الحاق ردیف جدید (کد در بخش سعی کنید), و رها کردن تکراری با هم تداخل دارند. اگر فایل وجود ندارد, ماشه یک استثنا و اجرای کد در بخش به جز, ایجاد یک فایل جدید.
تا زمانی که خروجی ورود به سیستم چک باکس فعال است, شما می توانید ورود به سیستم با دم ابزار خط فرمان را دنبال :
برای اهداف توسعه, جست و خیز هماهنگ سازی با زمان بایننس و برنامه ریزی منظم در حال حاضر. این در زیر اجرا خواهد شد.
تهیه اطلاعات
گام بعدی این است برای رسیدگی به منطق ارزیابی در یک شبکه جداگانه; از این رو, شما باید به تصویب بیش از کادر داده از شبکه 1 به اولین عنصر از شبکه 2 با کمک عنصر بازگشت .
در شبکه 2, گسترش بازه داده توسط یک ستون که شامل مقادیر میانگین متحرک نمایی با عبور از بازه داده از طریق یک عنصر تجزیه و تحلیل فنی پایه.
پیکربندی عنصر تجزیه و تحلیل فنی برای محاسبه ایماس بیش از یک دوره از ارزش 25.
پیکربندی عنصر تجزیه و تحلیل فنی
هنگامی که شما برای اجرای کل راه اندازی و فعال کردن خروجی اشکال زدایی از عنصر تجزیه و تحلیل فنی, شما متوجه خواهد شد که مقادیر ستون میانگین متحرک نمایی-25 همه به نظر می رسد همان.
این به این دلیل است که مقادیر میانگین متحرک نمایی-25 در خروجی اشکال زدایی فقط شامل شش رقم اعشار است, حتی اگر خروجی دقت کامل یک مقدار شناور 8 بایت را حفظ کند.
برای پردازش بیشتر, اضافه کردن یک عنصر عملیات اساسی:
گردش کار در شبکه 2
طوری که می تواند به یک نوت بوک مشتری لود با عنصر عملیات اساسی با قاب داده با ستون میانگین متحرک نمایی-25 اضافی کمپرسی;
روگرفت تمدید دیتافرم به فایل
منطق ارزیابی
در حال توسعه منطق ارزیابی در داخل نوت بوک ژوپتر شما را قادر به دسترسی به کد در یک راه مستقیم تر. برای بارگیری چارچوب داده به خطوط زیر نیاز دارید:
نمایش با تمام رقم اعشار
با استفاده از ایلاک و نام ستون می توانید به جدیدترین مقادیر میانگین متحرک نمایی 25 دسترسی پیدا کنید. این همه رقم اعشار را نگه می دارد.
شما قبلا می دانید که چگونه جدیدترین ارزش را دریافت کنید. خط گذشته از مثال بالا تنها مقدار را نشان می دهد. برای کپی کردن مقدار به یک متغیر جداگانه, شما باید برای دسترسی با.
شما همچنین می توانید به طور مستقیم فاکتور تجاری را که در مرحله بعدی نیاز دارید محاسبه کنید.
فاکتور معاملاتی را تعیین کنید
همانطور که شما می توانید در کد بالا را ببینید, من انتخاب 0.009 به عنوان عامل تجارت. اما چگونه من می دانم اگر 0.009 یک عامل تجاری خوب برای تصمیم گیری است? در واقع, این عامل واقعا بد است, بنابراین به جای, شما می توانید حیوان نیروی عامل تجارت بهترین عملکرد.
فرض کنیم که شما خرید و یا فروش بر اساس قیمت بسته شدن.
در این مثال عامل خرید و عامل فروش از پیش تعریف شده اند. بنابراین منطق را گسترش دهید تا بهترین مقادیر با عملکرد را بی رحمانه مجبور کنید.
تو در تو برای حلقه برای تعیین عامل خرید و فروش
این دارای 81 حلقه برای پردازش (9 * 9) است که چند دقیقه روی دستگاه من طول می کشد (یک هسته من7 267 متر).
استفاده از سیستم در حالی که بی رحمانه است
بعد از هر حلقه, یک تاپل عامل خریدار , عامل فروش , و سود حاصل را به لیست فاکتورهای معاملاتی اضافه می کند. لیست را بر اساس سود به ترتیب نزولی مرتب کنید.
سود را با عوامل معاملاتی مرتبط به ترتیب نزولی مرتب کنید
هنگامی که شما چاپ لیست, شما می توانید ببینید که 0.002 عامل امیدوار کننده ترین است.
زمانی که من نوشت: این در ماه مارس 2020, قیمت ها به اندازه کافی فرار به نتایج امیدوار کننده تر. من نتایج بسیار بهتر در فوریه کردم, اما حتی پس از, عوامل تجاری بهترین عملکرد نیز در اطراف بود 0.002.
تقسیم مسیر اعدام
شروع یک شبکه جدید در حال حاضر برای حفظ وضوح. قاب داده را با ستون میانگین متحرک نمایی 25 از شبکه 2 به عنصر 0 الف شبکه 3 با استفاده از یک عنصر برگشتی منتقل کنید.
در شبکه 3, اضافه کردن یک عنصر عملیات اساسی برای اجرای منطق ارزیابی. در اینجا کد که عنصر است:
عنصر خروجی 1 اگر شما باید خرید و یا ی ک-1 اگر شما باید فروش. خروجی 0 به این معنی است که در حال حاضر کاری برای انجام دادن وجود ندارد. برای کنترل مسیر اجرا از یک عنصر شاخه استفاده کنید.
با توجه به این واقعیت است که هر دو 0 و-1 در حال پردازش به همان شیوه, شما نیاز به یک عنصر شاخه های اضافی در مسیر سمت راست ترین اعدام برای تصمیم گیری یا نه شما باید فروش.
شبکه 3 اکنون باید به این شکل باشد:
اجرای دستورات
شما نمی توانید دو بار خرید کنید, شما باید یک متغیر ثابت بین چرخه هایی داشته باشید که نشان می دهد قبلا خریداری کرده اید یا خیر.
شما می توانید این کار را با یک عنصر پشته انجام دهید . عنصر پشته همانطور که از نامش پیداست نمایشی از یک پشته مبتنی بر فایل است که می تواند با هر نوع داده پایتون پر شود.
شما نیاز به تعریف که پشته شامل تنها یک عنصر بولی, که تعیین اگر شما خریداری ( درست ) یا نه ( نادرست ). به عنوان یک نتیجه, شما باید به از پیش تعیین شده پشته با یک نادرست . شما می توانید این مجموعه تا, مثلا, در شبکه 4 به سادگی با عبور نادرست به پشته.
نمونه های پشته بعد از درخت شاخه را می توان به صورت زیر پیکربندی کرد:
پیکربندی عنصر پشته
در پیکربندی عنصر پشته, تنظیم این کار را با ورودی به هیچ چیز . در غیر این صورت, مقدار بولی خواهد شد توسط یک رونویسی 1 یا 0.
این پیکربندی تضمین می کند که فقط یک مقدار همیشه در پشته ذخیره می شود ( درست یا غلط) و فقط یک مقدار را می توان خواند (برای وضوح).
درست بعد از عنصر پشته, شما نیاز به یک عنصر شاخه اضافی برای ارزیابی ارزش پشته قبل از قرار دادن عناصر سفارش بایننس.
ارزیابی متغیر از پشته
عنصر سفارش بایننس را به مسیر واقعی عنصر شاخه اضافه کنید. گردش کار در شبکه 3 اکنون باید به این شکل باشد:
عنصر سفارش بایننس به شرح زیر پیکربندی شده است:
پیکربندی عنصر سفارش بایننس
شما می توانید کلید های مخفی و رابط کاربری را در وب سایت بایننس تحت تنظیمات حساب خود ایجاد کنید.
ایجاد یک کلید در تنظیمات حساب بایننس
در این مقاله هر معامله به عنوان یک تجارت بازار اجرا می شود و حجم 10,000 تریکس (~150 دلار در مارس 2020). (برای این منظور از اموزش, من نشان دادن روند کلی با استفاده از یک نظم بازار هستم. به همین دلیل توصیه می کنم حداقل از یک دستور محدود استفاده کنید.)
عنصر بعدی است که باعث نمی شود اگر سفارش به درستی اجرا نشد (به عنوان مثال, یک موضوع اتصال, بودجه کافی, و یا جفت ارز نادرست). از این رو, شما می توانید فرض کنیم که اگر عنصر بعدی باعث شده است, سفارش قرار داده شد.
در اینجا یک نمونه از خروجی از یک سفارش فروش موفق برای:
سفارش فروش موفق
این رفتار مراحل بعدی را راحت تر می کند: شما همیشه می توانید فرض کنید که تا زمانی که خروجی مناسب باشد سفارش داده شده است. بنابراین می توانید یک عنصر عملیاتی اساسی را اضافه کنید که به سادگی خروجی را درست می نویسد و این مقدار را روی پشته می نویسد تا نشان دهد ترتیب قرار گرفته است یا خیر.
اگر چیزی را اشتباه رفت, شما می توانید اطلاعات در پیام ورود به سیستم پیدا (اگر ورود به سیستم فعال است).
خروجی ورود از عنصر سفارش بایننس
برنامه ریزی و همگام سازی
برای برنامه ریزی منظم و هماهنگ سازی, اضافه کردن کل گردش کار در شبکه 1 با عنصر زمانبندی بایننس.
زمانبندی بایننس در موقعیت 1 الف, شبکه 1
عنصر زمانبندی بایننس تنها یک بار اجرا میشود بنابراین مسیر اجرا را در انتهای شبکه 1 تقسیم کرده و با عبور خروجی به عنصر زمانبندی بایننس مجبور به همگامسازی مجدد خود میکند.
عنصر 5 الف به عنصر 1 الف شبکه 2 و عنصر 5 ب به عنصر 1 الف شبکه 1 (زمانبندی بایننس) اشاره می کند.
اعزام
شما می توانید تمام تنظیمات را 24/7 بر روی دستگاه محلی خود اجرا کنید یا می توانید به طور کامل بر روی یک سیستم ابر ارزان قیمت میزبانی کنید. برای مثال می توانید از یک سیستم ابری لینوکس/فریبیاسدی با حدود 5 دلار در ماه استفاده کنید اما معمولا سیستم پنجره ای را فراهم نمی کنند. اگر می خواهید از این ابرهای کم هزینه استفاده کنید می توانید از پایتون دیمون استفاده کنید که کاملا در داخل ترمینال اجرا می شود.
پایتون دیمون بخشی از نصب اولیه است. به عنوان یک استدلال به سیستم در حال اجرا از راه دور (به عنوان مثال با کپی امن) و شروع به پایتون دیمون با فایل گردش کار به عنوان یک استدلال:
برای شروع خودکار پایتون دیمون در هنگام راه اندازی سیستم می توانید یک ورودی به کرونتاب اضافه کنید:
گام های بعدی
همانطور که من در ابتدا نوشت, این اموزش فقط یک نقطه شروع به تجارت خودکار است. برنامه نویسی رباتها تجارت حدود 10% برنامه نویسی و 90% تست. وقتی صحبت از اجازه دادن به تجارت ربات با پول شما می شود, قطعا سه بار در مورد کدی که برنامه ریزی می کنید فکر خواهید کرد. بنابراین من به شما توصیه می کنم کد خود را تا جایی که می توانید ساده و قابل درک نگه دارید.
اگر شما می خواهید برای ادامه در حال توسعه ربات تجاری خود را در خود, چیزهای بعدی به راه اندازی عبارتند از:
- محاسبه سود خودکار (امیدوارم فقط مثبت باشد!)
- محاسبه قیمت شما می خواهید برای خرید
- مقایسه با کتاب سفارش خود را (به عنوان مثال, شد سفارش به طور کامل پر?)
شما می توانید کل مثال در گیتهاب دانلود.
6 کیف پول ارزهای رمزنگاری شده منبع باز
شما به دنبال یک محل برای ذخیره و تجارت خود را بیت کوین, اتریوم, یا دیگر ارز رمزنگاری? این شش گزینه منبع باز را بررسی کنید.