Binance API with Python — Step-by-Step Guide & Transcript

تطبيق عملي على مكتبة requests في بايثون | الجزء الأول | برمجة بوت لتداول العملات الرقمية على Binance

0h 30m video Published Nov 26, 2021 Transcribed Oct 17, 2026 Pythonic Pythonic
AI Trust Score 70/100
⚠️ Average / Some Fluff

"Delivers a solid, practical tutorial on Binance API with real code examples, though the title's promise of 'automated trading' is only partially fulfilled as it covers public data only."

AI Summary

This video is a practical tutorial on using the Binance REST API with Python to fetch public market data. The presenter, Omar Ghneim, explains what an API is, how to create and secure API keys on Binance, and demonstrates how to make GET requests to various public endpoints, including server time, exchange information, order book, and candlestick data. The video concludes with a preview of the next tutorial, which will cover endpoints requiring API keys and digital signatures.

[00:00]
Introduction and Disclaimer

The video is a practical application of the 'requests' library in Python for automated trading on Binance. The presenter warns that crypto trading is risky and advises learning first. The purpose is to demonstrate API usage, not to recommend trading.

[01:08]
What is an API?

API stands for Application Programming Interface. It is a method provided by websites (like Binance) to allow clients to programmatically retrieve or send data. REST API is a common guideline for building APIs, with other types like GraphQL (used by Instagram) and SOAP.

[02:27]
API Keys and Secret Keys

To use an API, you need an API Key (like a username) and a Secret Key (like a password). The API Key is not sensitive, but the Secret Key must be kept confidential. Anyone with both keys can control your account.

[02:53]
Creating API Keys on Binance

To create an API key, log into Binance, go to profile icon, then API Management. You can create up to 30 API keys per account. After naming and creating, you must verify via email, phone, and Google Authenticator. The Secret Key is shown only once, so save it securely.

[04:11]
API Key Permissions and Security

You can edit restrictions for the API key: enable reading (view only), enable spot and margin trading, enable withdrawal (if allowed). It is recommended to restrict access to trusted IPs only to prevent unauthorized use.

[05:34]
API Documentation Overview

The Binance API documentation provides details on endpoints, base URL (https://api.binance.com), HTTP status codes (e.g., 400 for client error, 429 for rate limit exceeded), and error codes (e.g., -1121 invalid symbol).

[07:40]
Public vs Private Data

Binance API has public data (prices, history, volume) accessible without keys, and private data (account balances, trades) requiring API and Secret keys. Public endpoints like Market Data can be used freely.

[08:35]
Rate Limits

Binance has rate limits: 1200 request weight per minute, 50 POST requests per 10 seconds, and 160 requests per day for certain operations. API keys are case-sensitive.

[09:57]
Testing Connection with ping Endpoint

The /api/v3/ping endpoint returns an empty JSON object if the connection is successful. This is used to test connectivity between your code and the Binance API.

[10:11]
Setting Up Python Code

Store API public and secret keys in a separate file (e.g., .env) to keep them secure. Import the requests library, define variables for keys, and construct the base URL.

[12:30]
Fetching Server Time

The /api/v3/time endpoint returns a JSON with a 'serverTime' key containing a timestamp in milliseconds. Convert it to a datetime object using datetime.fromtimestamp(timestamp/1000).

[14:05]
Exchange Information Endpoint

The /api/v3/exchangeInfo endpoint returns current exchange trading rules and symbol information, including timezone (UTC), server time, rate limits, and symbols with their trading rules (e.g., allowed order types).

[15:14]
Understanding Request Weight

Rate limits are based on request weight, not just count. Each endpoint has a weight (e.g., exchangeInfo weight 10). If your limit is 1200 per minute, a request with weight 10 reduces it to 1190.

[16:40]
Extracting Symbols

From exchangeInfo, you can extract the 'symbols' list, which contains dictionaries with symbol details like 'ETHBTC', 'BTCUSDT', etc. This is useful for iterating over available trading pairs.

[17:19]
Order Book Endpoint

The /api/v3/depth endpoint returns the order book (bids and asks). Parameters: symbol (e.g., BTCUSDT) and limit (number of orders, from 5 to 5000). The weight depends on the limit: 1 for 5-100, 5 for 500, etc.

[19:30]
Processing Order Book Data

The response contains 'lastUpdateId', 'bids', and 'asks'. Each bid/ask is a list with price and quantity. You can store this data in a Pandas DataFrame for analysis, e.g., comparing total buy vs sell volume.

[20:55]
Candlestick Data Endpoint

The /api/v3/klines endpoint returns candlestick data. Each candle represents a time interval (e.g., 1d). Parameters: symbol, interval, optional startTime, endTime, and limit (max 1000). The response includes open, high, low, close, volume, and timestamps.

[23:36]
Understanding Intervals

Intervals are enums: '1m' for 1 minute, '1h' for 1 hour, '1d' for 1 day, etc. You can find the full list in the API documentation under 'Candlestick chart intervals'.

[24:04]
Fetching Historical Candlestick Data

To get historical data, set startTime and endTime in milliseconds (convert datetime to timestamp * 1000). If not set, the most recent K-lines are returned. Example: fetch 62 days of daily data starting from September 13.

[26:05]
Storing Data in DataFrame

Loop through the klines list, extract the first 7 values (open time, open, high, low, close, volume, close time) into a dictionary, then append to a Pandas DataFrame with appropriate column names.

[28:57]
Converting Timestamps to Datetime

Convert the close time (milliseconds) to a datetime object using datetime.fromtimestamp(close_time/1000). The Binance API returns times in UTC, so adjust accordingly.

[29:51]
Conclusion and Next Steps

The video covered public endpoints. The next video will cover endpoints requiring API and secret keys, including how to create a digital signature for authentication.

Mentioned in this Video

Tutorial Checklist

1 02:53 Create a Binance account and navigate to API Management to create an API key and secret key.
2 03:21 Name the API key, complete verification (email, phone, Google Authenticator), and submit.
3 03:33 Copy the API public key and secret key, and store them securely in a separate file (e.g., .env).
4 04:11 Configure API key permissions: enable reading, spot/margin trading, or withdrawal as needed, and restrict access to trusted IPs.
5 10:11 In Python, import requests and define variables for API keys from the .env file.
6 11:03 Set the base URL to 'https://api.binance.com' and append the endpoint path (e.g., '/api/v3/ping').
7 11:47 Make a GET request using requests.get(url) and print the response status code and JSON.
8 12:30 For server time, use endpoint '/api/v3/time', parse the JSON, and convert the timestamp to datetime.
9 14:05 For exchange info, use endpoint '/api/v3/exchangeInfo' and extract symbols or rate limits.
10 17:19 For order book, use endpoint '/api/v3/depth' with parameters symbol and limit, and parse bids/asks.
11 20:55 For candlestick data, use endpoint '/api/v3/klines' with symbol, interval, and optional startTime/endTime/limit.
12 26:05 Loop through klines, extract first 7 values into a dictionary, and append to a Pandas DataFrame.

💡 Key Takeaways

⚖️

API Key Security

Emphasizes the critical distinction between public and secret keys, a fundamental security principle for any API usage.

02:27
📊

Rate Limits Explained

Provides concrete numbers for Binance API limits, essential for building robust applications that avoid bans.

08:35
💡

Request Weight Concept

Clarifies a non-obvious aspect of rate limiting that many developers misunderstand, preventing unexpected throttling.

15:41
🔧

Candlestick Data Structure

Explains the anatomy of a candlestick and how to interpret the data, foundational for technical analysis.

20:55
💡

Next Steps Preview

Sets up anticipation for the next tutorial on authenticated endpoints, showing a clear learning path.

29:51

[00:00] السلام عليكم و أهلا وسهلا بجميعكم في فيديو جديد من قناة بايثونيك. بهذا الفيديو ان شاء الله راح نعمل تطبيق عملية على مكتبة ريكوست اللي شرحناها بالفيديو هاي اللي قبل هيك. راح نشوف في هذا الفيديو كيف تستخدم تبع منصة باينانس. عشان تقدر تعمل تداول آلي

[00:16] باستخدام مكتبة ريكوست والبايثون. في بداية راح نتعرف على ايش هو وكيف تشتغل. وبعدها راح نشوف تبع ونبدأ نشرح هذا وكيف تستخدمه.

[00:28] قبل ما نبدأ اذا مهتم بلغة بايثون ياريك تشترك في القناة وتساعدنا على نشر محتوى القناة. انا عمر غنيم وهناك قناة بايثون.

[00:43] بالبداية اريد ان اقول لك انك تداول بالعملات الرقمية فيه مخاطرة اذا ما عندك علم عن هذا الموضوع. فاذا حابب تبدأ بهذا المجال انت بانصحك بالاول تبدأ تتعلم. انا هون ما اعم بنصحك تداول بالعملات الرقمية او ما تداول. الغرض من هذا

[00:56] الفيديو هو مثال او تطبيق عامل يعني لما كتبت بلغة بايثون وكيف تستخدم اي بي اي لانه مكتوب بشكل واضح وبيعطينا كل الخيارات او

[01:08] كل الامثل اللي منحتاجها عشان نشرح طيب فين بالبداية نشرح ايش هو الابي اي اي اخصار وهي طريقة بتوفرها او المواقع اللي بتتعامل

[01:20] مع كمية ضخمة من البيانات وحابة تعطي هاي البيانات للمستحضرين الهوب سيرفيسز اللي هي مواقع زي مواقع التداول بالعملات مثل باينانس وغيرها أو مواقع السوشيال ميديا أو أي موقع بيحتوي على كمية ضخمة من البيانات

[01:34] وحابب بيوصر هاي البيانات للمستخدمين عن طريق ال API بقدر العميل أو ال client يكتب برنامج بأي لغة بايثون مثلا من خلال هذا البرنامج بقدر يتواصل مع هذا الموقع يسحب منه بيانات أو يحط فيه بيانات

[01:47] يعني عدة أنواع لل API أشهرهم هو ال REST API وهي عبارة عن مجموعة من القوانين اللي بيستخدمها مطور الAPI ك-guideline لتطوير هذا الAPI فبالتالي يصير عندنا نمط موحد لل-API

[02:02] فإنت بيستخدم RIF API في أي موقع راح تلاقيه شبيه جداً طريقة استخدامه طبعاً لأي RIF API في أي موقع تاني وعندنا أنواع أخرى غير ال-RIF عندنا ال-GraphQL

[02:14] هذا مثلاً ال-guideline اللي بتستخدمه Instagram عشان تعمل ال-API تبعها وعندنا ال-SOAP في مثال اليوم ومن خلال تطبيق اليوم سنستخدم API منصة Binance وهو عبارة عن REST API إذا استخدمت أي API

[02:27] يجب أن يكون الموقع يعطيك API Key و Secret Key وهو مثل username و password API Key سيكون عادي ممكن أي شخص يعرفه لأنه لا يستطيع التحكم بحسابك لكن API Secret Key يجب أن يبقى Secret

[02:41] مثل password إذا كان أي شخص يملك access على API Public و Secret Key سيستطيع التحكم بحسابك ولمثال API key تأكد انك تحصدهم بشكل جيد طيب عشان تقدم API منصة Binance

[02:53] لازم في البداية يكون عندك حساب اذا حابب تنشئ حساب راح يترك لك الرابط في صندوق الوصف طبعا لازم يتكون مشجر دخول راح تيجي عند ال profile icon اللي هون وفيجي عند API management

[03:05] تدخل عليها من هون نقدر ننشئ API key و API secret key لحظة ان مكاتب لك Each account can create up to 30 API keys فانت ممكن تعمل لحد 30 API keys عشان تعمل API key عطيه اي اسم هون بتحبه فمثلا رح اسميه Tritonic

[03:21] بعدين رح اقوله Create API اذا انت عامل Verification رح يطلب منك الVerification هون رح بعكلي كود على الجوال وعلى الاميل وبدل جوجل Authentication رح ادخل هاي المعلومات وابغى بSubmit

[03:33] وهيك بكون ان شاء الله ال API Public Key وSecret Key عملا الاول هون هو عبارة عن API Public Key وعملا API Secret Key عمل Copy للPublic Key وفي كود عملا هون

[03:46] هنا نسميه key__key نقول له equals ونعمل face لل public key تبعنا طبعا لازم يكون strength والs key اللي هو secret key لنرجع ننسخه طبعا زي ما حكيت ال API والsecret key هدول

[03:59] لازم تستفد فيهم بشكل جيد انا رح امسح ال API key هذا بعد ما اخلص تصوير الفيديو ومن هون بتقدر تعدل شو صلاحيات اللي بدك تعطيها لل API key فلو ضغطت على edit restrictions enable reading

[04:11] تقدر تاخد معلومات بس ما تقدر تكتب معلومات على حسابك أو مثلاً ما تقدر تعطي order enable spot and margin trading تقدر تدول إذا بغطت صح enable withdrawal إذا بغطت عليها إذا كان مسموح لك تضغط عليها

[04:24] تقدر تسحب عملات رقمية باستخدام ال API هذا وعندك المارجن بي بي إذا تستخدم المارجن وعندك هون ال IP access restrictions إذا خليتها under-extracted أي حدا من أي IP معاها ال public

[04:37] والشكل API keys سبعاً بقدر يستخدم كسابك فالأفضل إنك تخليها restrict access trusted IDs only وتحط الـ IP Address تبعك هون. انا الـ API Key هذا راح امشحه ورح اخليها الـ Address. طبعاً Secret API Key هذا راح يعرضو لكيها مرة واحدة. لما

[04:52] تشكر هاي الصفحة لما تضغط فيها وتشكر هاي الصفحة ما راح تقدر تاخد الـ Secret Key مرة تانية. فاذا ما احفظتو لك راح تضطر تعمل API Key تاني. فاحفظ الـ Secret Key الان. راح نعمل سير. راح يبعثلك كود

[05:04] تاني على جوالك. خط الكود. واضغط submit. وهيك بيكون الـ API Public Key سكريت تي تبعها و بتقدر تستخدمهم. طيب لو جينا على تبع راح ترك لك

[05:16] الفندوق اللي هو بتقدر تقرا عن هذا و كيف تستخدمه. و مثلا عنا اول صفحة هون اللي هو شو الاشياء اللي حدثوها على هذا. عندك هون. هون عند بولك. رح نضبط هذا الموضوع بالتصوير بعد شو

[05:34] ولكن عندما تصنع كي لاتفاقات API يجب أن تقوم بإضافة إضافة إضافة على الكي لأسباب حقوق يعني عندما تقوم بإضافة API كما رأينا قبل قليل اضع إضافة على IP شو الIP اللي بقدر يأخذ مستخدام على API تباكك

[05:48] لا تشارك كي لأحد لاتفاقات API تباكك ورحنا على الـ General Info رح يعطيك هون الـ Base & Point

[06:00] طبعا REST API يعتمد على HTTP protocol اللي شرحناه فلما تيجي تعمل request على هذا API رح يكون عندك base URL اللي هو حاطينه هنا هون HTTPS API

[06:13] فهنا نعمل نستخدم API.binance.com واللي بعد هيك بيجي ال end point ال end point اللي هو شو المعلومات او شنو المعلومات اللي انت بدك يعرف ال end point هاي بتكون جزء من HTTP request تبعك

[06:28] و راح يترجع لك نوع معين من البيانات راح نشوف هذا الحكي دي امثلة بعد شوي وهون عم بقولك شو الHTTP code اللي راح يرجع لك إياها فرحنا الHTTP code video request الأول فهون عم بقولك مثلا إذا كان الHTTP response أو status code 400

[06:44] راح يكون من الappliant side إنه مشكلة من جهة العميل فأنت ما بعت request بشكل جيد عندك مثلا الcode 429 راح يقولك إنك اتخطيت الليمت تبعك

[06:57] فانت عندك limit معين او حد معين من الطلبات اللي بتقدر تبعثها على هذا API راح نشوف limits تبعه الباينوس API بعد شوي هم بقولك error codes and messages اذا انت بعث request وبعثلك اي واحدة من هدول ال errors

[07:12] راح يكون response زي ما احنا شايفين هون عبارة عن dictionary response codes وعنا المسج سبب هاي المشكلة فهون مثلا اذا كان response code-1121 معناها invalid symbol

[07:25] رح يكون باعتلك المسج هاي مع response code API Binance status code status code codes

[07:40] او ممكن يكون 200 if the request ناجح رح يكون 200 طيب فيه نوعين من الريكوست او فيه نوعين من البيانات API تبع Binance وفر لك يعني فيه بيانات عامة انت لو دخلت على موقع Binance عادي ممكن يشوفها زي

[07:54] أسعار العملات، التاريخ تبع أسعار العملات، أحدث حركات التداول اللي صارت، الـ Volume وهكذا وفي معلومات خاصة بالمستخدم، خاصة فيك أنت يعني مثلاً حدد العملات اللي عندك، حزم محصصتك

[08:07] أي إشي خاص فيك، خاص في الأكوند تبعك، هيتعتبر معلومات خاصة عشان تقدر تاخد هاي المعلومات أو تضيف على هاي المعلومات لازم تستخدم الـ API Public Key و Secret Key فالمعلومات العامة عادي ممكن تاخدها بدون الـ API Keys

[08:22] المعلومات الخاصة فيك لازم تكون عم تستخدم ال API تطلب لكم شيء كريف كيس طبعا في طريقة عشان تقدر تستخدمهم لازم تبعتهم مع سيجمات شخص رح نتعرف عليها بعدين ان شاء الله وهون حطط لك معلومات على ال limit

[08:35] لو نزلنا لسحت شوي هون رح نلاقي ال limits اللي بسمحلك فيها فعندك هون 1200 request per minute يعني 1200 طلب بالدقيقة معادة ال post request فبيسمحلك تعمل 50 post request

[08:48] كل 10 ثواني او 160 request في يوم الواحد وفي معلومات تانية طبعا رح نرجع إلها إذا احتجناها فأنا بقولك API keys و section keys are case sensitive يعني إذا عندك في نص API key حرف capital

[09:02] لازم يظل capital إذا بعدت small ما رح يقدر يتعرف عليه طيب بهذا الفيديو رح نشرح ل public API endpoints اللي من خلالها بنقدر ناخد معلومات عامة أو معلومات متوفرة على الموقع مش معلومات سرية أو خاصة فيك

[09:16] في الفيديو الذي ان شاء الله رح نشوف كيف ناخد معلومات خاصة فيك من المعلومات العامة طبعا اي معلومات هون عم بقولك Wallet Endpoints هاي معلومات خاصة فيك مش معلومات Public وعندنا هون Sub-Account Endpoints كمان هاي معلومات خاصة فيك مش Public

[09:31] عندنا Market Data Endpoints هاي معلومات عامة هاي نقدم استخدمها بدون Secret Keys او API Keys طبعا Spot Accounts, Trade يعني اي هاي ال Endpoints كلها تستخدمها للتداول

[09:44] وكمان هاي راح تكون من نوع اللي بحتاج API Public وSecret Key فأنت عرف على الماركت داتا اند بوينت فهون مثلا معطيك هاي الاند بوينت لو استخدمت هاي الاند بوينت رح يجيك ريسكونس بهذا الشكل

[09:57] هاي عتام بس تختبر أو تعمل تست للكونكشن بينك وبين الAPI طيب خلينا نجهل الكود البايثون تبعنا عشان نبدأ نعمل API request أول شي بدك تعمله أنك تحط public و secret key بفايل منفصل

[10:11] هاي عتام تحافظ على سرية public و secret key سنقوم بعمل ونسميه مثلاً دوت بي. دعونا ننسخ ونحطهم هنا. نسيب هذا

[10:23] الفايل. خلصنا عن محتاج هدول. اول شي طبعاً ما نعمله انه نعمل لمكتبة وهون راح نقول له. دعونا نعرف متغير ونسميه اللي راح

[10:35] نحط فيه معلومات طبعاً راح يكون اللي خزنناهم. equals API dot s underscore key. هكش ما خزلنا في فايل وجبناهم لهون

[10:49] بعدين. طيب. خلينا هلا نعمل على نسكر هالتفصحة ونيجي لهون. طبعا في البداية كان كاتب لك لو رحنا على او كان كاتب لنا هون. هنا

[11:03] نعمل له نعمل له سيكود. راح نقول له equals. فنعلم كانت انصيف راح نعطيه. ولو جينا الماركت داتا اند بوينت راح ناخد هاي. استخدام هاي الاند بوينت نقدر نختبر

[11:20] او الاتصال بين برنامجنا والأي باي تبع راح نقول له هون. طبعا هون عم بقولك انك بدك تستخدم. فاحنا ما بنحتاجها. راح نحتاج من

[11:35] عند ال forward slash للاخير طيب وبالتالي راح يصير عندنا url equals بدنا نجمع او نعمل concatenation بين هذا ال string او ال base url وال end point راح نقول له base url

[11:47] slash end point خلينا نعمل get request راح نقول له r equals request dot get بانكوتين راح نعطيه url خلينا نطبع response

[11:59] طبعا عندنا response 200 فمعناها ال request تم بشكل سليم بس هون في ال API documentation قالك اذا الابتصال تمام رح يحطينا response عبارة عن dictionary فاضي فلو جينا هون قلنا له printr.json

[12:13] رجعنا شغلنا هذا الكود طبعينا json فاضي فبالتالي ال connection بين الكود تبعنا وال API تمام ال end point اللي بعدها عشان تشاهد على السيرفر تايم السيرفر تايم اللي هو ال Binance server time او الوقت اللي عليه السيرفر تبع Binance

[12:30] لو عملنا اقطاب الى هاي ال end point كمان هاي get method ما محتاج سلمة get رح ناخد ال end point ونشخن هون ونحطها هون ولينا نشوف شو رجلونس اللي المفروض يرجع لنا رح يرجع لنا جيسون فيها serve of time

[12:44] طبعا هاي عبارة عن time stamp لو شغلنا هذا الكود رح يطلع لنا جيسون فيها اول key serve of time وال value هي عبارة عن time stamp سوف نحول الـ timeStamp هذا لـ DateTimeObject

[12:58] سوف نقول له from DateTime import DateTime لدي فيديو كامل بطرح مكتبة الـ DateTime سوف أحط لك الفيديو جنب علامة I على الفيديو

[13:11] سوف نضع الـ r.json هنا في variable الحالة سوف نقول له json مثلا equals r.json سوف نقول له timeStamp equals json والkey serverTime

[13:24] هنا نعرف متغير server underscore time والله equals date time dot from timestamp لfrom timestamp هاي تقبل float server time هون او timestamp variable هون

[13:38] رح يكون عبارة عن string فلازم نحوله ل float لو تطلع timestamp هادا رح تلاقيه بالmillisecond فرح نقسمه على 1000 عشان ما اخذو بالsecond بعدين رح نحطه هون ك argument

[13:50] خلينا هلا نصبع server time ونشغل هادا الكود طبعا هنا بيت ثاني Object التاريخ 13.11.2021 وهذا وقت السيرف طيب عندنا هنا End Point فينها Exchange Information

[14:03] وهون شارح لك هاي ال End Point شو بتعطينا هلا Current Exchange Trading Rules and Simple Information وهذا ال response رح يكون بهذا الشكل هون فرح يعطينا في البداية Time Zone تبع السيرفر اللي هي UTC

[14:16] السيرفر Time اللي شفناه قبل شوية ال Reclimate رح يعطينا ال Exchange Filter وعندنا معلومات Simple السيمبل اللي هي العملات يعني مثلا الاثيريوم مقابل وهكذا وهون

[14:28] مثلا اذا هاي سيمبل تسمح لتعمل او او او او او او او او او او او او اذا هاي الاشياء مسموحة بعدها هي اللي لازم تستخدمها على هاي

[14:42] العملة لما تيجي لدى بستخدام البوت تبعات ولا وهكذا طيب طيب هننسخ لينبوينت هاي كمان رح نستخدم عليها أي شيء تسحبه من الموقع سيكون عبارة عن get request ونعمل لها paste هنا وما راح نحتاج هذا الكود فلين نمسحه

[15:01] print json get request endpoint json response

[15:14] قبل شوية. طيب. المعلومات هون صعبة رأيتها. احنا هيك تحتاج هنا. هون احنا عرفنا انها عبارة عن فيها اول كي

[15:26] تاني كي تاني وتالت كي وهكذا. فلنشوف لو نسخنا ونقل له print json وبدنا key rate limit. انا راجع نشغل الكود. عطانا

[15:38] هون معلومات rate limit. فعلك مسلا الليمت تبعت الف ومتان كلال دقيقة. لما تقول هون الف ومتان مش معناها الف ومتان request. كل request او كل end point لها وزن. فمثلا لو انت عملت request على end point

[15:52] الوزن تبعها واحد راح يضل عندك الف ومية وتسعة وتسعين او الليمت تبعك راح يصير الف ومية وتسعة وتسعين في هذهك الدقيقة. لو ازيتي نص الدقيقة وعملت ريكوست الوزن تباعها اثنين ما رح يضل

[16:05] معك الف ومية وتبنية وتسعين رح يضل معك الف ومية وسبعة وتسعين طبعا الوييت او الوزن تبع كل بيكون مكتوب هون فهون قال لك الوي

[16:17] تباع هذا هو عشرة. فإحنا لما عملنا على هاي راح من الليمت تبعنا اللي هو الالف ومتين خلال هذه الدقيقة عشرة. وظل عنا الف ومية وتسعين. طيب. خلينا ناخد. نرجعنا عالكود تبعنا.

[16:32] وناله بدل. اخذنا. لحظة ان السيمبولز عبارة عن. فيها كي واحد وعبارة عن. جوه هذا عندنا كل هدول. خلينا نطبع. لحظة هون

[16:48] انه طبع لنا معلومات. فعلت اول سيمبول. ستالت استباعة. كما يعني active شغالة. الbase asset اللي هي الاثيريوم. الbase asset. الاساس. الاساس. وهكذا. دعونا نشوف اللي بعدها اللي هو

[17:05] العردر بوك. يعطيك معلومات عن العردر بوك. دعونا نشوف شو هو العردر بوك. رح على في موقع بايونز. مثلا هاي الواجهة تبعين. تداول. لاحظ هون هذا هو اللي بالأخضر هون هاي عروض الشراء.

[17:19] الناس اللي بدها تشتري بيتكوين وهاي عروض البيع الناس اللي بدها تبيع بيتكوين اول واحد هون مسلا بده يبيع هاي الكمية من البيتكوين بهذا السعر وهون مجموعة طب احنا هون عم نتفرج على يعني

[17:34] البيتكوين مقابل او الدولار الرقمي وعندنا هون هذا اقل سعر اه حدا بده يبيع فيه هاي الكمية بهذا السعر اللي بيكون من تحت هون هو اقل سعر معروض للبيع وهون اعلى سعر معروض للشراء. هو هون

[17:50] حطط لنا تقريبا توقع خمستاشر عرض للشراء وهون تقريبا خمستاشر عرض للبيع بس اللي معروض حاليا اكثر من هيك. يعني مست في ناس بدها تشتري باسعار اقل. مش عرض لنا اياهم هون. بس منقدر نسحبهم عن

[18:03] طريق الايفي اي باستخدام هاي الاند فوند. عندك هون حطط لك الويك يشمد على كم عرض بيع وعرض شراء بدك اياه يبعتلك في الايفي اي فإذا بدك من خمسة إلى مية راح يحسب الوزن تبع هذا الوزن واحد. إذا

[18:19] بدك خمسمية راح يحسبه خمسة الوزن وهكذا. وهون هاي اللي لازم تبعتها مع الريكويت تبع. فبدو ياك تبعثه شو السيمبل او شو العملة اللي بدك ياها يا رب لك تبعها. وشو الليميت اللي شرفناه هون.

[18:33] خلينا نعمل لهاي الموجود. بنرجع على الكود تبعنا. بنعمل لها هون بدل اللي قبلها. خلينا نطبع قبل ما نطبع لو جينا على تبعنا هون

[18:45] شرح لنا اياه هون انه راح يبعتلنا فيها ثلاثة اول اللي هو اللي هو صار اخذ تحديث على اللي هم الناس اللي بدهم يشتروا والناس اللي

[18:58] بدهم يبيعوا. لو جينا على تبعنا قبعنا شغلنا هذا الكود. كيف نحط البراميت. انا نيجي هون ونقول له. ديكشنري. سنرجع للدكومنتيشن. براميترز اللي طالبها زي ما حكينا بهي السيمبول واللمت. احنا راح

[19:13] نقول له اللمت بدنا مية. راح نقول له هون سيمبول. سليها تكون بتكون مقابل الدولار الرقمي. واللمت بدنا اياها مثلا مية. وهون راح نعطيه والبرامي. نشغل هذا الكود. لاحظ هون عطانا فيها اول كيل

[19:32] اللي هي Lab of date ID البد والاف تحت هون. خلينا نطبع الاف والبد. راح نقول له. اك ايكول جيسون اك وبد ايكول جيسون بيت. خلينا نطبع لنا الاف والبد. خلينا نطبع لنا بينهم خط

[19:48] الصاضي عشان نقدم مميز او خط نشغل هذا الكود. لاحظ هون انه طبع لنا في البداية الاف اللي هو الناس اللي بدها تبيع. وهون البد اللي هي الناس اللي بدها تشتري. كل واحدة منهم هاي عبارة لس البد أو الأكس هي عبارة عن لس فيها لس كلس من اللي جوه هدول فيها

[20:05] معلومتين أول معلومة اللي هو السعر اللي بده يبيع عليه والكمية اللي بده يبيعها وهون نفس الاشي سعر اللي بده يشتري عليه والكمية اللي بده يشتريها ممكن تخذم هاي الداتا في Data Pandas Data Frame وتعمل

[20:18] عليها تحليل وتشوف مثلاً الله السوق ممكن يكون طالع اللي بدهم يشتروا أكثر من اللي بدهم يبيعوا أو كمية الشراء أكتر من وعندنا بنفس الطريقة كمان عشان تاخد يعني اخر عمليات بيع او شراء تمت.

[20:35] اللي بدو اياها منك هون. الليميت وقلك الماكسيموم. يعني اخر الف او خمسمية او در صاروا على المنص. وهون بتقدر تاخد وهكذا.

[20:48] وممكن تمر على هاي كلها وتسحب الباتا اللي بدك اياها منها. طبعا زي ما حكينا الماركت باتا اند بوينت هي انضرع عن باتا متوفر للجميع ما في داعي استخدام فيها الابي اي كيز تبقى هنا

[21:02] في اخر اند بوينت حابب اغطي الكايلين او الكندل ستيك باتا اللي ما بيعرفشو الكندل ستيك الكندل ستيك او الشمعة تمثل مدة زمنية فمثلا انا هون حاططها ون دي او ون دي فكل شمعة عندنا هون بتمثل يوم واحد

[21:16] الشمعة بتتقوم من اربع اقسام عندك الخط الرفيع اللي فوق الشمعة بيكون الخط الرفيع التحت الشمعة وحافة المسططيل حافة تحت وحافة فوق الشمعة السابرة بتكون شمعة قاعده والشمعة الحمراء بتكون شمعة نازلة

[21:31] مثلا عندك الشمعة الحمراء هاي الوكي اللي فوق أو الخط الرفيع اللي فوق هو اعلى سعر وصله البتكوين خلال هد اليوم والوكي اللي تحت اقل سعر وصله البتكوين خلال هدا اليوم هاي الآنها شمعة حمراء تاني السعر نازل فوه السعر فتح عند حافة المسططيل اللي

[21:48] وسكر عن حفظ المستطيل اللي تحت اذا كانت سماعه خضراء العكس بكون فتح عن حفظ المستطيل اللي تحت سكر عن حفظ المستطيل اللي فوق طبعا بالمستطيل اصلي البادي تبع الشمعة

[22:00] ممكن يكون خط ممكن يكون مرضع حسب الفوليوم في هذا اليوم على كل حال ال end point هاي راح ترجع لنا هاي المعلومات اللي هي open السعر اللي فتحت عليه الشمعة والhigh اعلى سعر وصلت له الشمعة

[22:12] ال low اقل سعر وصلت له الشمعة وال close السعر اللي فكرت عليه الشمعة راح نشوف ال response عنا هون ال Open Time امسة فتحت الشمعة الوقت اللي فتحت عليه الشمعة السعر اللي فتحت عليه الشمعة ال Open

[22:24] ال High أعلى سعر وصلت للشمعة ال Low أقل سعر وصلت للشمعة وال Close السعر اللي فتحت عليه الشمعة ال Volume كمية التداول اللي صارت في هديك الشمعة Close Time Barometers Tender State Data Interval data

[22:47] شمعة اليوم شمعة الساعة الstop time من انتر لدك اياه يبلش يبعتلك المعلومات هاي العملة او الcandlestick data تبع هاي العملة والend time لحد اي وقت بدك اياها يبعتلك سعر

[23:00] او معلومات هاي العملة والlimit هون عم بقولك if the stop time and end time of not sent the most recent K-lines are retained. طبعا لاحظ هون انه و و و حطت لك هون عند انهم مش ضروري تحطهم.

[23:16] المطلوبة هي و و اذا حابب تحدد وقت بداية الديتا و وقت النهاية ممكن تحط و ممكن تحط يعني كم شمعة بدك. اذا انت

[23:28] حطيت هون انه بدك شمعة اليوم. حطيت هنا مثلا. راح يبعت لك تابع اخر ميتيو. شغلة تانية بالانتربال هون. هتطلق لكيها. يعني بتكون ثوابت خاصة. لو مثلا نروحنا على.

[23:45] نزلنا لتحت شوي. راح نلاقي هاي معرفة هون. اللي هي. فقال لك. صار لمنوت. صار لاور. صار لديوز وهكذا. فانت اذا بدك

[23:58] دقيقة بتقول له ساعة واحد ساعة. طيب. نرجع على سبعتنا. اللي هي ده. خلينا ننسح. الفتاة. سبعة. هون رح تكون المطلوبة. رح نخلي

[24:16] السيمبول. ما رح نتفقده باللميت هلا. رح نقول له خليها وعندنا ونقل له

[24:30] سنة رح تكون خلينا ناخد باتا من شهر تسعة يوم ثلاثة عشر ساعة اثناش خفر دقيقة خفر ثانية

[24:43] بعدين رح نقول له لازم نحولها ل رح نقول له بيكون بالملي ساكند رح نضربها طبعا هون لازم نحولها الى integer قبل ما نضربها بالف

[24:56] والend time end underscore time كله equal ونقوله datetime.now بدنا يعيب بعتلنا الداتا من تاريخ 13 تفعى لليوم dot time time time 1000

[25:09] بعدها لازم نحولها الى integer وهم نقدر نقوله start time equal start time والvalue رح تكون start time اللي عملناه والend time رح يكون الend time variable اللي عملناه

[25:22] الURL اللي عندنا هون. رح تضغط البيت URL زائد الاند فون. الار رح يكون ريكوست. رح تكون. بينا نسمي هاي. نقول له. سلينا نطبع. نشغل هذا

[25:38] الكود. لعله هون لعله عطينا. هم لنفوض. بس انا شغل الكود. لاحظوا المفتوح هو عبارة عن. جوه هاي كل شمعة معبر عنها. رجعنا على

[25:51] API documentation. راح لاحظ فعلا انه response هو عبارة عن list وجوها list. راح لاحظ انه اول عنصر في list هو الopen time. عمينا بعدين open, high, low, close, volume, close time, close volume. وهكذا. طيب بما

[26:04] عمها list. نقدر نستخدم for loop. نعمل for kline in klines. وخلينا نحط البيتا هاي في بكشنري. اول value راح تكون الopen underscore time.

[26:17] والفاليو رح تكون K-Lines من عند 0 اللي هو اول value ثاني value رح تكون ال Open Open 5 ثاني والفاليو رح تكون K-Lines 1 ثالث value رح تكون ال High K-Lines 2 ثالث value رح تكون Low

[26:31] K-Lines 3 خامس value رح تكون ال Close K-Lines 4 وعندنا ال Volume K-Lines 5 وعندنا ال Close Time K-Lines 6 بعد ال Close Time في معلومات تانية

[26:44] ممكن تستفيد منها وممكن ما تستفيد منها احنا ابدائيا ما راح ناخدها. احنا هيك راح ناخد اول سبع من هاي الليس ونترك الباقي. طيب. بينا نخزن كل من هدول الدكشنري. فلازم نعرف. فالاول لازم نعمل.

[27:00] فراي نيجي هون ونعرف. نقول له. فان شاء الله نعمل دورة كاملة على. بانكسينها هون راح نقول له احنا عطيه باسمه طبعا لازم يكون نفس

[27:18] هون عشان نعرف نعمله راح نحتاج راح نمسح. كيو. كيو. بهاك نكون عرفنا اه تبعتنا. راح نيجي لهون نقول له بعد ما يكون كل بيكشنري. بنيار يضيف هذا على. ما عطانا اسم هون. بينا نسميه

[27:38] kline underscore info نقول له equals وهنا راح نقول له bx betabank kline underscore info لازم نقول له ignore index equals true بعدين هنخليه طبع لنا hide

[27:50] data frame ونشغل code أوه هنكون لازم نقول kline مش kline عندنا قولنا kline صار خطلنا كل list هو hide data frame نعمل نتعامل مع single kline هون لازم نشغل code نحن هون طبع لنا أول ثمت اه four من hide data

[28:04] واحد خمسة اكوف. ما طلع عنا التاملة في اعمدة بالنص هون اخفاها. عشان نخليه يظهر لنا التاملة. وهنا بحنقول له.

[28:18] وحنعرف على كل هاي الاشياء ان شاء الله بدورتين البيانات. . احنا هون باول سطر عم نقول له انه اضلي كل كل الامدة. وبهذا

[28:34] فطر هون عم بنقول له انه ياخد مقصات مكانه تباعها عنا عشان يعرف يطبع كاملة. وعندنا نشغلنا هذا الكود. طبعا هون طبع لنا كل العامدة. اذا حاببنا يطبع لنا كل الصفوف. ممكن نيجي لهون ونقول

[28:47] له. جاءنا نشغلنا هذا الكود. طبعا هون نطبع لي كل الافصول وكل العامدة. طيب. فكلنا نحول للاوبتين والكلوس تاين لدات تاين اوبجيكس. راح نيجي لهون نقول له دات تاين دوت فارم تاين ستاين.

[29:01] نقسم التايم التايم على الف لانه ايه بالمليثك نص الاشي هون رح نقول له دات تايم دوت فراند تايم ستام رح نقسم هاي على الف نرجع نشغل الكود اجي هون طبعا لنا دات تايم اللي هو من تلاتة عشر تسعة

[29:15] اللي احنا حصناها هون طيب احنا حصناه الساعة اثناش هون على توقيتي كانت على كانت الساعة خمانطعش اللي هي ستة فالتوقيتي اللي بيجيك من تبع منصة بيكون بعدها طبعا لنا

[29:29] open time , high , low , close , volume , close time اللي هي بعدها بيوم 14-9-7-17-59 دقيقة و 59 دقايق الاندكس هون بدأ من صفر و انتهى ب 61 هكي احنا عنا بداية ال 62 يوم

[29:45] طيب لو جينا هون و ما حطينا ب stop time و end time و حطينا limit 100 شغلناها بالكود راح يتبع لنا الدابة تبع آخر 100 يوم تكون انتهى فيديو اليوم. بالفيديو الجاي ان شاء الله راح نحكي عن اللي بتطلب لازم تعمل ايش يسموه? بحشوك كيف ممكن نعمل

[30:06] هادا كيف نتعامل مع هاي. اتمنى الفيديو يكون عجبك. لو عجبك الفيديو ياريت اعطينا لايك. تشترك بالقناة وتساعدنا على نشر محتوى القناة. السلام عليكم.

⚡ Saved you 0h 30m reading this? Transcribe any YouTube video for free — no signup needed.