در این مطلب، ویدئو ساده ترین ربات تجاری ممکن با پایتون با استفاده از API بایننس با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:19:02
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:02,560
سلام و خوش آمدید و سال نو مبارک در
2
00:00:02,560 –> 00:00:04,240
این ویدیو ما در حال ساخت ساده ترین
3
00:00:04,240 –> 00:00:06,240
ربات معاملاتی ممکن با استفاده از پایتون
4
00:00:06,240 –> 00:00:08,080
و api بایننس هستیم
5
00:00:08,080 –> 00:00:09,760
قبل از هر چیز اجازه دهید توضیح دهم که این
6
00:00:09,760 –> 00:00:12,320
نقطه چگونه کار می کند، بنابراین ما در حال راه اندازی یک
7
00:00:12,320 –> 00:00:14,480
فایل csv یا متنی حاوی سکه های مورد نظر خود هستیم.
8
00:00:14,480 –> 00:00:16,640
برای معامله و اطلاعات
9
00:00:16,640 –> 00:00:18,240
اگر در موقعیتی قرار داشته باشیم،
10
00:00:18,240 –> 00:00:20,560
این فایل csv همیشه وقتی
11
00:00:20,560 –> 00:00:23,519
در حال خرید یا فروش
12
00:00:23,519 –> 00:00:26,640
دارایی هستیم تغییر می کند که فایل پایتون در فایل csv می خواند
13
00:00:26,640 –> 00:00:28,480
و کل اطلاعات قیمت را از طریق
14
00:00:28,480 –> 00:00:30,880
api باینانس انجام می دهد و منطق معاملات را پیاده سازی می کند.
15
00:00:30,880 –> 00:00:32,558
16
00:00:32,558 –> 00:00:34,640
17
00:00:34,640 –> 00:00:36,719
اگر ما در
18
00:00:36,719 –> 00:00:39,040
موقعیتی نباشیم و sma سریع بالاتر از
19
00:00:39,040 –> 00:00:41,840
رزومه آهسته باشد، ما در حال خرید هستیم، خود منطق معاملاتی تقریباً ساده است
20
00:00:41,840 –> 00:00:44,160
اگر در موقعیتی باشیم
21
00:00:44,160 –> 00:00:46,879
و sma آهسته بالاتر از sma سریعی باشد که می فروشیم
22
00:00:46,879 –> 00:00:48,239
23
00:00:48,239 –> 00:00:51,199
و با که ما همچنین در حال نوشتن
24
00:00:51,199 –> 00:00:53,600
به csv هستیم که دیگر در موقعیتی
25
00:00:53,600 –> 00:00:55,360
26
00:00:55,360 –> 00:00:58,079
نیستیم این اسکریپت که می نویسیم فقط
27
00:00:58,079 –> 00:01:00,079
یک بار این بررسی را انجام می دهد بنابراین باید
28
00:01:00,079 –> 00:01:02,079
اجرای آن را خودکار کنیم
29
00:01:02,079 –> 00:01:05,040
بنابراین می توانید با cron j کار کنید. ob
30
00:01:05,040 –> 00:01:08,000
در مورد لینوکس یا مک یا با
31
00:01:08,000 –> 00:01:10,080
زمانبندی وظایف ویندوز،
32
00:01:10,080 –> 00:01:12,000
علاوه بر این، اگر میخواهید
33
00:01:12,000 –> 00:01:14,000
از دستگاه محلی خود مستقل باشید،
34
00:01:14,000 –> 00:01:15,680
میتوانید اسکریپت را در فضای ابری نیز اجرا کنید،
35
00:01:15,680 –> 00:01:17,920
من ویدیوهایی در مورد نحوه انجام آن
36
00:01:17,920 –> 00:01:19,600
37
00:01:19,600 –> 00:01:21,759
دارم و همچنین توصیه میکنم این ویدیو را ببینید.
38
00:01:21,759 –> 00:01:23,200
از قبل، همانطور که در
39
00:01:23,200 –> 00:01:25,280
اینجا استراتژی را توضیح میدهم، منابع مرتبطی را پیدا خواهید کرد
40
00:01:25,280 –> 00:01:27,040
که باید آنها را
41
00:01:27,040 –> 00:01:29,360
بهتر در کنار
42
00:01:29,360 –> 00:01:31,040
ارزهای دیجیتال سلب مسئولیت مهم دنبال کنید و
43
00:01:31,040 –> 00:01:32,479
سپس معاملات خودکار خاص
44
00:01:32,479 –> 00:01:33,920
مقدار زیادی ریسک را به همراه دارد و ممکن است
45
00:01:33,920 –> 00:01:35,439
منجر به از دست دادن کل سرمایه سرمایهگذاری شده شما شود.
46
00:01:35,439 –> 00:01:37,280
ارزهای
47
00:01:37,280 –> 00:01:39,040
رمزپایه تنظیم نشدهاند و python bind api
48
00:01:39,040 –> 00:01:40,640
wrapper رسمی نیست،
49
00:01:40,640 –> 00:01:42,399
مهمتر از آن سلب مسئولیت.
50
00:01:42,399 –> 00:01:44,159
51
00:01:44,159 –> 00:01:46,240
52
00:01:46,240 –> 00:01:48,000
53
00:01:48,000 –> 00:01:49,520
54
00:01:49,520 –> 00:01:51,680
تنظیمات مناسب لطفا فقط
55
00:01:51,680 –> 00:01:53,600
این ویدیوها را به عنوان یک پروژه ببینید و برنامه ای
56
00:01:53,600 –> 00:01:55,840
برای دنبال کردن اسکریپت های من
57
00:01:55,840 –> 00:01:57,360
نداشته باشید. شما می خواهید
58
00:01:57,360 –> 00:01:58,880
59
00:01:58,880 –> 00:02:01,040
همه چیز را درست انجام دهید، بنابراین بیایید با
60
00:02:01,040 –> 00:02:03,920
ایجاد فایل csv اولیه شروع کنیم زیرا می بینید
61
00:02:03,920 –> 00:02:06,079
که من در ویرایشگر متن jupiter هستم در اینجا شما
62
00:02:06,079 –> 00:02:09,119
می توانید از هر ویرایشگر متنی که ترجیح می دهید استفاده کنید،
63
00:02:09,119 –> 00:02:12,319
بنابراین ما به سه ستون در اینجا برای ارز نیاز
64
00:02:12,319 –> 00:02:14,800
داریم که در آن سکه های خود را تعریف می کنیم.
65
00:02:14,800 –> 00:02:16,480
موقعیتی
66
00:02:16,480 –> 00:02:18,480
که در آن اگر در موقعیتی نباشیم
67
00:02:18,480 –> 00:02:20,239
یک صفر و اگر در موقعیتی هستیم
68
00:02:20,239 –> 00:02:21,360
69
00:02:21,360 –> 00:02:25,599
و مقداری را که میخواهیم بخریم و بفروشیم
70
00:02:25,599 –> 00:02:29,120
یک عدد تعریف میکنیم، بنابراین بیت کوین را تعریف میکنیم
71
00:02:29,120 –> 00:02:31,280
ابتدا موقعیت اولیه را روی صفر قرار
72
00:02:31,280 –> 00:02:35,519
میدهیم و میخواهیم بخریم فرض کنید 0.002 باشد. بیت کوین
73
00:02:35,519 –> 00:02:38,239
ما همچنین میخواهیم eth را معامله
74
00:02:38,239 –> 00:02:40,800
کنیم، موقعیت اولیه را صفر
75
00:02:40,800 –> 00:02:44,720
میکنیم و میخواهیم 0.02 eth بخریم یا بفروشیم
76
00:02:44,720 –> 00:02:47,280
و همچنین موقعیت اولیه کاردانو یا ada
77
00:02:47,280 –> 00:02:49,280
را صفر
78
00:02:49,280 –> 00:02:52,720
کنیم و میخواهیم 100 بخریم یا بفروشیم.
79
00:02:52,720 –> 00:02:54,239
بیایید آن را ذخیره
80
00:02:54,239 –> 00:02:56,879
کنیم و یک نام معنادار برای آن بگذاریم
81
00:02:56,879 –> 00:02:59,280
و این در حال حاضر
82
00:02:59,280 –> 00:03:01,840
اجازه دهید با اسکریپت پایتون ادامه دهیم، بنابراین
83
00:03:01,840 –> 00:03:03,519
همانطور که می بینید من قبلاً کارهایی را در اینجا انجام داده
84
00:03:03,519 –> 00:03:05,440
ام بنابراین دفترچه کلیدهای بایننس خود را اجرا می کنم
85
00:03:05,440 –> 00:03:07,599
که در آن فقط کلید api و راز api خود را ذخیره می کنم،
86
00:03:07,599 –> 00:03:09,599
شما لازم نیست این کار را انجام دهم.
87
00:03:09,599 –> 00:03:11,200
من فقط برای محافظت از داده ها این کار را انجام می دهم
88
00:03:11,200 –> 00:03:13,599
دلایلی که شما فقط باید
89
00:03:13,599 –> 00:03:16,640
کلید api و راز api خود را در محیط پایتون فعلی خود تعریف کنید،
90
00:03:16,640 –> 00:03:18,800
91
00:03:18,800 –> 00:03:21,840
من همچنین مشتری را وارد می کنم تا بتوان
92
00:03:21,840 –> 00:03:24,159
از طریق bind api داده ها را از binance بیرون کشید
93
00:03:24,159 –> 00:03:27,040
و همچنین دستورات را اجرا کرد
94
00:03:27,040 –> 00:03:29,519
و ما به پانل هایی برای مدیریت داده ها
95
00:03:29,519 –> 00:03:32,480
در اینجا نیاز داریم. من فقط مشتری را نمونه سازی می کنم،
96
00:03:32,480 –> 00:03:35,200
بنابراین اول از همه می خواهیم در این
97
00:03:35,200 –> 00:03:37,599
فایل csv که به تازگی ایجاد کرده
98
00:03:37,599 –> 00:03:39,519
ایم بخوانیم، آن را در متغیری ذخیره می کنیم که
99
00:03:39,519 –> 00:03:41,599
من آن را pause frame برای
100
00:03:41,599 –> 00:03:43,360
فریم موقعیت می
101
00:03:43,360 –> 00:03:47,360
نامم، از پانداها تابع csv را می خوانند و نام فایل را ارائه می کنند.
102
00:03:47,360 –> 00:03:49,200
103
00:03:49,200 –> 00:03:50,959
ما آن موقعیت را نامگذاری
104
00:03:50,959 –> 00:03:52,720
کردیم و با آن یک
105
00:03:52,720 –> 00:03:56,080
قاب داده مانند این دریافت می کنیم که حاوی
106
00:03:56,080 –> 00:03:58,239
سکه های ما موقعیت
107
00:03:58,239 –> 00:04:01,439
و کمیت در اینجا کاملاً درست است
108
00:04:01,439 –> 00:04:04,319
و اول از همه ما در حال نوشتن یک
109
00:04:04,319 –> 00:04:05,680
تابع هستیم
110
00:04:05,680 –> 00:04:08,080
که در
111
00:04:08,080 –> 00:04:10,480
اینجا این مقادیر را تغییر می دهد بنابراین آن مقادیر موقعیت
112
00:04:10,480 –> 00:04:11,840
113
00:04:11,840 –> 00:04:13,040
درست است
114
00:04:13,040 –> 00:04:15,680
و i’m فقط فراخوانی این تابع
115
00:04:15,680 –> 00:04:18,478
تغییر مکث برای تغییر موقعیت ها
116
00:04:18,478 –> 00:04:20,320
و این تابع یک ارز خاص را
117
00:04:20,320 –> 00:04:22,800
به عنوان آرگومان می گیرد
118
00:04:22,800 –> 00:04:23,840
119
00:04:23,840 –> 00:04:25,919
و فقط خرید را
120
00:04:25,919 –> 00:04:28,720
در جایی که انتخاب می کنید به صورت پیش فرض تنظیم می کند
121
00:04:28,720 –> 00:04:31,040
و اگر
122
00:04:31,040 –> 00:04:33,840
این مقدار s را داشته باشیم و به عنوان درست است،
123
00:04:33,840 –> 00:04:37,120
بنابراین ما یک دارایی را درست خریدیم،
124
00:04:37,120 –> 00:04:39,360
باید ستون موقعیت را
125
00:04:39,360 –> 00:04:42,400
برای یک ارز خاص به یک تنظیم
126
00:04:42,400 –> 00:04:46,320
کنیم، می توانیم با استفاده از ثبت قاب مکث انجام دهیم،
127
00:04:46,320 –> 00:04:50,800
سپس ستون ارز را
128
00:04:51,919 –> 00:04:54,840
که برابر با ارز ارائه شده است را نمایش دهیم
129
00:04:54,840 –> 00:04:56,960
و سپس
130
00:04:56,960 –> 00:04:59,040
در نظر داریم ستون موقعیت
131
00:04:59,040 –> 00:05:01,919
را بر روی یک
132
00:05:01,919 –> 00:05:02,880
سمت راست قرار دهید
133
00:05:02,880 –> 00:05:05,039
اگر ما این را روی false تنظیم می کنیم تا
134
00:05:05,039 –> 00:05:07,759
بتوانیم آن را با دیگری بپوشانیم
135
00:05:07,759 –> 00:05:08,720
که عکس آن را
136
00:05:08,720 –> 00:05:10,560
درست انجام می دهیم، بنابراین
137
00:05:10,560 –> 00:05:12,880
موقعیت را روی صفر قرار می دهیم که
138
00:05:12,880 –> 00:05:14,639
در
139
00:05:14,639 –> 00:05:17,280
هنگام فروش دارایی صدق می کند.
140
00:05:17,280 –> 00:05:20,560
سمت راست و در این تابع ما همچنین
141
00:05:20,560 –> 00:05:22,400
به b
142
00:05:22,400 –> 00:05:25,120
می نویسیم می خواهیم به فایل csv برگردیم،
143
00:05:25,120 –> 00:05:28,080
بنابراین مهم نیست که کدام یک از این دو اتفاق بیفتد،
144
00:05:28,080 –> 00:05:31,520
ما از قاب مکث برای csv
145
00:05:31,520 –> 00:05:33,680
استفاده می کنیم و نام فایل را ارائه می دهیم و همچنین
146
00:05:33,680 –> 00:05:36,400
ایندکس را روی false قرار می دهیم در غیر
147
00:05:36,400 –> 00:05:37,680
این صورت گرفتن
148
00:05:37,680 –> 00:05:40,400
این شاخص عدد صحیح به عنوان یک ستون
149
00:05:40,400 –> 00:05:41,440
خوب است،
150
00:05:41,440 –> 00:05:44,720
بنابراین یک بار دیگر اگر این تابع را
151
00:05:44,720 –> 00:05:46,400
ارائه یا فراخوانی
152
00:05:46,400 –> 00:05:49,440
کنیم و ارز خاصی را ارائه کنیم
153
00:05:49,440 –> 00:05:52,479
و آرگومان خرید را روی
154
00:05:52,479 –> 00:05:55,840
true تنظیم کنیم، این تابع چه کاری انجام می
155
00:05:55,840 –> 00:05:58,000
دهد. و اگر شرط خرید
156
00:05:58,000 –> 00:06:01,199
یا با آرگومان را روی false قرار می دهیم
157
00:06:01,199 –> 00:06:03,680
، موقعیت را روی صفر قرار می دهیم و
158
00:06:03,680 –> 00:06:05,600
بعد از چند دقیقه خواهید دید که ما از
159
00:06:05,600 –> 00:06:08,319
این تابع در منطق معاملاتی خود استفاده خواهیم کرد در
160
00:06:08,319 –> 00:06:10,400
161
00:06:10,400 –> 00:06:12,240
حال حاضر بیایید داده های قیمت را از
162
00:06:12,240 –> 00:06:14,400
باینانس برای محاسبه سریع استفاده کنیم. و آهسته
163
00:06:14,400 –> 00:06:17,199
sma من از تابعی استفاده می کنم که بسیار
164
00:06:17,199 –> 00:06:19,759
شبیه به تابعی است که
165
00:06:19,759 –> 00:06:22,319
در ویدیوی اول ذکر شده استفاده می کردم،
166
00:06:22,319 –> 00:06:24,560
بنابراین فقط آن را در اینجا کپی می کنم اما
167
00:06:24,560 –> 00:06:27,360
به سرعت آن را با هم مرور می کنیم
168
00:06:27,360 –> 00:06:31,199
بنابراین این تابع به نام دریافت داده های ساعتی
169
00:06:31,199 –> 00:06:34,319
دادههای قیمت ساعتی را برای یک
170
00:06:34,319 –> 00:06:38,080
نماد مشخص میکشد، به عنوان مثال بیتکوین usdt
171
00:06:38,080 –> 00:06:40,479
و همانطور که میبینید ما دادههای خط تاریخی را دریافت میکنیم،
172
00:06:40,479 –> 00:06:43,280
بنابراین دادههای بسته بسیار پایین را باز کنید
173
00:06:43,280 –> 00:06:45,600
و ما این دادهها را برای
174
00:06:45,600 –> 00:06:47,120
بازه زمانی یک ساعته
175
00:06:47,120 –> 00:06:51,199
میکشیم و ۲۵ ساعت به عقب برمیگردیم. پس چرا 25
176
00:06:51,199 –> 00:06:55,520
ساعت چون 25 ساعت افق زمانی sma آهسته
177
00:06:55,520 –> 00:06:59,120
است، من فقط
178
00:06:59,120 –> 00:07:01,280
افق های زمانی بایننس را در اینجا می گیرم، بنابراین sma سریع در
179
00:07:01,280 –> 00:07:03,599
بایننس هفت گام زمانی است و
180
00:07:03,599 –> 00:07:06,400
تخمین آهسته 25 گام زمانی است،
181
00:07:06,400 –> 00:07:09,199
خوب و این فقط فایل است.
182
00:07:09,199 –> 00:07:10,960
برخی از دادههای غیرضروری را حذف میکنیم، بنابراین ما
183
00:07:10,960 –> 00:07:15,440
فقط پنج ستون اول این
184
00:07:15,440 –> 00:07:15,840
185
00:07:15,840 –> 00:07:18,800
دادههای پورت k را میگیریم و نام آن ستونها را
186
00:07:18,800 –> 00:07:21,199
به چیزی که در واقع دارند تغییر میدهیم، بنابراین زمان
187
00:07:21,199 –> 00:07:23,360
باز کردن زیاد کم بسته میشود،
188
00:07:23,360 –> 00:07:26,400
سپس آن ستونها را به
189
00:07:26,400 –> 00:07:28,400
مقادیر شناور تایپ میکنیم تا بتوانیم محاسبه کنیم. با
190
00:07:28,400 –> 00:07:31,039
آنها، بنابراین قبل از اینکه آنها برای مقادیر مرده من رشته شوند
191
00:07:31,039 –> 00:07:32,319
192
00:07:32,319 –> 00:07:34,400
و این فقط
193
00:07:34,400 –> 00:07:37,120
ستون زمان را از یک مهر زمانی یونیکس به یک مهر زمانی قابل خواندن برای انسان تبدیل می کند،
194
00:07:37,120 –> 00:07:39,360
195
00:07:39,360 –> 00:07:41,360
بگذارید فقط این تابع را فراخوانی کنیم سپس
196
00:07:41,360 –> 00:07:43,599
فکر می کنم واضح تر می شود، بنابراین
197
00:07:43,599 –> 00:07:45,759
اگر آن تابع را فقط دریافت کنیم
198
00:07:45,759 –> 00:07:49,759
دادهها برای بیت کوین uct
199
00:07:49,759 –> 00:07:51,599
ما یک قاب داده مانند این درست میگیریم،
200
00:07:51,599 –> 00:07:53,360
بنابراین دادههای ساعتی
201
00:07:53,360 –> 00:07:55,280
۳ بعدازظهر ۴ بعدازظهر
202
00:07:55,280 –> 00:07:58,400
و سپس باز کردن بالا کم بسته به عنوان
203
00:07:58,400 –> 00:08:00,879
مقادیر شناور کاملاً درست است و همانطور که میبینید ما در
204
00:08:00,879 –> 00:08:04,080
اینجا ۲۵ ردیف دریافت میکنیم
205
00:08:04,080 –> 00:08:06,960
و این همان چیزی است که باید محاسبه
206
00:08:06,960 –> 00:08:09,440
کنیم. نشانگرهای فنی
207
00:08:09,440 –> 00:08:12,160
درست است و این همان کاری است که ما اکنون انجام می دهیم،
208
00:08:12,160 –> 00:08:15,120
بنابراین بیایید این قاب داده را در
209
00:08:15,120 –> 00:08:17,759
متغیری که فقط df می
210
00:08:17,759 –> 00:08:20,240
نامیم ذخیره کنیم و اکنون در حال
211
00:08:20,240 –> 00:08:22,080
ایجاد یک تابع هستیم که نشانگر فنی را انجام می دهد.
212
00:08:22,080 –> 00:08:24,639
ator محاسبات را برای ما انجام می دهد،
213
00:08:24,639 –> 00:08:28,080
بنابراین ما می خواهیم که تکنیک های فنی را
214
00:08:28,080 –> 00:08:30,319
روی یک قاب داده خاص اعمال کنیم و این
215
00:08:30,319 –> 00:08:34,240
یک ستون جدید در اینجا sma سریع ایجاد می کند
216
00:08:34,240 –> 00:08:36,320
و این روی ستون بسته
217
00:08:36,320 –> 00:08:38,000
218
00:08:38,000 –> 00:08:39,599
می چرخد و در ای
219
00:08:39,599 –> 00:08:42,399
جا هفت مرحله زمانی طول می کشد، بنابراین با
220
00:08:42,399 –> 00:08:45,200
ننس چه چیزی را محاسبه می کن
221
00:08:45,200 –> 00:08:47,279
. روشی که من این کار را انجام می دهم این است که ما
222
00:08:47,279 –> 00:08:49,120
می توانیم
223
00:08:49,120 –> 00:08:51,200
نتایج خود را
224
00:08:51,200 –> 00:08:53,839
با رابط بایننس به درستی مقایسه کنیم، بنابراین اگر
225
00:08:53,839 –> 00:08:56,399
این به شما می گوید که sma سریع
226
00:08:56,399 –> 00:08:58,560
بالاتر از sma آهسته است، آن را
227
00:08:58,560 –> 00:09:00,160
در رابط بایننس نیز خواهید دید،
228
00:09:00,160 –> 00:09:02,399
اما به هر حال اکنون ما میانگین را می گیرند
229
00:09:02,399 –> 00:09:03,760
و این فقط میانگین متحرک ساده
230
00:09:03,760 –> 00:09:05,040
بیش از
231
00:09:05,040 –> 00:09:07,040
هفت گام زمانی است و این sma سریع ما است،
232
00:09:07,040 –> 00:09:11,440
بنابراین sma آهسته ما
233
00:09:11,440 –> 00:09:15,360
بیش از 25 گام زمانی می چرخد،
234
00:09:15,360 –> 00: