بيانات دفتر أوامر تبادل التشفير CCXT [مثال تعليمي]

>

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

لماذا كتاب الطلب مهم?

يحدد دفتر الطلبات جميع الطلبات المتاحة المفتوحة حاليًا في البورصة. يمثل كل طلب شخصًا (أو عدة أشخاص) يتطلع إلى شراء أو بيع أصل بالسعر المحدد.

عند التداول ، يمكنك إما وضع أمر مفتوح خاص بك في البورصة ليقوم به شخص آخر ، أو يمكنك الحصول على أمر متاح في البورصة. أيًا كانت الإستراتيجية التي تستخدمها ، من المهم أن يكون لديك المعلومات اللازمة لاتخاذ هذا القرار.

كيف يمكننا الوصول إلى دفتر أوامر البورصة?

تتمثل إحدى طرق الوصول إلى دفتر الطلبات من البورصة في طلب هذه المعلومات مباشرةً من البورصة. يمكنك القيام بذلك باستخدام CCXT باتباع هذه الأمثلة.

مثال CCXT – زوج فردي

سيطلب مثالنا الأول دفتر الطلبات الحالي لزوج تداول BTC / USDT في بورصة Binance. عند استخدام مكتبة CCXT ، من الممكن فقط الوصول إلى زوج تداول واحد في كل مرة. هذا يعني أننا لن نكون قادرين على جلب دفتر الطلبات بالكامل عبر كل زوج تداول ، ولكننا بحاجة إلى سحب دفتر الطلبات بشكل منهجي لكل زوج على حدة.

قم بتثبيت CCXT

قبل أن نبدأ ، دعنا نثبت مكتبة CCXT python.

نقطة تثبيت ccxt

مثال


بمجرد التثبيت ، نحن مستعدون لكتابة أول نص برمجي للبيثون لدينا والذي سيصل إلى بيانات دفتر أوامر BTC / USDT على Binance.

استيراد ccxt

# استرداد البيانات لزوج BTC / USDT على Binance

binance = ccxt.binance ()

orderbook = binance.fetch_order_book (“BTC / USDT”)

نتائج

سيعيد الطلب أوامر العرض والطلب المتوفرة حاليًا في البورصة لزوج تداول BTC / USDT.

العنصر الأول في كل طلب هو سعر الأمر من حيث عملة التسعير (في هذه الحالة USDT). العنصر الثاني في الأمر هو كمية الأمر في البورصة من حيث العملة الأساسية (في هذه الحالة BTC).

{

“العطاءات”: [

[8724.77 ، 0.149594], [8724.11، 2.537818], [8724.08 ، 0.030605],

],

‘يطلب’: [

[8725.61، 0.055265], [8725.7، 0.028131], [8725.81 ، 0.116984],

]

}

مثال CCXT – الأزواج المجمعة

الآن وقد غطينا كيفية الوصول إلى دفتر الطلبات لزوج تداول واحد باستخدام CCXT ، نريد توسيع نهجنا في جمع بيانات دفتر الطلبات لكل زوج تداول في البورصة.

لسوء الحظ ، يعد جمع هذه الكمية من البيانات أمرًا صعبًا بعض الشيء بالنسبة لـ CCXT. يجب طلب بيانات كل زوج في السوق على أساس فردي من Binance. قد يستغرق إرسال كل هذه الطلبات ما يصل إلى 5 دقائق أو أكثر نظرًا لأن Binance لديها حدود للمعدل لمدى سرعة الوصول إلى البيانات.

استيراد ccxt

binance = ccxt.binance ()

aggregated_orderbook_data = []

# احصل على الأسواق المتاحة لـ Binance

binance_markets = binance.load_markets ()

# إحضار دفاتر الطلبات لكل أصل على Binance

# سيستغرق جلب جميع دفاتر الطلبات هذه 5 دقائق

للزوج في binance_markets:

pair_orderbook = binance.fetch_order_book (زوج)

pair_orderbook [‘رمز’] = زوج

تجميع_ترتيب_البيانات_لحق (pair_orderbook)

نتائج

كل طلب نرسله سيعيد العطاء ويطلب بيانات السوق العميقة لزوج التداول الفردي. لتوفير طريقة ملائمة للتعرف على طلبات الكتب ، فقد تقدمنا ​​وأضفنا مفتاحًا في كل عنصر من عناصر دفتر الطلبات لتضمين الرمز. بهذه الطريقة لا نفقد تتبع البيانات التي تنتمي إلى زوج السوق.

ستؤدي نتيجة رمز المثال أعلاه إلى إرجاع أوامر العرض والطلب المجمعة لكل زوج تداول متاح في البورصة.

[{

“الرمز”: “BTC / USD”,

“العطاءات”: [

[8724.77 ، 0.149594], [8724.11، 2.537818], [8724.08 ، 0.030605],

],

‘يطلب’: [

[8725.61، 0.055265], [8725.7، 0.028131], [8725.81 ، 0.116984],

]

} ، {

“الرمز”: “LTC / BTC”,

“العطاءات”: [

[8724.77 ، 0.149594], [8724.11، 2.537818], [8724.08 ، 0.030605],

],

‘يطلب’: [

[8725.61، 0.055265], [8725.7، 0.028131], [8725.81 ، 0.116984],

]

}]

ملاحظة: توخ الحذر عند الوصول إلى بيانات زائدة من التبادل. يمكن أن يؤدي الطلب المستمر لبيانات دفتر الطلبات إلى إعاقة خدمة التداول الخاصة بك لأنه سيحد من عدد الطلبات التي يمكنك إجراؤها لأداء إجراءات أخرى في البورصة.

مثال شريمبي – زوج فردي

نظرًا للقيود المفروضة على CCXT ، طور فريقنا بديلًا احترافيًا. لا تقيد واجهات برمجة تطبيقات Shrimpy الوصول إلى البيانات مثل CCXT. يوضح المثال التالي كيف يمكنك الوصول إلى دفتر الطلبات لأصل واحد باستخدام واجهات برمجة تطبيقات Shrimpy Developer.

ملاحظة: لإنهاء هذه الأمثلة ، يرجى التسجيل للحصول على حساب مجاني مع شريمبي كريبتو داتا & واجهات برمجة تطبيقات التداول. بمجرد تسجيل الدخول إلى حساب Shrimpy الخاص بك ، قم بإنشاء مفاتيح API جديدة عن طريق تحديد خيار “إنشاء مفتاح Api Master”. سيتم استخدام هذه المفاتيح في البرامج النصية التالية.

تثبيت شرمبي

قبل الانتقال إلى مثال Shrimpy ، فلنبدأ بتثبيت مكتبة Shrimpy Python.

نقطة تثبيت shrimpy-python

مثال

الآن وبعد تثبيت المكتبة ، يمكننا كتابة نصنا الأول.

استيراد الجمبري

# قم بتعيين مفاتيح Shrimpy Master العامة والسرية

# اشترك مجانًا على https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

العميل = shrimpy.ShrimpyApiClient (public_key، secret_key)

orderbooks = client.get_orderbooks (

‘bittrex’ ، # صرف

“XLM” ، رمز # أساسي

“BTC” ، # quote_symbol

100 # حد لمقدار العمق الذي سيتم إرجاعه على كل جانب (محاولة & يطلب)

)

عائدات

تعيد واجهات برمجة تطبيقات Shrimpy قائمة منظمة جيدًا لبيانات دفتر الطلبات والتي تتضمن الرمز الأساسي ورمز الاقتباس والتبادل وكل من الطلبات المتاحة في البورصة التي تم تمييزها بدقة.

[{

"القاعدة": "XLM",

"اقتباس": "BTC",

"كتب الطلب": [{

"تبادل": "بيتركس",

"سجل الطلبيات": {

"يطلب": [

{

"السعر": "0.00002585",

"كمية": "1891.1316431" },

{

"السعر": "0.00002594",

"كمية": "35200" },

],

"العطاءات": [

{

"السعر": "0.00002577",

"كمية": "774.92250177" },

{

"السعر": "0.00002576",

"كمية": "3509.07031022" },

]

}

}]

}]

مثال Shrimpy – أزواج مجمعة

الآن ، Shrimpy يتألق حقًا عندما يتعلق الأمر بتجميع البيانات عبر أزواج الأصول أو حتى التبادلات. سوف تسلط الأمثلة التالية الضوء على بعض حالات الاستخدام هذه.

استرجع دفتر الطلبات لكل زوج على Bittrex.

استيراد الجمبري

# قم بتعيين مفاتيح Shrimpy Master العامة والسرية

# اشترك مجانًا على https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

العميل = shrimpy.ShrimpyApiClient (public_key، secret_key)

orderbooks = client.get_orderbooks (

‘bittrex’ # الصرف

)

يمكنك أن ترى بسرعة كيف أن الاختلاف بين هذا المثال الأخير ومثال Shrimpy السابق ، والذي طلب البيانات فقط لزوج تداول واحد ، هو نفسه بشكل أساسي. كل ما فعلناه هو إزالة مدخلات عملة التسعير والعملة الأساسية والحد. بقي كل شيء آخر كما هو تمامًا واسترد جميع البيانات التي نحتاجها في طلب واحد.

هذا يمنعنا من قضاء 5 دقائق في جمع البيانات لكل زوج تداول على حدة.

استمرارًا لمثالنا الأخير ، لا يزال هناك المزيد من الطرق التي يمكننا من خلالها تكوين البيانات التي نجمعها من واجهات برمجة تطبيقات Shrimpy.

في معظم الأوقات ، نحتاج فقط إلى مجموعة فرعية من دفاتر الطلبات المتاحة في البورصة. نتيجة لذلك ، قد نرغب في معرفة جميع العملات الأساسية أو عملات التسعير التي ترتبط بأصل معين. في هذه الحالات ، يمكننا طلب بيانات لجميع الأزواج المتصلة بعملة أساسية أو عملة عرض أسعار معينة.

قم بالوصول إلى دفتر الطلبات لكل زوج على Bittrex والذي يستخدم BTC كعملة تسعير.

استيراد الجمبري

# قم بتعيين مفاتيح Shrimpy Master العامة والسرية

# اشترك مجانًا على https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

العميل = shrimpy.ShrimpyApiClient (public_key، secret_key)

orderbooks = client.get_orderbooks (

‘bittrex’ ، # صرف

لا شيء ، عملة أساسية واحدة

عملة التسعير “BTC” #

)

لاحظ كيف نحدد “لا شيء” للعملة الأساسية. هذا يعني أننا سوف نسترجع دفاتر الطلبات لجميع أزواج التداول التي لها عملة عرض أسعار “BTC”.

أخيرًا ، Shrimpy لا يتم احتواؤه في بورصة واحدة فقط. بل من الممكن طلب البيانات عبر البورصات. يمكن القيام بذلك عن طريق طلب أزواج تداول عبر بورصات متعددة في الطلب.

طلب مثال يسحب البيانات عبر التبادلات في طلب واحد.

احصل على https://dev-api.shrimpy.io/v1/orderbooks؟exchange=bittrex،binance،kucoin&baseSymbol = XLM&quoteSymbol = بيتكوين&الحد = 10

لاحظ كيف نحدد تبادلات متعددة. ستعيد نتيجة هذا الاستعلام دفتر الطلبات الخاص بزوج تداول XLM / BTC في كل من البورصات الثلاثة المحددة.

عائدات

التنسيق الذي نحصل عليه ثابت سواء طلبنا بيانات دفتر الطلبات لزوج تداول واحد أو أزواج متعددة عبر البورصات.

[{

"القاعدة": "XLM",

"اقتباس": "BTC",

"كتب الطلب": [{

"تبادل": "بيتركس",

"سجل الطلبيات": {

"يطلب": [

{

"السعر": "0.00002585",

"كمية": "1891.1316431" },

{

"السعر": "0.00002594",

"كمية": "35200" },

],

"العطاءات": [

{

"السعر": "0.00002577",

"كمية": "774.92250177" },

{

"السعر": "0.00002576",

"كمية": "3509.07031022" },

]

}

}]

} ، {

"القاعدة": "XRP",

"اقتباس": "BTC",

"كتب الطلب": [{

"تبادل": "بيتركس",

"سجل الطلبيات": {

"يطلب": [

{

"السعر": "0.00001485",

"كمية": "2891.1316431" },

{

"السعر": "0.00001494",

"كمية": "45200" },

],

"العطاءات": [

{

"السعر": "0.00001477",

"كمية": "874.92250177" },

{

"السعر": "0.00001476",

"كمية": "4509.07031022" },

]

}

}]

},

]

ملاحظة: يتطلب Shrimpy طلبًا واحدًا فقط للوصول الفوري إلى بيانات دفتر الطلبات عبر كل بورصة رئيسية. هذا يقلل من عدد الطلبات التي تحتاج إلى إرسالها إلى البورصات ويمكن أن يحسن بشكل كبير وصولك إلى البيانات.

جرب ال شرمبي للتجارة & واجهات برمجة التطبيقات للبيانات اليوم. إنها أسهل طريقة للبدء في جمع البيانات عبر كل تبادل رئيسي. اجمع بيانات السوق التاريخية ، وادخل إلى شبكات الويب في الوقت الفعلي ، وقم بتنفيذ استراتيجيات تداول متقدمة ، وقم بإدارة عدد غير محدود من المستخدمين.

لا تنسى متابعتنا تويتر و موقع التواصل الاجتماعي الفيسبوك للحصول على التحديثات ، وطرح أي أسئلة على مجتمعنا المذهل والنشط على برقية.

فريق شرمبي

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map