All Projects → austinyearlykim → wolf

austinyearlykim / wolf

Licence: other
🐺 Binance trading bot for node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to wolf

Mida
The open-source and cross-platform trading framework
Stars: ✭ 263 (+246.05%)
Mutual labels:  finance, trading, binance
Trading Backtest
A stock backtesting engine written in modern Java. And a pairs trading (cointegration) strategy implementation using a bayesian kalman filter model
Stars: ✭ 247 (+225%)
Mutual labels:  finance, trading
Vnpy
基于Python的开源量化交易平台开发框架
Stars: ✭ 17,054 (+22339.47%)
Mutual labels:  finance, trading
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+1815.79%)
Mutual labels:  trading, binance
Awesome Quant
中国的Quant相关资源索引
Stars: ✭ 2,529 (+3227.63%)
Mutual labels:  finance, trading
Jiji2
Forex algorithmic trading framework using OANDA REST API.
Stars: ✭ 211 (+177.63%)
Mutual labels:  finance, trading
Alpaca Backtrader Api
Alpaca Trading API integrated with backtrader
Stars: ✭ 246 (+223.68%)
Mutual labels:  finance, trading
Bot18
Bot18 is a high-frequency cryptocurrency trading bot developed by Zenbot creator @carlos8f
Stars: ✭ 157 (+106.58%)
Mutual labels:  finance, trading
binance-rs-async
Async client for the Binance APIs
Stars: ✭ 74 (-2.63%)
Mutual labels:  trading, binance
binance-watch
This application connects to the Binance.com public API to get live 24h price change data for all crypto trading pairs on their platform and allows you to set custom alerts or watch for price change in real time and get desktop notifications when something triggers your alerts or price watch settings.
Stars: ✭ 176 (+131.58%)
Mutual labels:  trading, binance
btrader
Triangle arbitrage trading bot for Binance
Stars: ✭ 197 (+159.21%)
Mutual labels:  trading, binance
Mlfinlab
MlFinLab helps portfolio managers and traders who want to leverage the power of machine learning by providing reproducible, interpretable, and easy to use tools.
Stars: ✭ 2,676 (+3421.05%)
Mutual labels:  finance, trading
Trade Frame
c++ based application for testing options based automated trading ideas using DTN IQ real time data feed and Interactive Brokers (TWS API) for trade execution.
Stars: ✭ 187 (+146.05%)
Mutual labels:  finance, trading
Philadelphia
Low-latency Financial Information Exchange (FIX) engine for the JVM
Stars: ✭ 219 (+188.16%)
Mutual labels:  finance, trading
Mixture model trading public
Stars: ✭ 166 (+118.42%)
Mutual labels:  finance, trading
Ta Rs
Technical analysis library for Rust language
Stars: ✭ 248 (+226.32%)
Mutual labels:  finance, trading
Py Market Profile
A library to calculate Market Profile (aka Volume Profile) for financial data from a Pandas DataFrame.
Stars: ✭ 153 (+101.32%)
Mutual labels:  finance, trading
Pipeline Live
Pipeline Extension for Live Trading
Stars: ✭ 154 (+102.63%)
Mutual labels:  finance, trading
cira
Cira algorithmic trading made easy. A Façade library for simpler interaction with alpaca-trade-API from Alpaca Markets.
Stars: ✭ 21 (-72.37%)
Mutual labels:  finance, trading
binance-downloader
Python tool to download Binance Candlestick (k-line) data from REST API
Stars: ✭ 44 (-42.11%)
Mutual labels:  trading, binance

Project W.O.L.F

Binance trading bot for NodeJS.

IT IS NOT MY RESPONSIBILITY IF YOU GAIN/LOSE MONEY. THERE IS NO SUCH THING AS PERFECT SOFTWARE. PLEASE LOOK THROUGH THE CODEBASE/DOCUMENTATION TO UNDERSTAND THE RISKS YOU ARE TAKING.

Setup

  1. Create an .env file in your root directory.
  2. Copy and paste template.env into .env
  3. Fill out required environment variables
  4. npm test
  5. (Optional) npm run simulator
  6. npm start

Release Notes

v3.6.1 June 13, 2018

  • Refactored watchlist

v3.6.0 June 12, 2018

  • FEATURE REQUEST: Better terminal logging that doesn't make you want to throw up. #32
  • README.md updates

v3.5.0 May 27, 2018

  • FEATURE: full integration test suite! npm run simulation. Feel free to run it as many times as you like, it will only mimic orders, and never create a real one.

  • BUGFIX: stop limit now properly triggers. #41

  • BUGFIX: quantitySigFig() now properly checks against correct references from binanace websocket. #50

v3.4.2 May 23, 2018

  • BUGFIX: quantitySigFig() for USDT now correctly returns a non-negative number #40

v3.4.1 May 22, 2018

  • BUGFIX: mocha, available balance, test fixed. #38
  • Corrects template.env.
  • Deprecated STOP_LOSS_PERCENTAGE from .env

v3.4.0 May 19, 2018

  • FEATURE REQUEST: Adds support for USDT and BNB. #27
  • TRADING_PAIR in .env is now deprecated. Replaced by TARGET_ASSET and BASE_ASSET.
  • TWILIO_ENABLED and all other Twilio related variables are deprecated. It may be back in the future. PR anybody?

v3.3.0 March 26, 2018

  • FEATURE: adds profit lock feature.
  • FEATURE: adds stop limit feature.

v3.2.0 March 10, 2018

  • FEATURE REQUEST: compounding budget feature. #2
  • Adds release notes to README.md.

Documentation

How it works

W.O.L.F calculates how much to spend per transaction based on your BUDGET. It watches price movements of a particular trading pair (TARGET_ASSET + BASE_ASSET) in real-time and will buy at the current price and sell for a calculated PROFIT_PERCENTAGE.

The synchronous nature of W.O.L.F makes sure that your trades execute as fast and safe as possible. And only sells when it's profitable! Transaction fees are taken account of! Easy peasy!

Brief technical step-by-step:

  1. Wolf calculates quantity of coin to purchase based of BUDGET.
  2. Wolf places a limit buy order at market price.
  3. Wolf populates the queue with the unfilled limit buy order.
    • The queue is as a data store where unfilled orders live until they've been filled.
    • The queue is traversed every tick that's fired from the Binance websocket. About once a second, or faster.
  4. Once the order is filled, Wolf puts the order into the watchlist.
    • The watchlist is a data store where filled orders live until they reach your desired PROFIT_PERCENTAGE, or any other optional .env triggers.
    • The watchlist is traversed every tick from the Binance websocket as well.
  5. Once your order is ready to be sold, Wolf puts an unfilled sell order in the queue.
  6. Once the queue detects that the unfilled sell order has been filled, Wolf will repeat steps 1-6.
.env
REQUIRED
  • BUDGET is the most you're willing to spend. The unit of this number is your BASE_ASSET; e.g if your desired trading pair is ADAETH, then BUDGET is the amount of ETH you're willing to spend.
  • PROFIT_PERCENTAGE is in whole numbers; e.g 1.2 is one-point-two percent.
  • TARGET_ASSET must be in upper-case; e.g if your desired trading pair is ADAETH. Your TARGET_ASSET is ADA.
  • BASE_ASSET must be in upper-case; e.g if your desired trading pair is ADAETH. Your BASE_ASSET is ETH.
OPTIONAL
  • COMPOUND can be set to true to have your budget programmatically increase as you profit for more profit potential.
  • PROFIT_LOCK_PERCENTAGE is in whole numbers; e.g 1.2 is one-point-two percent.
    • Example: Your PROFIT_PERCENTAGE is 5% and your PROFIT_LOCK_PERCENTAGE is 3%. W.O.L.F will wait for your order to sell at 5%, however if it passes 3% at anytime and then dips back to say ~2.7% it will do a market order to lock some of your gains. It's important to note that your sell at your PROFIT_LOCK_PERCENTAGE will only trigger if the price passes your PROFIT_LOCK_PERCENTAGE then dips backwards, otherwise W.O.L.F will continue watching to see if you reach your, more desirable, PROFIT_PERCENTAGE.
  • STOP_LIMIT_PERCENTAGE is in whole numbers; e.g 1.2 is one-point-two percent. If at any point the current market price of your position dips below this percentage, W.O.L.F will sell your position at market price with a limit order.
npm start

This command runs tests before starting the bot. It then kicks off a recursive loop of functions that keep track of best BUY/SELL prices updated by the second and executes trades that are favored for you.

Ctrl + C

Pressing these two keys will terminate W.O.L.F and cancel any open orders that W.O.L.F created. It will not cancel any open orders you might already have.

Logs

Queue: SOME_NUMBER, Watchlist: SOME_OTHER_NUMBER

SOME_NUMBER && SOME_OTHER_NUMBER are the number of items in the Queue and Watchlist respectfully.

Purchasing...

Limit Buy Order was PLACED.

PURCHASED.

Limit Buy Order was FILLED.

Selling...

Limit Sell Order was PLACED.

SOLD.

Limit Sell Order was FILLED.

Issues?

Open up a ticket here to have a question answered or to report a bug: https://github.com/austinyearlykim/wolf/issues

Donations

BTC: 13w2zLgzpEfY8o3QYGzdCP1M6qXN9gwn62
LTC: LUKLmXd4oMbJr4RdV1K2hYgo6b43RQper6
ETH: 0x8140fd88fe77907eb96ceb7850751576da214715

Be sure to reach out to me to get listed here after you've made a donation! No donation is too big or small, but >.001btc to get listed as a supporter! Successful pull requests get you there too!

Supporters

  • Chase Reid (@Chase-Reid)
  • @BatmanPDX
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].