Changelogs:
- Fix BB calculation
- Fix EMA calculation
- Add STD deviation multiplier (default 2) and SMA period to config.js so you can trigger BB values similar to what you see at exchanges
- Fix STOP LIMIT setting price to sell instead of last market price
- Update to latest KRAKEN roundings policy
- Fix multiple buy issue by checking both OpenOrders and Trading History for last order type = 'buy'
- Attempt to fix scientific notations for tiny numbers passing them ToFixed(
- Exposing TA values in logs (EMA1, EMA2, HIGHBB, LOWBB, SMA)
- Fix CRYPTOPIA error that sometimes shows up while getting prices
- Code cleanup
- Implementing TradingViews integration.
Instructions:
if you were already on v4.x just replace executable and use the new config.js:
"pairs": {
"poloniex": {
"BTC_ZRX": {
"strategy": "bb",
"override": {
"BTC_TRADING_LIMIT": 0.002
}
},
"BTC_DASH": {
"strategy": "bb",
"override": {}
}
},
"kraken": {
"DASHEUR": {
"strategy": "bb",
"override": {}
},
"XLTCXXBT": {
"strategy": "bb",
"override": {}
},
},
"bittrex": {
"BTC-LTC": {
"strategy": "bb",
"override": {}
},
"BTC-ARK": {
"strategy": "bb",
"override": {}
}
},
"cryptopia": {
"SIGT_BTC": {
"strategy": "bb",
"override": {}
},
"OMG_BTC": {
"strategy": "bb",
"override": {}
}
}
},
"exchanges": {
"poloniex": {
"key": "YOUR_API_KEY_HERE",
"secret": "YOUR_SECRET_KEY_HERE"
},
"kraken": {
"key": "YOUR_API_KEY_HERE",
"secret": "YOUR_SECRET_KEY_HERE"
},
"bittrex": {
"key": "YOUR_API_KEY_HERE",
"secret": "YOUR_SECRET_KEY_HERE"
},
"cryptopia": {
"key": "YOUR_API_KEY_HERE",
"secret": "YOUR_SECRET_KEY_HERE"
}
},
"bot": {
"debug": false, // not used in production
"period_storage_ticker": 2000, // number of prices to store to calculate TA indicators
"interval_ticker_update": 25000, // interval to fetch prices (default 25 seconds)
"timeout_buy": 60000, // internal timeout for buy orders
"timeout_sell": 60000, // internal timeout for sell orders
"WATCH_MODE": false, // if true it will not buy/sell
"VERBOSE": true, // if true it will show up more informations on console
"TV_GAIN": 0.6, // minimum GAIN for TradingView strategies (useful to not sell at loss)
"TV_TRADING_LIMIT": 0.001 // quote currency to use for each buy order with TradingView strategies
},
"ws": {
"port": 5001 // port to use to emit websocket API events
},
"imap_listener": {
"enabled": false, // if true, tradingview plugin is enabled (need a license)
"authorized_froms": ["[email protected]"], // set here the sender email you want to enable
"user": "YOUR_EMAIL_HERE", // set here your TradingView alerts email
"password": "YOUR_PASSWORD_HERE", // Your email password
"host": "imap.gmail.com", // IMAP server
"port": 993, // port to use with your IMAP server
"tls": true, // tls options
"tlsOptions": {
"rejectUnauthorized": false
}
},
"strategies": {
"bb": {
"BTC_TRADING_LIMIT": 0.0001, // quote currency amount to use for each buy order
"PERIOD": 15, // candlesticks period to use for TA calculations
"EMA1": 2, // EMA1 period
"EMA2": 4, // EMA2 period
"GAIN": 2, // minimum % of GAIN to profit from bought price
"HIGH_BB": 40, // minimum sell point from higher BB
"LOW_BB": 40, // minimum buy point from lower BB
"STDV": 2, //multiplicator for BB formula
"SMAPERIOD": 50, // SMA period for BB formula
"PANIC_SELL": false, // if true sell all coins at actual market price
"DOUBLE_UP": true, // if true use the averaging down
"STOP_LIMIT": 60, // % from bought price to sell if coin value drops
"BUY_ENABLED": true, // if false do not buy
"MIN_VOLUME_TO_BUY": 0.0001, // minimum volume to buy (expressed in quote currency)
"MIN_VOLUME_TO_SELL": 0.0001 // minimum volume to sell (expressed in quote currency)
},
"gain": {
"BTC_TRADING_LIMIT": 0.001,
"PERIOD": 15,
"BUY_LEVEL": 2,
"GAIN": 2,
"EMA1": 200,
"EMA2": 50,
"HIGH_BB": 45,
"LOW_BB": 45,
"STDV": 2,
"SMAPERIOD": 50,
"PANIC_SELL": false,
"DOUBLE_UP": true,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"pp": {
"BTC_TRADING_LIMIT": 0.01,
"PP_BUY": 0.00000001, // price to buy with PING PONG strategy
"PP_SELL": 0.12345678, // price to sell with PING PONG strategy
"PANIC_SELL": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"stepgain": {
"BTC_TRADING_LIMIT": 0.02,
"PERIOD": 15,
"BUYLVL1": 0.6, // % from lowest EMA to buy at if trend switches to UP in level 1
"BUYLVL2": 2, // % from lowest EMA to buy at if trend switches to UP in level 2
"BUYLVL3": 70, // % from lowest EMA to buy at if trend switches to UP in level 3
"SELLLVL1": 0.6, // % from bought price to sell at if trend switches to DOWN in level 1
"SELLLVL2": 2, // % from bought price to sell at if trend switches to DOWN in level 2
"SELLLVL3": 70, // % from bought price to sell at if trend switches to DOWN in level 3
"BUYLVL": 2, // minimum level to wait before to buy
"SELLLVL": 2, // minimum level to wait before to sell
"LASTPOINTS": 5, // how many last prices to use to decide if trend is UP or DOWN
"AVGPOINTS": 250, // how many last prices to calculate average and compare with LASTPOINTS
"AVGMINIMUM": 0.00000001, // prices rate to ignore during average of AVGPOINTS
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"bbgain": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"GAIN": 0.6,
"HIGH_BB": 45,
"LOW_BB": 45,
"STDV": 2,
"SMAPERIOD": 150,
"EMA1": 200,
"EMA2": 50,
"PANIC_SELL": false,
"DOUBLE_UP": true,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"gainbb": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"BUY_LEVEL": 2,
"GAIN": 0.6,
"HIGH_BB": 45,
"LOW_BB": 40,
"STDV": 2,
"SMAPERIOD": 150,
"EMA1": 200,
"EMA2": 50,
"PANIC_SELL": false,
"DOUBLE_UP": true,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"bbstepgain": {
"BTC_TRADING_LIMIT": 0.001,
"PERIOD": 15,
"HIGH_BB": 45,
"LOW_BB": 45,
"STDV": 2,
"SMAPERIOD": 150,
"SELLLVL1": 0.6,
"SELLLVL2": 2,
"SELLLVL3": 70,
"SELLLVL": 2,
"LASTPOINTS": 5,
"AVGPOINTS": 250,
"AVGMINIMUM": 0.00000001,
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"DOUBLE_UP": true,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"stepgainbb": {
"BTC_TRADING_LIMIT": 0.001,
"PERIOD": 15,
"HIGH_BB": 49,
"LOW_BB": 40,
"STDV": 2,
"SMAPERIOD": 150,
"BUYLVL1": 0.6,
"BUYLVL2": 2,
"BUYLVL3": 70,
"BUYLVL": 2,
"GAIN": 0.6,
"LASTPOINTS": 5,
"AVGPOINTS": 250,
"AVGMINIMUM": 0.00000001,
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"DOUBLE_UP": true,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"bbpp": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"GAIN": 0.1,
"HIGH_BB": 40,
"LOW_BB": 40,
"STDV": 2,
"SMAPERIOD": 150,
"PP_SELL": 0.12345678,
"PANIC_SELL": false,
"DOUBLE_UP": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"ppbb": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"GAIN": 0.1,
"HIGH_BB": 40,
"LOW_BB": 40,
"STDV": 2,
"SMAPERIOD": 150,
"PP_BUY": 0.00000001,
"PANIC_SELL": false,
"DOUBLE_UP": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"gainstepgain": {
"BTC_TRADING_LIMIT": 0.01,
"HIGH_BB": 45,
"LOW_BB": 45,
"STDV": 2,
"SMAPERIOD": 150,
"PERIOD": 15,
"SELLLVL1": 0.6,
"SELLLVL2": 2,
"SELLLVL3": 70,
"SELLLVL": 2,
"BUY_LEVEL": 2,
"LASTPOINTS": 5,
"AVGPOINTS": 250,
"AVGMINIMUM": 0.00000001,
"EMA1": 200,
"EMA2": 50,
"PANIC_SELL": false,
"DOUBLE_UP": true,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"stepgaingain": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"BUYLVL1": 0.6,
"BUYLVL2": 2,
"BUYLVL3": 70,
"BUYLVL": 2,
"GAIN": 2,
"LASTPOINTS": 5,
"AVGPOINTS": 250,
"AVGMINIMUM": 0.00000001,
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"gainpp": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"BUY_LEVEL": 0.1,
"PP_SELL": 0.12345678,
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"ppgain": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"GAIN": 2,
"PP_BUY": 0.12345678,
"EMA1": 200,
"EMA2": 50,
"PANIC_SELL": false,
"DOUBLE_UP": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"stepgainpp": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"BUYLVL1": 1,
"BUYLVL2": 3,
"BUYLVL3": 5,
"BUYLVL": 2,
"PP_SELL": 0.1,
"LASTPOINTS": 5,
"AVGPOINTS": 250,
"AVGMINIMUM": 0.00000001,
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"DOUBLE_UP": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
},
"ppstepgain": {
"BTC_TRADING_LIMIT": 0.01,
"PERIOD": 15,
"SELLLVL1": 2,
"SELLLVL2": 5,
"SELLLVL3": 10,
"SELLLVL": 2,
"PP_BUY": 0.00000001,
"LASTPOINTS": 5,
"AVGPOINTS": 250,
"AVGMINIMUM": 0.00000001,
"EMA1": 2000,
"EMA2": 1000,
"PANIC_SELL": false,
"DOUBLE_UP": false,
"STOP_LIMIT": 60,
"BUY_ENABLED": true,
"MIN_VOLUME_TO_BUY": 0.001,
"MIN_VOLUME_TO_SELL": 0.001
}
},
"optionals": {
"toOverride": {
"BOUGHT_PRICE": 0.104744
}
}
}
For TradingViews plugin please read tutorial here https://www.tradingview.com/wiki/Creating_and_Managing_Alerts and create alerts with the following syntax:
Examples:
SELL_POLONIEX_USDT_BTC
BUY_KRAKEN_DASHEUR
SELL_KRAKEN_XLTCXXBT
BUY_BITTREX_BTC-ETC
SELL_CRYPTOPIA_ETH_BTC
BUY_CRYPTOPIA_LTC_BTC
TradingView plugin is a paid license: its cost is 0.05 for old and new customers
How to get your copy of GUNBOT v.5.0.1:
by this release we want to protect your Gunbot copy with some addictional layers of security. Please send a PM to this user with your API keys to get instructions about your GUNBOT copy https://gunthy.org/index.php?action=pm;sa=send;u=1
DO NOT ACCEPT/DOWNLOAD a copy of GUNBOT v.5.0.1 from any other user or location, unless they are Authorized and Official Gunbot resellers. A complete list of AOG Resellers is available here https://gunthy.org/index.php/topic,1241.0.html
This release is safe enough to be ran and distributed to new customers (terminal cli only), by now i'm starting to include the webGUI in the code and proceed with the final release.
Please report any bug immediately!
Thanks.
~Gun