وضعیت نشان دهنده پر کردن جزئی است. من نمی دانم که آیا راهی برای مشخص کردن سفارش خرید من وجود دارد به گونه ای که کاملاً پر شود یا اصلاً. من چیزی را که در اسناد آنها مشخص شده است نمی بینم اما کمی پراکنده هستند.
دنبال کردن از 24 آوریل 2022 در 19:38 پرسید دیو دیو 14. 8K 127 127 نشان های طلا 425 425 نشان نقره 792 792 نشان های برنز
2 پاسخ 2
مرتب شده توسط: تنظیم مجدد به طور پیش فرض
به نظر می رسد یک دستور پر کردن جزئی یک مشکل رایج است که در مورد Reddit مورد بحث قرار گرفته است.
موارد زیر از مستندات API مربوط به Order_Limit_Buy است که شما اجرا می کنید.
ارسال یک سفارش جدید خرید
هرگونه سفارش با کوه یخ باید دارای TimeInforce در GTC باشد.
مولفه های:
- نماد (STR) - لازم است
- مقدار (اعشاری) - لازم است
- قیمت (str) - لازم است
- TimeInforce (STR) - پیش فرض خوب تا لغو
- NewClientOrderId (STR) - یک شناسه منحصر به فرد برای سفارش. در صورت عدم ارسال خودکار به طور خودکار تولید می شود.
- StopPrice (اعشاری) - با سفارشات توقف استفاده می شود
- Icebergqty (اعشاری) - با سفارشات کوه یخ استفاده می شود
- NewOrderResptype (STR) - پاسخ JSON را تنظیم کنید. ack ، نتیجه ، یا کامل ؛پیش فرض: نتیجه.
- recvwindow (int) - تعداد میلی ثانیه ای که درخواست برای آن معتبر است
بازگشت:پاسخ API
برای گزینه های پاسخ کامل به نقطه پایانی سفارش مراجعه کنید
افزایش:
- binancerequestexception
- Binanceapiexception
- binanceorderexception
- binanceorderminamountexception
- BinanceOrderMinPriceException
- BinanceOrderMintotalException
- binanceorderunknownsymbolexception
- binanceorderinactivesymbolexception
در زیر کد منبع برای عملکرد Order_Limit_Buy آورده شده است
def order_limit_buy (خود ، timeinforce = baseclient. tim_in_force_gtc ، ** پارامترها): "" "ارسال در حد جدید سفارش خرید هر سفارش با یک کوه یخ باید دارای تنظیم TimeInforce بر روی GTC باشد: نماد پارام: نوع نماد: STR: PARAM: PARAMمقدار مورد نیاز: نوع نوع: اعشاری: پارامتر قیمت: مورد نیاز: نوع قیمت: Str: Param TimeInforce: پیش فرض خوب تا لغو: نوع TimeInforce: STR: Param NewClientOrderid: یک شناسه منحصر به فرد برای سفارش. NewClientOrderId: Str: Param StopPrice: استفاده شده با سفارشات توقف: نوع StopPrice: Decimal: Param Icebergqty: مورد استفاده با سفارشات Iceberg: نوع Icebergqty: Decimal: Param NewOrderResptype: پاسخ JSON. ACK ، نتیجه ، نتیجه یا پیش فرض: نتیجه:نوع NewOrderResptype: Str: Param recvwindow: تعداد میلی ثانیه درخواست برای: نوع recvwindow: int: بازده: پاسخ API به دستور پایان داده ها برای گزینه های پاسخ کامل: BinanceRequestexception ، binanceapiexception ، binansorderexction ، binanceorderminordricexrance ، binanceordermountexcepriceexpricexrice ، نماد مفهوم، binanceorderinactivesymbolexception "" "params. update (<'side': self.SIDE_BUY,>) Retu Self. order_limit (TimeInforce = TimeInforce ، ** Params)
نه پارامترهای API یا عملکرد Python order_limit_buy ، چگونگی جلوگیری از مسئله سفارش جزئی را روشن نمی کنند.
در اینجا سفارش خرید شماست:
سفارش = self. _get_auth_client (حساب) . ORDER_LIMIT_BUY (نماد = فرمت_ نام ، مقدار = مقدار ، قیمت = fiat_price)
سفارش شما دارای 3 پارامتر مورد نیاز است که در مستندات API بیان شده است:
- نماد (STR) - لازم است
- مقدار (اعشاری) - لازم است
- قیمت (str) - لازم است
من مقاله را پیدا کردم که دستور توقف محدود چیست؟در وب سایت آکادمی Binance. مقاله این بیانیه را داشت:
اگر نگران سفارشات خود هستید که فقط تا حدی پر شده است ، استفاده از Fill یا Kill را در نظر بگیرید.
براساس این بیانیه ، من شروع به جستجوی مستندات API و کد منبع برای نحوه تنظیم سفارش پر یا کشتن کردم.
من خاطرنشان کردم که عملکرد Python ord_limit_buy دارای این پارامتر است:
: Param TimeInforce: پیش فرض خوب تا لغو: نوع TimeInforce: STR
مقدار پیش فرض تا زمان لغو یا GTC خوب است.
با نگاهی به کد منبع API دریافتم که پارامتر TimeInforce دارای 3 مقدار ممکن است:
TIME_IN_FORCE_GTC = 'GTC' # خوب تا زمان لغو Time_in_force_ioc = 'ioc' # فوری یا لغو Time_in_force_fok = 'FOK' # پر یا کشتن
توجه داشته باشید Time_in_force_fok یا FOK.
زمان لازم (TimeInforce):
این تعیین می کند که چه مدت یک سفارش قبل از انقضا فعال خواهد بود.
درخواست خرید شما باید هنگام استفاده از پارامتر TimeInforce با مقدار FOK به این شکل باشد:
ترتیب = self. _get_auth_client (حساب) . ORDER_LIMIT_BUY (نماد = فرمت_ نام ، مقدار = مقدار ، قیمت = fiat_price ، timeinforce = 'fok')
من یک حساب Binance TestNet ایجاد کردم و کد زیر را به عنوان یک آزمون تهیه کردم. من قیمت هدف خود را در 2687. 00 برای خرید EthusDT تعیین کردم. من از یک حلقه استفاده کردم تا خرید محدود خود را قرار دهم و بررسی کنم که آیا پر شده است یا خیر.
از binance. Client Import Client API_KEY = 'Key My' API_SECRET = 'Secret My Secret' Client = Client (API_KEY ، API_SECRET ، TESTNET = TRUE) ORDER_STATUS = TRUE: TRUE: limit_order = client. order_limit_buy (Symbol = "EthusDT" ، کمیت = =0. 01 ، قیمت = '2687. 00' ، timeinforce = 'fok') ticker = client. get_ticker (نماد = "EthusDT") چاپ (f "قیمت فعلی:") چاپ (limit_order) _status = limit_order. get ('وضعیت')_status == 'پر شده': order_status = چاپ کاذب (سفارش_ستاتوس) شکستن elif _status == 'منقضی شده': order_status = true
خروجی از کد فوق در زیر آمده است:
توجه: این قطعه خروجی است ، زیرا حلقه تا زمانی که سفارش خرید ایجاد شود اجرا می شود.
Current Price: 2687.33000000 Current Price: 2687.33000000 Current Price: 2687.33000000 Current Price: 2687.33000000 Current Price: 2687.06000000 Current Price: 2686.87000000 ]>حلقه # کاذب بسته شد
حساب اسلامي...
ما را در سایت حساب اسلامي دنبال می کنید
برچسب : نویسنده : کامران فیوضات بازدید : 29 تاريخ : دوشنبه 23 مرداد 1402 ساعت: 14:55