binance

ساخت وبلاگ

Binance که در سال 2017 تأسیس شد ، یکی از بزرگترین مبادلات رمزنگاری از نظر حجم معاملات روزانه و علاقه باز دارایی های رمزنگاری و محصولات مشتق رمزنگاری است. این ادغام از داده های بازار زنده و اجرای سفارش با Binance پشتیبانی می کند.

این ادغام هنوز در دست ساخت است. در نظر بگیرید که در یک فاز بتا ناپایدار قرار گرفته و احتیاط کنید.

بررسی اجمالی ¶

مستندات زیر فرض می کند که یک معامله گر برای هر دو فید داده های بازار زنده و اجرای تجارت در حال تنظیم است. ادغام کامل Binance شامل مجموعه ای از مؤلفه ها است که بسته به نیاز کاربران می توانند با هم یا جداگانه مورد استفاده قرار گیرند.

  • binancehttpclient اتصال API سطح پایین HTTP را فراهم می کند
  • BinanceWebSocketClient اتصال API سطح پایین WebSocket را فراهم می کند
  • BinanceInstrumentProvider قابلیت تجزیه و بارگیری ابزار را فراهم می کند
  • binancespotdataclient / binancefuturesdataclient یک مدیر خوراک داده های بازار را ارائه می دهد
  • binancespotexectionclient / binancefuturesexectionclient یک دروازه مدیریت حساب و تجارت را ارائه دهید
  • کارخانه ایجاد BinancelivedatacLientFective برای مشتریان داده های Binance (توسط سازنده گره تجارت استفاده می شود)
  • کارخانه ایجاد BinanceliveExecclientFactory برای مشتریان اجرای Binance (توسط سازنده گره تجارت استفاده می شود)

بیشتر کاربران به سادگی پیکربندی را برای یک گره معاملاتی زنده تعریف می کنند (مانند زیر) ، و نیازی به لزوماً با این اجزای سطح پایین به صورت جداگانه کار نمی کند.

انواع داده ها

برای ارائه عملکرد کامل API به معامله گران ، ادغام شامل چندین نوع داده سفارشی است:

  • Binanceticker هنگام عضویت در Tickers Binance 24 ساعته بازگشت (شامل قیمت ها و آمار بسیاری است).
  • Binancebar هنگام درخواست تاریخی یا مشترک شدن در میله های Binance (حاوی اطلاعات حجم اضافی) بازگشت.
  • BinanceFuturesMarkPriceUpdate هنگام عضویت در Binance Futures به روزرسانی قیمت را نشان داد.

برای تعاریف کامل ، به مرجع API Binance مراجعه کنید.

همزیستی

مطابق با سیاست اتحاد Nautilus برای نمادها ، از نمادهای بومیان بومی در صورت امکان از جمله دارایی های نقطه ای و قراردادهای آتی استفاده می شود. با این حال ، از آنجا که Nautilustrader قادر به تجارت چند ساعته + چند حساب است ، لازم است که به طور صریح تفاوت بین BTCUSDT را به عنوان جفت معامله شده و حاشیه معامله کنید ، و قرارداد آتی دائمی BTCUSDT (این نماد برای هر دو به طور بومی استفاده می شود)بشربنابراین ، Nautilustrader به همه نمادهای دائمی بومی اضافه می کند. به عنوان مثال. برای آینده Binance ، نماد ابزارهای مذکور BTCUSDT-PERP در مرز سیستم Nautilus است.

انواع سفارش

بله (فقط در دسترس نیست)

بله (فقط در دسترس نیست)

توقف های دنباله دار

Binance از مفهوم قیمت فعال سازی برای توقف های دنباله استفاده کنید (به اسناد مراجعه کنید). برای به دست آوردن سفارشات توقف کار برای Binance ، برای تعیین قیمت فعال سازی باید از مقدار trigger_price استفاده کنیم.

برای ارسال با موفقیت در سفارشات trailing_stop_market ، باید موارد زیر را تعریف کنید:

  • یک trailing_offet_type را به طور پیش فرض یا پایه_ نقطه مشخص کنید
  • trailing_offset را در نقاط پایه (٪ * 100) به عنوان مثال مشخص کنید. برای نرخ پاسخ به 1 ٪ از 100 استفاده کنید

شما همچنین باید حداقل یکی از موارد زیر را داشته باشید:

  • trigger_price برای سفارش تنظیم شده است (این به عنوان فعال سازی binance_price عمل می کند)
  • شما مشترکاً برای نقل قول برای ابزاری که سفارش آن را ارسال می کنید (برای استنباط قیمت فعال سازی استفاده می شود) مشترک شده اید
  • شما در ابزاری که سفارش آن را ارسال می کنید ، در تجارت کنه مشترک شده اید (برای استنباط قیمت فعال سازی استفاده می شود)

پیکربندی

متداول ترین مورد استفاده پیکربندی یک تجارت زنده برای شامل داده های binance و مشتری های اجرای است. برای دستیابی به این هدف ، یک بخش Binance را به پیکربندی (های) مشتری خود اضافه کنید:

پیکربندی = TradingNodeConfig( . , # حذف شده داده های داده شده= "binance":  "کلید ای پی ای": "your_binance_api_key", "api_secret": "your_binance_api_secret", "نوع حساب": "نقطه", # "base_url_http": هیچ یک, # با نقطه پایانی سفارشی غلبه کنید "base_url_ws": هیچ یک, # با نقطه پایانی سفارشی غلبه کنید "ما": دروغ, # اگر مشتری برای ما است >, >, EXEC_CLIENTS= "binance":  "کلید ای پی ای": "your_binance_api_key", "api_secret": "your_binance_api_secret", "نوع حساب": "نقطه", # "base_url_http": هیچ یک, # با نقطه پایانی سفارشی غلبه کنید "base_url_ws": هیچ یک, # با نقطه پایانی سفارشی غلبه کنید "ما": دروغ, # اگر مشتری برای ما است >, >, ) 

سپس ، یک TradingNode ایجاد کنید و کارخانه های مشتری را اضافه کنید:

# گره تجارت زنده را با پیکربندی فوری کنید گره = تجارت(پیکربندی=پیکربندی) # کارخانه های مشتری را با گره ثبت کنید گره.add_data_client_factory("binance", BinanceLiveDataClientFactory) گره.add_exec_client_factory("binance", BinanceLiveExecClientFactory) # در نهایت گره را بسازید گره.ساختن() 

اعتبار API ¶

دو گزینه برای ارائه اعتبار شما به مشتریان Binance وجود دارد. یا مقادیر api_key و api_secret مربوطه را به اشیاء پیکربندی ارسال کنید یا متغیرهای محیطی زیر را تنظیم کنید:

برای کلاینت های بایننس Spot/Margin زنده، می توانید تنظیم کنید:

  • BINANCE_API_KEY
  • BINANCE_API_SECRET

برای کلاینت های بایننس Spot/Margin testnet، می توانید تنظیم کنید:

  • BINANCE_TESTNET_API_KEY
  • BINANCE_TESTNET_API_SECRET

برای مشتریان مستقیم Binance Futures، می توانید تنظیم کنید:

  • BINANCE_FUTURES_API_KEY
  • BINANCE_FUTURES_API_SECRET

برای مشتریان بایننس آتی تست نت، می توانید تنظیم کنید:

  • BINANCE_FUTURES_TESTNET_API_KEY
  • BINANCE_FUTURES_TESTNET_API_SECRET

هنگام راه اندازی گره معاملاتی، فوراً تأییدیه ای دریافت خواهید کرد که آیا اعتبارنامه های شما معتبر هستند و مجوزهای معاملاتی دارند یا خیر.

نوع حساب ¶

همه انواع حساب های بایننس برای معاملات زنده پشتیبانی می شوند. با استفاده از شماره BinanceAccountType، account_type را تنظیم کنید. گزینه های نوع حساب عبارتند از:

  • نقطه
  • MARGIN_CROSS (حاشیه مشترک بین موقعیت های باز.)
  • MARGIN_ISOLATED (حاشیه اختصاص داده شده به یک موقعیت.)
  • FUTURES_USDT (استیبل کوین های USDT یا BUSD به عنوان وثیقه)
  • FUTURES_COIN (سایر ارزهای دیجیتال به عنوان وثیقه)

نشانی وب پایه لغو می شود ¶

این امکان وجود دارد که URL های پایه پیش فرض را برای API های HTTP Rest و WebSocket لغو کنید. این برای پیکربندی کلاسترهای API به دلایل عملکرد یا زمانی که بایننس نقاط پایانی تخصصی را در اختیار شما قرار داده است مفید است.

Binance US ¶

با تنظیم گزینه us در تنظیمات روی True (به طور پیش فرض نادرست است) از حساب های بایننس ایالات متحده پشتیبانی می شود. تمام عملکردهای موجود در حساب های ایالات متحده باید مانند بایننس استاندارد عمل کند.

شبکه های آزمایشی ¶

همچنین می توان یک یا هر دو کلاینت را برای اتصال به شبکه آزمایشی Binance پیکربندی کرد. به سادگی گزینه testnet را روی True قرار دهید (به طور پیش فرض نادرست است):

پیکربندی = TradingNodeConfig( . , # حذف شده داده های داده شده= "binance":  "کلید ای پی ای": "YOUR_BINANCE_TESTNET_API_KEY", "api_secret": "YOUR_BINANCE_TESTNET_API_SECRET", "نوع حساب": "نقطه", # "testnet": درست است، واقعی, # اگر مشتری از شبکه آزمایشی استفاده می کند >, >, EXEC_CLIENTS= "binance":  "کلید ای پی ای": "YOUR_BINANCE_TESTNET_API_KEY", "api_secret": "YOUR_BINANCE_TESTNET_API_SECRET", "نوع حساب": "نقطه", # "testnet": درست است، واقعی, # اگر مشتری از شبکه آزمایشی استفاده می کند >, >, ) 

معاملات تجمیع شده ¶

بایننس نقاط پایانی داده های تجاری را به عنوان منبع جایگزینی برای تیک های تجاری ارائه می دهد. در مقایسه با نقاط پایانی پیش فرض تجارت، نقاط پایانی داده های تجاری انبوه می توانند همه تیک های بین start_time و end_time را برگردانند.

برای استفاده از معاملات انبوه و ویژگی های نقطه پایانی، گزینه use_agg_trade_ticks را روی True تنظیم کنید (به طور پیش فرض نادرست است.)

هشدارهای تجزیه کننده ¶

برخی از ابزارهای Binance نمی توانند در اشیاء Nautilus تجزیه شوند، اگر دارای مقادیر میدان عظیمی فراتر از آن چیزی باشند که پلتفرم می تواند آن را مدیریت کند. در این موارد، رویکرد هشدار و ادامه اتخاذ می شود (ابزار در دسترس نخواهد بود).

این اخطارها ممکن است باعث ایجاد نویز گزارش غیر ضروری شوند، بنابراین می توان ارائه دهنده را طوری پیکربندی کرد که هشدارها را ثبت نکند، طبق مثال پیکربندی مشتری در زیر:

ابزار_ارائه دهنده=InstrumentProviderConfig( load_all=درست است، واقعی, log_waings=دروغ, ) 

داده های خاص بایننس ¶

امکان اشتراک در جریان های داده خاص Binance وجود دارد، زیرا در طول زمان در دسترس آداپتور قرار می گیرند.

تیکرها و نوارها «ویژه بایننس» در نظر گرفته نمی شوند و می توان آنها را به روش عادی مشترک کرد. با این حال، از آنجایی که آداپتورهای بیشتری ساخته می شوند که به عنوان مثال نیاز به به روزرسانی قیمت و نرخ بودجه دارند، این روش ها ممکن است در نهایت درجه یک شوند (به اشتراک های سفارشی/عمومی مانند زیر نیاز ندارند).

BinanceFuturesMarkPriceUpdate ¶

می توانید با اشتراک به روش زیر از بازیگر یا استراتژی خود، در جریان داده های BinanceFuturesMarkPriceUpdate (شامل اطلاعات رتبه بندی بودجه) مشترک شوید:

# در روش «روی_شروع» شما خود.subscribe_data( نوع داده=نوع داده(BinanceFuturesMarkPrice Update, فراداده="instrument_id": خود.ابزار.id>), شناسه مشتری=شناسه مشتری("binance"), ) 

این باعث می شود که بازیگر/استراتژی شما این اشیاء دریافتی BinanceFuturesMarkPriceUpdate را به متد on_data شما منتقل کند. باید نوع را بررسی کنید، زیرا این روش به عنوان یک کنترل کننده انعطاف پذیر برای همه داده های سفارشی/عمومی عمل می کند.

دف on_data(خود, داده ها: داده ها): # ابتدا نوع داده را بررسی کنید if نمونه(داده ها, BinanceFuturesMarkPrice Update): # با داده ها کاری انجام دهید 
گزینه های باینری...
ما را در سایت گزینه های باینری دنبال می کنید

برچسب : نویسنده : سحر زکریا بازدید : 29 تاريخ : دوشنبه 13 شهريور 1402 ساعت: 19:21