Skip to content

Gunbot 3.2 - Core edition: Windows(no GUI)/Linux/MacOs/armv6/armv7 - Release name "Portugal"

Pre-release
Pre-release
Compare
Choose a tag to compare
@GuntharDeNiro GuntharDeNiro released this 11 May 18:17
· 121 commits to master since this release

This is the core edition of the v3.2- all os/cpu are supported headless without GUI. This release is a great improvement on algo and strategies: all reported bugs of v3.1 has been fixed/improved. Thanks to all contributors of https://gunthy.org

Changelogs:

  • Increasing the power of BB strategy with the following algo: StepGain, Gain, PingPong. You can now mix the 4 strategies as you wish on the 3 supported markets: Bittrex, Kraken, Poloniex.
    Here are the possible algo you can use:
    • Pure BB: the BB formula has been improved, it now shows good values and it is not
      consuming the amount of CPU it used in v3.1. I suggest to start with 30 lowBB and
      30 highBB values and then tune them on the fly for each coin. You can restart the
      bot whenever you want: it will remember the BB. To use this strategy set
      BUY_STRATEGY: 'BB' and SELL_STRATEGY: 'BB' in your config files.
    • Pure STEPGAIN: BUY_STRATEGY: 'STEPGAIN' and SELL_STRATEGY: 'STEPGAIN' in your config files, will give you the power to explore up and down until the bot finds the best price to buy and the highest price to sell (supergun trend watchdog applies with improved algo). All of this on all 3 markets: Bittrex, Kraken, Poloniex. We have now 2 levels of BUY and 2 levels of SELL only in config files, since the third has not been really useful. Set BUYLVL and SELLLVL to the right level you want to use. Example: if you have BUYLVL1 to 3 and BUYLVL2 to 5, set BUYLVL to 2 if you want to explore from to 5%to infinite, or set BUYLVL to 1 if you want to explore from 3% to infinite.
    • Pure GAIN: BUY_STRATEGY: 'GAIN' and SELL_STRATEGY: 'GAIN' in yoru config files will give you the power to explore from BUY_LEVEL % to infinite and from GAIN % to infinite. For example: if you set BUY_LEVEL to 3 and GAIN to 5, it will buy at 3% or more (supergun trend watchdog applies) and it will sell at 5% or more (again supergun trend watchdog applies). All of this in all markets: Bittrex, Kraken, Poloniex.
    • Pure PINGPONG: set a price to buy and a price to sell in PINGPONG_BUY and PINGPONG_SELL config values and your bot will continuosly buy at PINGPONG_BUY price or lower and sell at PINGPONG_SELL or higher. Supergun trend watchdog applies and this strategy is available in all markets: Bittrex, Kraken, Poloniex
    • Any MIX of above strategies: you can set BUY_STRATEGY and SELL_STRATEGY values to any mix you want. For example you can buy with BB and sell with PINGPONG, or you can buy with PINGPONG and sell with GAIN, or BUY with STEPGAIN and sell with GAIN, and so on. Any mix you use, supergun trend watchdog will always help you to get a lower price to buy and an higher price to sell of what you put in configs: all of this on all markets, Bittrex, Poloniex, Kraken.

Bugs fixed and improvements:

  • All reported bugs at https://gunthy.org and in the Telgram group, have been refactored and fixed, especially the following:
    • CPU and RAM leak on BB
    • Fixed BB formula and reverted back to 2 as multiplier
    • Fixed supergun trend watchdog not switching: we have now a separated MAX_LATEST_PRICES (which is used for BB) and MAX_LATEST_PRICES_TREND (which is used for supergun. I suggest to use 300 prices for BB and 30 prices for supergun trend.
    • There is now a config file which can be used to change values for ALL PAIRS: for example, you want to change the BOT_ON_FAIL_DELAY for all pairs but you dont want to open all config files > open ALLPAIRS-params.js and set it like this:
var config = {
	BOT_ON_FAIL_DELAY:(1000)*5
};
 
module.exports = config;

then save the file and all your pairs will change that value on the fly. You can put in the ALLPAIRS-params.js any value that is included in the traditional config file, so you are allowed to change any value you want at once.

  • Fixed DASH and GNO pairs on Kraken
  • Fixed deleting old BUY orders from order book
  • Fixed BUY of tiny amounts
  • Fixed email alerts: it now works again
  • Code cleanup and refactoring of outputs: the save.json file outputs all variables every X seconds you put in bot delay time. With this feature you can build your own plugin, GUI, app based on yoru gunbot.
  • Introducing dynamic reading

How to migrate from 3.1 to 3.2

1.- Move all your save.json files from the 3.1 folder to the new 3.2 folder
2.- Start your bot

How to start 3.2
This version is packaged: you dont need to install anything, it is all there. No node.js, no .NET, anything: the bot knows what to do.

  • Windows: your GUI will come in the next days, i know a lot of you are already using it with no GUI so here to you
    • gunthy.exe BTC_ETH poloniex
    • gunthy.exe BTC_ETH kraken
    • gunthy.exe BTC_ETH bittrex
  • Linux: chmod +x this file > gunthy-linux and then run it like this
    • ./gunthy-linux BTC_ETH poloniex
    • ./gunthy-linux BTC_ETH kraken
    • ./gunthy-linux BTC_ETH bittrex
  • MacOs and Arm: i have built on those CPU the gunthy-mac and gunthy-arm files to start like Linux

CONFIG FILES
We have now a separated config file for each market and a params file you can use to change any value you want in all pairs, as described above. Here are the config files names:

  • poloniex-BTC_ETH-config.js
  • kraken-BTC_ETH-config.js
  • bittrex-BTC_ETH-config.js
  • ALLPAIRS-params.js

In ALLPAIRS file you can move any value you want directly from config.js files. Simply copy/paste those values from config.js file to ALLPAIRS and save ALLPAIRS. All your bots will reload values yu cahnged/added to ALLPAIRS.

Here are the values in config and a brief explanation:

var config = {
	//  DEBUG
	DEBUG_LOG:true, 
	I_REALLY_WANT_IT:false,
	BUY_SMALL_PORTION:1,
	INSUFFICIENT_FUNDS_ON_SELL_FIX: 0.0005,
	INSUFFICIENT_FUNDS_ON_BUY_FIX: 0.0005,


	//-----------------------------------------------
	//   STARTUP OPTIONS
	//----------------------------------------------- 

	SELL_ON_START:false,	
	CANCEL_SELL_ORDERS_ON_START:false,
	CANCEL_BUY_ORDERS_ON_START:false,
	CANCEL_OPEN_ORDERS_ON_START:false,



	MAX_LATEST_PRICES: 200,// limit of latest prices to analyze to determine if price is growing or falling
	MAX_LATEST_DIRECTIONS:30,// limit of latest  price directions ,used in supergun detection
	MAX_LAST_ORDERS:5,  // keeping last orders bought
	PERIOD: 15,   // candlestick period
	 
	SAVEFILE_SUFFIX: '-save.json', 
	//-----------------------------------------------
	//  PRIMARY SETTINGS
	//-----------------------------------------------
	DEFAULT_MARKET_NAME:"poloniex",
	DEFAULT_CURRENCY_PAIR:"BTC_ETH",   //  single pair format for all markets !
	BUYLVL1: 3, //buy when the price drops by this percentual or lower if BUYLVL is 1
	BUYLVL2: 12, //buy when the price drops by this percentual or lower if BUYLVL is 2
	SELLLVL1: 2, //sell when the price drops by this percentual or higher is SELLLVL is 1
	SELLLVL2: 70, //sell when the price drops by this percentual or higher is SELLLVL is 2
	BUYLVL: 2, //possible values 1 and 2 (if you want to buy at level 1 or level 2)
	SELLLVL: 2, //possible values 1 and 2 (if you want to sell at level 1 or level 2)
	BUY_STRATEGY: "BB", // accepted values BB or STEPGAIN or GAIN or PINGPONG
	SELL_STRATEGY: "GAIN", // accepted values BB or STEPGAIN or GAIN or PINGPONG
	LOW_BB: 5, //buy when the price is higher than low BB by this percentual 
	HIGH_BB: 5, //sell when the price is lower than high BB by this percentual 
	PINGPONG_BUY: 0.001, //price to buy (or lower) in the ping pong strategy
	PINGPONG_SELL: 0.002, //price to sell (or higher) in the ping pong strategy
	BUY_LEVEL: 0.1, // If GAIN buy strategy is used, buy at this percentual below lower ema value
	GAIN: 0.1, // If GAIN sell strategy is used, sell at this percentual above bought price
	BTC_TRADING_LIMIT: 0.01,// max amount of BTC balance to use for each pair	
	SECURITY_MARGIN: 60, // sell all balance if currency decreases x% after you bought it
	MIN_VOLUME_TO_BUY: 0.0005,  // bitrex min volume

	//---BITTREX
	BITTREX_KEY:'',
	BITTREX_SECRET:'',
	
	BITTREX_PRICE_METHOD:'ohlc',// ohlc OR vwa  "price to buy" definition method
	BITTREX_VWA_1_INTERVAL: 10,// weighted average interval in minutes
	BITTREX_VWA_2_INTERVAL: 120,// weighted average interval in minutes


	//---KRAKEN
	KRAKEN_ASSET_PAIR:'XETHXXBT',

	KRAKEN_KEY: '',
	KRAKEN_SECRET: '',

	
	KRAKEN_PRICE_METHOD:'vwa',// ohlc OR vwa  "price to buy" definition method
	KRAKEN_VWA_1_INTERVAL: 1,// weighted average interval in minutes
	KRAKEN_VWA_2_INTERVAL: 15,// weighted average interval in minutes

	//---POLONIEX
	POLONIEX_KEY: '',
	POLONIEX_SECRET: '',

	
	POLONIEX_PRICE_METHOD:'vwa',// ohlc OR vwa  "price to buy" definition method
	POLONIEX_VWA_1_INTERVAL: 0.02,// weighted average interval in hours
	POLONIEX_VWA_2_INTERVAL: 0.04,// weighted average interval in hours

	
 
 
	//-----------------------------------------------
	//   BOT TIMINGS
	//-----------------------------------------------
	API_CALLS_DELAY:777,
	BOT_SLEEP_DELAY:(1000)*10,// bot cycle delay (koef*sec)
	BOT_MAX_LIFETIME:999999999,// overall bot lifetime(koef*min),
	BOT_ON_FAIL_DELAY:(1000)*5, // bot repeat cycle delay if previous cycle failed  (koef*sec)
	//-----------------------------------------------
	// EMAIL
	//-----------------------------------------------
	ALERT_ON_NO_FUNDS:false,  // email on insufficcient funds
	SMTP_EMAIL: '%40@gmail.com',
	ALERT_EMAIL:'********',
	SMTP_PASSWORD: '**********',
	SMTP: true,
	SMTP_PROTOCOL: 'SMTPS',
	SMTP_HOST: 'smtp.gmail.com',

	//-----------------------------------------------
	//  OUTPUT 
	//-----------------------------------------------
	MAX_LATEST_PRICES_SHOWN: 0, // limit of latest prices to show in console.log
	SHOW_LASTEST_DIRECTIONS:false,  // show chart in console
	MAX_LATEST_DIRECTIONS_SHOWN:0, // chart height
	LASTEST_DIRECTIONS_LIST_WIDTH:0, // chart width

	//-----------------------------------------------
	//   OTHER (might be deprecated/not in use)
	//-----------------------------------------------
	BTC_BALANCE: 2// btc balance for test purposes,
};
 
module.exports = config;

This is all folks (for now). Keep reporting everything you notice and/or improvements because, as you can see, you are listened.
Thanks!
~Gun