در این مطلب، ویدئو ساخت یک سیستم معاملاتی الگوریتمی در پایتون | اتصال و ساختار با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:10:35
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,280
اکنون
2
00:00:02,280 –> 00:00:03,899
3
00:00:03,899 –> 00:00:05,879
4
00:00:05,879 –> 00:00:08,880
اگر نتوانیم آنها را در بازارهای زنده پیاده سازی کنیم
5
00:00:08,880 –> 00:00:11,429
و به ویژه از پایتون و
6
00:00:11,429 –> 00:00:14,490
قدرت محاسباتی پیشنهادات برای کمک به
7
00:00:14,490 –> 00:00:17,369
اجرای تجارت استفاده کنیم، همه مفاهیم و استراتژی های معاملاتی که تا به اینجا در مورد آنها صحبت کرده ایم چه
8
00:00:17,369 –> 00:00:19,920
فایده ای دارند. زیرا در این ویدیو که در آن
9
00:00:19,920 –> 00:00:22,380
ما قصد داریم یک
10
00:00:22,380 –> 00:00:25,410
سیستم معاملاتی الگوریتمی در پایتون بسازیم تا به ما در
11
00:00:25,410 –> 00:00:27,029
اجرای معاملات با استفاده از این استراتژی های مختلف
12
00:00:27,029 –> 00:00:30,750
در هر صورت با معاملات زنده
13
00:00:30,750 –> 00:00:32,399
کمک کند، ما به یک سارق برای کمک به
14
00:00:32,399 –> 00:00:35,130
تسهیل معاملات ما نیاز داریم، بنابراین در این مورد
15
00:00:35,130 –> 00:00:37,739
من من از بروکرهای تعاملی استفاده میکنم، آنها
16
00:00:37,739 –> 00:00:40,079
حداقلهای حساب نسبتاً پایینی را ارائه میکنند، اما
17
00:00:40,079 –> 00:00:42,989
مهمتر از آن، آنها یک API پایتون را نیز ارائه میدهند،
18
00:00:42,989 –> 00:00:45,030
اکنون من چند سال
19
00:00:45,030 –> 00:00:47,550
تجربه با Java API دارم و
20
00:00:47,550 –> 00:00:51,239
اخیراً آنها یک نسخه پایتون
21
00:00:51,239 –> 00:00:53,309
از API خود را منتشر کردند و این چیزی است که ما انجام میدهیم.
22
00:00:53,309 –> 00:00:55,079
از امروز برای ایجاد سیستم معاملاتی خود استفاده خواهیم کرد،
23
00:00:55,079 –> 00:00:58,469
بنابراین قبل از
24
00:00:58,469 –> 00:01:00,090
شروع به یک
25
00:01:00,090 –> 00:01:01,920
حساب تعاملی Berger
26
00:01:01,920 –> 00:01:03,809
نیاز دارید و باید آخرین نسخه
27
00:01:03,809 –> 00:01:06,570
دروازه API خود را نصب کنید و این همان چیزی است که
28
00:01:06,570 –> 00:01:08,820
به پایتون اجازه میدهد به کارگزاران تعاملی متصل شود
29
00:01:08,820 –> 00:01:11,490
و حساب شما را مدیریت کند.
30
00:01:11,490 –> 00:01:13,799
31
00:01:13,799 –> 00:01:16,110
32
00:01:16,110 –> 00:01:18,780
33
00:01:18,780 –> 00:01:20,610
API شما فقط می توانید
34
00:01:20,610 –> 00:01:23,580
از گزینه paper trading علاوه بر
35
00:01:23,580 –> 00:01:26,520
ایجاد حساب کاربری و نصب
36
00:01:26,520 –> 00:01:28,350
دروازه API استفاده کنید که برای
37
00:01:28,350 –> 00:01:30,930
نصب Python API نیاز دارید تا این کار را انجام دهید،
38
00:01:30,930 –> 00:01:33,990
فقط می توانید یک pip install بر روی IB API اجرا کنید و
39
00:01:33,990 –> 00:01:36,090
خواهید داشت. همه چیزهایی که برای شروع نیاز دارید
40
00:01:36,090 –> 00:01:38,939
قبل از اینکه ما واقعاً
41
00:01:38,939 –> 00:01:40,619
شروع به کدنویسی کنیم، میخواهم
42
00:01:40,619 –> 00:01:43,350
بینشی در مورد ساختار API
43
00:01:43,350 –> 00:01:45,119
و نحوه ارسال و دریافت
44
00:01:45,119 –> 00:01:47,509
اطلاعات از Interactive
45
00:01:47,509 –> 00:01:50,909
Brokers ارائه دهم، دو کلاس اصلی در
46
00:01:50,909 –> 00:01:54,090
Interactive Brokers python و
47
00:01:54,090 –> 00:01:57,149
اولی کلاس e wrapper و
48
00:01:57,149 –> 00:02:00,360
دومی کلاس کلاینت است که
49
00:02:00,360 –> 00:02:04,710
سرور به صورت
50
00:02:04,710 –> 00:02:07,140
متدهای برگشتی در کلاس e wrapper به پایتون پاسخ می دهد
51
00:02:07,140 –> 00:02:11,970
و پایتون اطلاعات f را درخواست می کند.
52
00:02:11,970 –> 00:02:12,590
سرور را
53
00:02:12,590 –> 00:02:14,780
از کلاس eat کلاینت رام می کند و
54
00:02:14,780 –> 00:02:16,879
یک حلقه به شکل بسته ایجاد می کند که در آن هر کلاینت
55
00:02:16,879 –> 00:02:18,800
اطلاعاتی را از سرور درخواست می کند
56
00:02:18,800 –> 00:02:20,540
و سرور به شکل
57
00:02:20,540 –> 00:02:24,709
متدهای برگشت تماس در کلاس wrapper پاسخ می دهد، بنابراین به
58
00:02:24,709 –> 00:02:26,390
این صورت می خواهیم ارسال کنیم
59
00:02:26,390 –> 00:02:28,879
و دریافت دادهها از سرور و از
60
00:02:28,879 –> 00:02:31,400
سرور و اینجاست که میتوانیم
61
00:02:31,400 –> 00:02:33,970
کارهایی مانند درخواست دادههای بازار یا
62
00:02:33,970 –> 00:02:37,190
اجرای معاملات و درخواست
63
00:02:37,190 –> 00:02:39,739
جزئیات حساب انجام دهیم که همه اینها در کلاس مشتری EE انجام میشود
64
00:02:39,739 –> 00:02:42,200
و همه
65
00:02:42,200 –> 00:02:45,079
اطلاعات به روشهای برگشت به تماس در e
66
00:02:45,079 –> 00:02:48,170
wrapper ارسال میشوند. کلاس بنابراین اکنون که شما یک
67
00:02:48,170 –> 00:02:51,230
ایده کلی از ساختار API دارید،
68
00:02:51,230 –> 00:02:52,730
میتوانیم ادامه دهیم و شروع به کدنویسی
69
00:02:52,730 –> 00:02:55,400
پیادهسازی خود کنیم، بنابراین برای شروع
70
00:02:55,400 –> 00:02:58,040
باید کلاسهای ear apper و eat Client را پیادهسازی کنیم یا بهتر است
71
00:02:58,040 –> 00:03:01,340
72
00:03:01,340 –> 00:03:04,360
بگوییم. IBA API
73
00:03:04,360 –> 00:03:09,019
wrapper گوش را وارد میکند از IV API که
74
00:03:09,019 –> 00:03:12,769
کلاینتها کلاینت الکترونیکی را وارد میکنند و
75
00:03:12,769 –> 00:03:14,239
این دو کلاس هستند که
76
00:03:14,239 –> 00:03:15,709
مسئول ارسال و دریافت
77
00:03:15,709 –> 00:03:18,769
دادهها از سرور هستند، بنابراین ما میخواهیم
78
00:03:18,769 –> 00:03:20,900
s خودمان را ایجاد کنیم. ubclasses برای
79
00:03:20,900 –> 00:03:23,450
پیاده سازی سفارشی درخواست های سرور و
80
00:03:23,450 –> 00:03:26,959
مدیریت داده ها، بنابراین برای شروع می گویم
81
00:03:26,959 –> 00:03:31,519
کلاس BPI controller یک زیر کلاس از e
82
00:03:31,519 –> 00:03:33,950
wrapper است و به این معنی است که در
83
00:03:33,950 –> 00:03:36,260
این کلاس ما
84
00:03:36,260 –> 00:03:39,319
داده ها را از سرور دریافت خواهیم کرد و من فقط در حال
85
00:03:39,319 –> 00:03:44,030
حاضر یک سازنده خالی باقی میگذاریم، ما
86
00:03:44,030 –> 00:03:46,160
همچنین باید یک
87
00:03:46,160 –> 00:03:48,349
پیادهسازی سفارشی از کلاس e Client ایجاد کنیم، بنابراین
88
00:03:48,349 –> 00:03:51,829
میخواهم بگویم سوکت کلاس API یک
89
00:03:51,829 –> 00:03:56,690
زیر کلاس از هر کلاینت است و برخلاف اینکه
90
00:03:56,690 –> 00:04:00,650
یک زیر کلاس wrapper است، در واقع
91
00:04:00,650 –> 00:04:03,139
باید یک پارامتر بگیریم. و در این حالت
92
00:04:03,139 –> 00:04:05,299
پارامتر در واقع
93
00:04:05,299 –> 00:04:09,950
کلاس wrapper خواهد بود، بنابراین دلیل این امر این است
94
00:04:09,950 –> 00:04:12,530
که وقتی درخواستهایی را به
95
00:04:12,530 –> 00:04:16,310
سرور ارسال میکنیم، باید مقصدی
96
00:04:16,310 –> 00:04:18,108
برای دادههایی داشته باشیم که سرور میخواهد به آن
97
00:04:18,108 –> 00:04:21,409
پاسخ دهد و در این مورد که
98
00:04:21,409 –> 00:04:23,870
قرار است نمونه ما از
99
00:04:23,870 –> 00:04:26,060
کلاس wrapper برای کنترل API باشد،
100
00:04:26,060 –> 00:04:29,419
بنابراین
101
00:04:29,419 –> 00:04:32,660
سازنده کلاس iya clients را فراخوانی می کنیم و
102
00:04:32,660 –> 00:04:38,230
103
00:04:38,230 –> 00:04:41,360
اکنون که زیر کلاس های e را داریم، نمونه wrapper را به آن تغذیه می کنیم.
104
00:04:41,360 –> 00:04:44,150
راهاندازی کلاس wrapper و e Client برای
105
00:04:44,150 –> 00:04:47,240
مدیریت پیادهسازیهای سفارشیمان، میتوانیم
106
00:04:47,240 –> 00:04:49,250
کلاس دیگری بسازیم که
107
00:04:49,250 –> 00:04:52,610
اساساً مسئول نگهداری هر دو
108
00:04:52,610 –> 00:04:55,120
مؤلفه است و آن
109
00:04:55,120 –> 00:05:00,320
کلاس را برنامه معاملاتی مین