BT CCXT Store

Overview

bt-ccxt-store-cn

backtrader是一个非常好的开源量化回测平台,我自己也时常用它,backtrader也能接入实盘,而bt-ccxt-store就是帮助backtrader接入数字货币实盘交易的一个插件,但是bt-ccxt-store的某些实现并不是很好,无节制的网络轮询,一些细节考虑也不是很周到,比如订单处理部分,像接入火币,OKEX等平台的时候也有问题. 所以这里对原项目进行了大量修改,方便使用. 原项目地址

You might also like...
this repo store a Awoesome telegram bot for protect from your large group from bot attack.

this repo store a Awoesome telegram bot for protect from your large group from bot attack.

AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.
AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.

AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.

 Discord E-Store Bot
Discord E-Store Bot

A delivery bot for Discord, works like Amazon where real users can pack & deliver orders in different servers!

BT CCXT Store

bt-ccxt-store-cn backtrader是一个非常好的开源量化回测平台,我自己也时常用它,backtrader也能接入实盘,而bt-ccxt-store就是帮助backtrader接入数字货币实盘交易的一个插件,但是bt-ccxt-store的某些实现并不是很好,无节制的网络轮询,一些

Aiohttp simple project with Swagger and ccxt integration

crypto_finder What Where Documentation http://localhost:8899/docs Maintainer nordzisko Crypto Finder aiohttp application Application that connects to

EZXT - A ccxt wrapped client for binance & ftx

EZXT Open source & beginner-friendly ccxt wrapped client for binance & ftx Want

pickleDB is an open source key-value store using Python's json module.

pickleDB pickleDB is lightweight, fast, and simple database based on the json module. And it's BSD licensed! pickleDB is Fun import pickledb

:snake: A simple library to fetch data from the iTunes Store API made for Python = 3.5

itunespy itunespy is a simple library to fetch data from the iTunes Store API made for Python 3.5 and beyond. Important: Since version 1.6 itunespy no

华为商城抢购手机的Python脚本 Python script of Huawei Store snapping up mobile phones
华为商城抢购手机的Python脚本 Python script of Huawei Store snapping up mobile phones

HUAWEI STORE GO 2021 说明 基于Python3+Selenium的华为商城抢购爬虫脚本,修改自近两年没更新的项目BUY-HW,为女神抢Nova 8(什么时候华为开始学小米玩饥饿营销了?) 原项目的登陆以及抢购部分已经不可用,本项目对原项目进行了改正以适应新华为商城,并增加一些功能

Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.

starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat

Store model history and view/revert changes from admin site.

django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D

keyring MITkeyring (🥉27 · ⭐ 630) - Store and access your passwords safely. MIT

The Python keyring library provides an easy way to access the system keyring service from python. It can be used in any application that needs safe pa

Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.

starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat

Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.

starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat

A wiki system with complex functionality for simple integration and a superb interface. Store your knowledge with style: Use django models.

django-wiki Django support The below table explains which Django versions are supported. Release Django Upgrade from 0.7.x 2.2, 3.0, 3.1 0.5 or 0.6 0.

A generic JSON document store with sharing and synchronisation capabilities.

Kinto Kinto is a minimalist JSON storage service with synchronisation and sharing abilities. Online documentation Tutorial Issue tracker Contributing

This is Telegram Files Store Bot by @AbirHasan2005

PyroFilesStoreBot This is Telegram Parmanent Files Store Bot by @AbirHasan2005. Language: Python3 Library: Pyrogram Features: In PM Just Forward or Se

Store model history and view/revert changes from admin site.

django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D

Telegram Bot to store Posts and Documents and it can Access by Special Links.

File-sharing-Bot Telegram Bot to store Posts and Documents and it can Access by Special Links. I Guess This Will Be Usefull For Many People..... 😇 .

Comments
  • 样例文件中报错,不知如何解决?

    样例文件中报错,不知如何解决?

    Buy_order 示例文件运行后报错如下:

    `HTTPError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\ccxt\base\exchange.py in fetch(self, url, method, headers, body) 658 self.logger.debug("%s %s, Response: %s %s %s", method, url, http_status_code, headers, http_response) --> 659 response.raise_for_status() 660

    C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py in raise_for_status(self) 952 if http_error_msg: --> 953 raise HTTPError(http_error_msg, response=self) 954

    HTTPError: 400 Client Error: Bad Request for url: https://api.binance.com/api/v3/order

    During handling of the above exception, another exception occurred:

    BadRequest Traceback (most recent call last) C:\Users\ADMINI~1\AppData\Local\Temp\2/ipykernel_5980/3713414783.py in 17 18 # Run the strategy ---> 19 cerebro.run()

    C:\ProgramData\Anaconda3\lib\site-packages\backtrader-1.9.76.123-py3.9.egg\backtrader\cerebro.py in run(self, **kwargs) 1125 # let's skip process "spawning" 1126 for iterstrat in iterstrats: -> 1127 runstrat = self.runstrategies(iterstrat) 1128 self.runstrats.append(runstrat) 1129 if self._dooptimize:

    C:\ProgramData\Anaconda3\lib\site-packages\backtrader-1.9.76.123-py3.9.egg\backtrader\cerebro.py in runstrategies(self, iterstrat, predata) 1296 self._runnext_old(runstrats) 1297 else: -> 1298 self._runnext(runstrats) 1299 1300 for strat in runstrats:

    C:\ProgramData\Anaconda3\lib\site-packages\backtrader-1.9.76.123-py3.9.egg\backtrader\cerebro.py in _runnext(self, runstrats) 1628 self._check_timers(runstrats, dt0, cheat=False) 1629 for strat in runstrats: -> 1630 strat._next() 1631 if self._event_stop: # stop if requested 1632 return

    C:\ProgramData\Anaconda3\lib\site-packages\backtrader-1.9.76.123-py3.9.egg\backtrader\strategy.py in _next(self) 345 346 def _next(self): --> 347 super(Strategy, self)._next() 348 349 minperstatus = self._getminperstatus()

    C:\ProgramData\Anaconda3\lib\site-packages\backtrader-1.9.76.123-py3.9.egg\backtrader\lineiterator.py in _next(self) 269 minperstatus = self._getminperstatus() 270 if minperstatus < 0: --> 271 self.next() 272 elif minperstatus == 0: 273 self.nextstart() # only called for the 1st value

    C:\Users\ADMINI~1\AppData\Local\Temp\2/ipykernel_5980/1888998214.py in next(self) 14 # size x price should be >10 USDT at a minimum at Binance 15 # make sure you use a price that is below the market price if you don't want to actually buy ---> 16 self.order = self.buy(size=10, exectype=Order.Limit, price=35000) 17 # And immediately cancel the buy order 18 self.cancel(self.order);

    C:\ProgramData\Anaconda3\lib\site-packages\backtrader-1.9.76.123-py3.9.egg\backtrader\strategy.py in buy(self, data, size, price, plimit, exectype, valid, tradeid, oco, trailamount, trailpercent, parent, transmit, **kwargs) 931 932 if size: --> 933 return self.broker.buy( 934 self, data, 935 size=abs(size), price=price, plimit=plimit,

    C:\ProgramData\Anaconda3\lib\site-packages\bt_ccxt_store-1.0-py3.9.egg\ccxtbt\ccxtbroker.py in buy(self, owner, data, size, price, plimit, exectype, valid, tradeid, oco, trailamount, trailpercent, **kwargs) 300 del kwargs['parent'] 301 del kwargs['transmit'] --> 302 return self._submit(owner, data, exectype, 'buy', size, price, kwargs) 303 304 def sell(self, owner, data, size, price=None, plimit=None,

    C:\ProgramData\Anaconda3\lib\site-packages\bt_ccxt_store-1.0-py3.9.egg\ccxtbt\ccxtbroker.py in _submit(self, owner, data, exectype, side, amount, price, params) 287 params = params['params'] if 'params' in params else params 288 params['created'] = created # Add timestamp of order creation for backtesting --> 289 ret_ord = self.store.create_order(symbol=data.p.dataname, order_type=order_type, side=side, amount=amount, price=price, params=params) 290 order = CCXTOrder(owner, data, exectype, side, amount, price, ret_ord) 291 self.open_orders.append(order)

    C:\ProgramData\Anaconda3\lib\site-packages\bt_ccxt_store-1.0-py3.9.egg\ccxtbt\ccxtstore.py in retry_method(self, *args, **kwargs) 138 time.sleep(self.exchange.rateLimit / 1000) 139 try: --> 140 return method(self, *args, **kwargs) 141 except (NetworkError, ExchangeError): 142 if i == self.retries - 1:

    C:\ProgramData\Anaconda3\lib\site-packages\bt_ccxt_store-1.0-py3.9.egg\ccxtbt\ccxtstore.py in create_order(self, symbol, order_type, side, amount, price, params) 166 def create_order(self, symbol, order_type, side, amount, price, params): 167 # returns the order --> 168 return self.exchange.create_order(symbol=symbol, type=order_type, side=side, 169 amount=amount, price=price, params=params) 170

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\binance.py in create_order(self, symbol, type, side, amount, price, params) 2722 params = self.omit(params, 'stopPrice') 2723 request['stopPrice'] = self.price_to_precision(symbol, stopPrice) -> 2724 response = getattr(self, method)(self.extend(request, params)) 2725 return self.parse_order(response, market) 2726

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\base\exchange.py in inner(_self, params, context) 499 if context is not None: 500 inner_kwargs['context'] = params --> 501 return entry(_self, **inner_kwargs) 502 return inner 503 to_bind = partialer()

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\binance.py in request(self, path, api, method, params, headers, body, config, context) 4953 4954 def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}, context={}): -> 4955 response = self.fetch2(path, api, method, params, headers, body, config, context) 4956 # a workaround for {"code":-2015,"msg":"Invalid API-key, IP, or permissions for action."} 4957 if (api == 'private') or (api == 'wapi'):

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\base\exchange.py in fetch2(self, path, api, method, params, headers, body, config, context) 546 self.lastRestRequestTimestamp = self.milliseconds() 547 request = self.sign(path, api, method, params, headers, body) --> 548 return self.fetch(request['url'], request['method'], request['headers'], request['body']) 549 550 def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}, context={}):

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\base\exchange.py in fetch(self, url, method, headers, body) 673 except HTTPError as e: 674 details = ' '.join([self.id, method, url]) --> 675 skip_further_error_handling = self.handle_errors(http_status_code, http_status_text, url, method, headers, http_response, json_response, request_headers, request_body) 676 if not skip_further_error_handling: 677 self.handle_http_status_code(http_status_code, http_status_text, url, method, http_response)

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\binance.py in handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody) 4931 return True 4932 feedback = self.id + ' ' + body -> 4933 self.throw_exactly_matched_exception(self.exceptions['exact'], error, feedback) 4934 raise ExchangeError(feedback) 4935 if not success:

    C:\ProgramData\Anaconda3\lib\site-packages\ccxt\base\exchange.py in throw_exactly_matched_exception(self, exact, string, message) 564 def throw_exactly_matched_exception(self, exact, string, message): 565 if string in exact: --> 566 raise exactstring 567 568 def throw_broadly_matched_exception(self, broad, string, message):

    BadRequest: binance {"code":-1104,"msg":"Not all sent parameters were read; read '11' parameter(s) but was sent '12'."}

    `

    opened by chuzheng88 5
Owner
moses
Stay hungry, Stay foolish
moses
EZXT - A ccxt wrapped client for binance & ftx

EZXT Open source & beginner-friendly ccxt wrapped client for binance & ftx Want

Shaft 10 Oct 25, 2022
:snake: A simple library to fetch data from the iTunes Store API made for Python >= 3.5

itunespy itunespy is a simple library to fetch data from the iTunes Store API made for Python 3.5 and beyond. Important: Since version 1.6 itunespy no

Fran González 56 Dec 22, 2022
This is Telegram Files Store Bot by @AbirHasan2005

PyroFilesStoreBot This is Telegram Parmanent Files Store Bot by @AbirHasan2005. Language: Python3 Library: Pyrogram Features: In PM Just Forward or Se

Abir Hasan 168 Dec 19, 2022
Telegram Bot to store Posts and Documents and it can Access by Special Links.

File-sharing-Bot Telegram Bot to store Posts and Documents and it can Access by Special Links. I Guess This Will Be Usefull For Many People..... ?? .

Code X Botz 1.2k Jan 8, 2023
A play store search telegram bot

Play-Store-Bot A play store search telegram bot Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License -> https://github.c

Fayas Noushad 17 Oct 28, 2022
Monitor robot of Apple Store's products, using DingTalk notification.

概述 本项目应用主要用来监测Apple Store线下直营店货源情况,主要使用Python实现。 首先感谢iPhone-Pickup-Monitor项目带来的灵感,同时有些实现也直接使用了该项目的一些代码。 本项目在iPhone-Pickup-Monitor原有功能的基础上去掉了声音通知,但添加了多

Lennon Chin 159 Dec 9, 2022
trackbranch is a tool for developers that can be used to store collections of branches in the form of profiles.

trackbranch trackbranch is a tool for developers that can be used to store collections of branches in the form of profiles. This can be useful for sit

Kevin Morris 1 Oct 21, 2021
File-sharing-Bot: Telegram Bot to store Posts and Documents and it can Access by Special Links.

File-sharing-Bot Telegram Bot to store Posts and Documents and it can Access by Special Links. I Guess This Will Be Usefull For Many People..... ?? .

null 1 Dec 17, 2021
Telegram Bot to store Posts and Documents and it can Access by Special Links.

Telegram Bot to store Posts and Documents and it can Access by Special Links. I Guess This Will Be Usefull For Many People..... ?? . Features Fully cu

REX BOTZ 1 Dec 23, 2021
Discord bot that shows valorant your daily store by using the Ingame API

Valorant store checker - Discord Bot Discord bot that shows valorant your daily store by using the Ingame API. written using Python and the Pycord lib

STACIA 226 Jan 2, 2023