All Projects → nellore → vickitrix

nellore / vickitrix

Licence: MIT License
Trigger crypto trades on GDAX with the Twitter stream

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to vickitrix

gdax bot
gdax_bot - Micro dollar cost averaging for crypto
Stars: ✭ 57 (+90%)
Mutual labels:  crypto, btc, gdax, eth
HTML-Crypto-Currency-Chart-Snippets
💹 Simple HTML Snippets to create Tickers / Charts of Cryptocurrencies with the TradingView API 💹
Stars: ✭ 89 (+196.67%)
Mutual labels:  crypto, btc, eth
Optimal Buy Cbpro
Scheduled buying of BTC, ETH, and LTC from Coinbase Pro, optimally!
Stars: ✭ 288 (+860%)
Mutual labels:  btc, gdax, eth
Cbpro Trader
Automated cryptocurrency trading on Coinbase Pro (formerly gdax-trader)
Stars: ✭ 171 (+470%)
Mutual labels:  btc, gdax, eth
Open Crypto Tracker
Bitcoin / Alts private portfolio tracker, with email / text / alexa / telegram price alerts, charts, leverage support and much more.
Stars: ✭ 59 (+96.67%)
Mutual labels:  crypto, btc, eth
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+74903.33%)
Mutual labels:  crypto, btc, eth
Ccxt Rest
Open Source Unified REST API of 100+ Crypto Exchange Sites (18k+ docker pulls) - https://ccxt-rest.io/
Stars: ✭ 210 (+600%)
Mutual labels:  crypto, btc, eth
Wallet3
A secure mobile wallet for web3
Stars: ✭ 13 (-56.67%)
Mutual labels:  crypto, eth
coinmarketcap-icons-cryptos
Repository of all crypto icons, and allows you to download all images of icons of crypto currencies listed on the coinmarketcap site 9129 icons
Stars: ✭ 17 (-43.33%)
Mutual labels:  btc, eth
coinget
**deprecated API (no longer works)** The fastest cli 💻 price checker for cryptocurrencies📈
Stars: ✭ 27 (-10%)
Mutual labels:  crypto, btc
bybit-api
Node.js connector for the Bybit APIs and WebSockets, with TypeScript & browser support.
Stars: ✭ 69 (+130%)
Mutual labels:  btc, eth
platzi-exchange
Proyecto del Curso Basico de Vue.js de Platzi 💚
Stars: ✭ 26 (-13.33%)
Mutual labels:  btc, eth
crypto-watcher
Real-time cryptocurrencies prices.
Stars: ✭ 25 (-16.67%)
Mutual labels:  btc, eth
coinbin.org
₿ A Human–Friendly API Service for Crypto Currency Information.
Stars: ✭ 255 (+750%)
Mutual labels:  btc, eth
bankster
Money Creation Made Easy
Stars: ✭ 30 (+0%)
Mutual labels:  btc, eth
go-dc-wallet
交易所收提币功能
Stars: ✭ 76 (+153.33%)
Mutual labels:  btc, eth
MinerProxy
MinerProxy(中文名:加密挖全球 ),采用IOCP超高性能的网络框架编写,具有稳定性高,传输速度快,并发强等优点。可快速实现一键搭建任意矿池(ETH/ETC/RVN/ERGO/AE/BTC等)的中转节点,支持SSL加密,支持SSL矿池,支持任意第三方挖矿软件(包括OS系统),支持协议模拟功能,内网无需客户端即可SSL加密传输至VPS解密,并同时支持5个矿池的转发,有精准清晰的矿机数据展示列表,可方便配置合理抽水,自动拦截抽水增加业主算力。在保持业主算力不受大的影响的情况下,给予VPS搭建者一定的运营费用。
Stars: ✭ 447 (+1390%)
Mutual labels:  btc, eth
kunkka-match
高性能撮合引擎
Stars: ✭ 50 (+66.67%)
Mutual labels:  btc, eth
capwatch
💸 Your Cryptoportfolio. Live.
Stars: ✭ 19 (-36.67%)
Mutual labels:  crypto, btc
coinaly
🚀 Fast and easy to use mobile trade interface for cryptocurrencies. Track your trades to the moon and beyond. Currently only for Bittrex.
Stars: ✭ 32 (+6.67%)
Mutual labels:  btc, eth

vickitrix v0.1.5

Like this software? Tip me: 0x9456C8b7007531101e446401Df2b2D7dcdFA4aA9. If you're stuck on setup or usage, you can ask for help at https://gitter.im/nellore/vickitrix.

vickitrix makes crypto trades on GDAX according to rules about new tweets. Its development and name were inspired by @vickibotethusd; in fact, the default rules vickitrix/rules/vicki.py sell ETH when @vickibotethusd goes short on ETH-USD and buy ETH when @vickibotethusd goes long on ETH-USD. However, vickitrix can accommodate arbitrary rules about the content of status updates on Twitter. For example, the rules in vickitrix/rules/sentiment.py buy (sell) a miniscule amount of ETH when the words "good" ("bad") and "ethereum" are found in a tweet. Now imagine the possibilities---what rules do you think would be effective? Experiment, create issues, and make pull requests!

(NOTE: vickitrix versions < 0.1.2 didn't work with the default rules because of case sensitivity issues. If you've already followed the instructions below, you can upgrade to the latest version of vickitrix with pip install vickitrix --upgrade.)

Here's how to get vickitrix to work on your machine.

Preliminaries

Though vickitrix should work on Python 2 or 3 in Windows/UNIX, it's been tested mostly on Python 2.7 on a Macbook from late 2016 running OS X Sierra. (Check out this issue if you run into pycrypto compilation problems installing vickitrix in Windows.)

You'll need some keys and secrets and passcodes from Twitter and GDAX. vickitrix will store these in a config file (~/.vickitrix/config) on disk, but it ensures the secrets and passcodes are AES256-encrypted so evildoers who grab your laptop while you're logged in can't easily swipe working credentials.

  1. Open a new browser tab, and use it to create a new Twitter app after logging into Twitter. Name and describe it however you like, and specify no callback URL, but note Twitter also requires you enter some well-formed website URL to finish the process. You're allowed to write something like https://placeholder.com/placeholder. The thing will complain if your description isn't long enough, too. So dumb.
  2. Click the Keys and Access Tokens tab.
  3. Click Create my access token. The tab should now display a consumer key, a consumer secret, an access token, and an access token secret. Leave this tab be for now.
  4. Open a new browser tab, and use it to visit GDAX. Log in, click your avatar on the upper right, and click API.
  5. Create an API key with permissions to view and trade. You should now see a key, secret, and passphrase. Don't close the tab, or you'll lose the secret forever---which isn't the end of the world; you'll just have to regenerate an API key.

Install and configure vickitrix

  1. Run

     pip install vickitrix
    

    ...or clone the repo, cd into it, pip install the required packages twython, gdax, and pycrypto, and precede all vickitrix commands below with python. Your choice.

  2. Configure vickitrix by running

     vickitrix configure
    

    This allows you to create (or overwrite) a profile with a name of your choice. (Entering nothing makes the profile name default, which is nice because then you won't have to specify the profile name at the command line when you vickitrix trade.) You'll be asked to enter credentials from the browser tabs you left open in Preliminaries. You'll also be asked to enter a password, which you'll need every time you vickitrix trade.

  3. Grab and edit the rules in vickitrix/rules/vicki.py so they do what you want. vickitrix/rules/vicki.py creates a Python list of dictionaries called rules, where each dictionary has the following keys:

    • handles: a list of the Twitter handles to which the rule should apply, where commas are interpreted as logical ORs. At least one of handles or keywords must be specified in a rule. However, nothing is stopping you from passing an empty list, which vickitrix interprets as no filter---but do this at your own peril.
    • keywords: a list of keywords from tweets to which the rule should apply, where commas are interpreted as logical ORs. If both handles and keyword are specified, there's a logical OR between the two lists as well.
    • orders: a list of orders. Each item is a dictionary of HTTP request parameters for an order as described in the GDAX docs. vickitrix respects default values of parameters given there if any are left out in a given rule. Some details on particular keys from the order dictionary:
      • product_id: a valid GDAX product ID. It looks like <base currency>-<quote currency>.
      • funds, size, price: the value may be any Python-parsable math expression involving any of the following: (1) {tweet}: the content of the current matched tweet; (2) {available[<currency>]}: here, <currency> is one of ETH, BTC, LTC, and USD. vickitrix sets {available[<currency>]} to the amount of <currency> available for trading in your account right before making an order. You can use regular expressions with Python's re module; (3) {inside_bid}: the most recent inside (i.e., best) bid from the product order book for the order's product_id at the time the order is placed; (4) {inside_ask}: the most recent inside (i.e., best) ask from the product order book for the order's product_id at the time the order is placed.
    • condition: any Python-parsable expression involving {tweet} and {available[<currency>]. Regular expressions can be used here with the re module. With the default rules, you buy all the ETH you can when @vickiethbot goes long, and you sell all the ETH you can when @vickiethbot goes short.
  4. Run

     vickitrix trade --profile <profile name> --rules <rules file>
    

    , and enter the profile's password. Leave out the --profile to use the default profile, and leave out --rules to use the default vickitrix/rules/vicki.py. vickitrix will listen for tweets that match the conditions from the rules in vickirules.py and perform the specified actions. If after a trade's been made, the "available to trade" line makes it look like currency vanished into thin air, don't fret; this probably means the trade hasn't completed yet. You can increase the sleep time after a trade is requested and before the "available to trade" line is displayed with --sleep.

Contributing

Pull requests are welcome! Fork freely! If you've written a substantial contribution, and you'd like to be added as a collaborator, reach out to me.

Disclaimer

If you use this software, you're making and/or losing money because someone or something you probably don't know tweeted, which is totally crazy. Don't take risks with money you can't afford to lose.

Also note this part of the MIT license:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].