Releases: GuntharDeNiro/BTCT
Beta Release v2.0.2b complete package - Linux/Windows (x86/x64)
Complete packages for both Win/Lin
Update Pre-release v2.0.1b Linux edition (x86/x64)
Changelogs:
- Fix error handling for sockets hang up: doesnt matter how much and how long Poloniex gets ddos'd, we use different ports at each call
- Fix missing update of Price to Buy
- Fix double buy orders if sell order is not correctly placed on book
- Implementing log.txt, err,txt and cleaning up console from all my debug messages
- Implementing dynamic speed of the bot: we need to be fast to sell, before the price goes down after a pump
- Implementng a retry speed when requests to poloniex fail a callback
- Implemented cycle restart when a call fails: this would prevent sockets hang up
- Introducing volume as a third indicator: we now use weighted average supporting EMA1 and EMA1
- Fix missed sell orders: sockets hang up prevented to fetch altcoin balance
- Code clean up
- Patch fix issue #91: failed to load correct bought price for json saved state)
- Fix (!!!!!!!!!!!no altcoin) issue when Poloniex isnt sending the correct balance
- boughten is a bool > we needed boughtenPrice
- You can now change settings without restarting the bot
- Fix correct loading from save.json: the bot continues from where it left at restart, no more unclean SELL_AT_START operations.
This version is pretty close to the final release and it has been tested in the worse condition of a Poloniex mitigated ddos attack. A special thanks to all that bugged me in the past days: keep reporting and dont worry if you dont see my answer, you will see it in this code.
How to start the bot:
1.- Create a clone of the BTC_XXX-config.js file included in the repo, for each pair you want to start.
2.- Run ./gunbot BTC_XXX
Please check the BTC_XXX-config.js, many changes on it:
var config = {
//-----------------------------------------------
// PRIMARY SETTINGS
//-----------------------------------------------
KEY: '',
SECRET: '',
GAIN: 1.5, // margin to sell when currency increases its value (example: sell when currency increases 2.5% of paid value)
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
SELL_ON_START:false,
CANCEL_SELL_ORDERS_ON_START:false,
MAX_LATEST_PRICES: 30,// 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
STARTEMA1: 0.02,// weighted average interval in hours
STARTEMA2: 0.04,// weighted average interval in hours
PERIOD: 15, // candlestick period
SAVEFILE_SUFFIX: '-save.json',
//-----------------------------------------------
// BOT TIMINGS
//-----------------------------------------------
BOT_SLEEP_DELAY:(1000)*13,// bot cycle delay (koef*sec)
BOT_MAX_LIFETIME:999999999,// overall bot lifetime(koef*min),
BOT_ON_FAIL_DELAY:(1000)*3, // bot repeat cycle delay if previous cycle failed (koef*sec)
//-----------------------------------------------
// EMAIL
//-----------------------------------------------
ALERT_ON_NO_FUNDS:false, // email on insufficcient funds
SMTP_EMAIL: '%[email protected]',
ALERT_EMAIL:'********',
SMTP_PASSWORD: '**********',
SMTP: true,
SMTP_PROTOCOL: 'SMTPS',
SMTP_HOST: 'smtp.gmail.com',
//-----------------------------------------------
// DEBUG
//-----------------------------------------------
DEBUG_LOG:false,
I_REALLY_WANT_IT:true,// debug hardcode hack
BUY_SMALL_PORTION:1,// debug volume limiter,must be 1 > x > 0
//-----------------------------------------------
// 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;
Please report any bug immediately!!!
Thanks!
~Gun
Russian Roulette - v2.0b - Windows x86/x64
This release is a complete refactor of the previous code, based on async. This should handle all poloniex errors, ports communications, disconnections and all other issues. Please note: the previous code was the real Russian Roulette as it randomly buy 10x the amount we set in configs and was loved by traders because generated 10x profit :)- If you still want to use the old version, take care of your old folder and unzip this new one in a fresh new brand-
Changelogs:
GUNBOT is now portable: just grab the gunbot file and the configs and you dont need to install node anymore: run GUNBOT.EXE, configure the first pair, press START GUNBOT and then push the blue supergun button. 1000trades is available with the "PLAY" button instead.
Each open pair shows used configuration now
The bot now knows the price we bought and if you restart it or your internet goes down, it will sell at profit all your coins at start.
implementing async calls to wait for poloniex to send us the value we want: if errors happen, the bot will handle them and start a new iteration
implementing some snippets on console: supergun trend is now graphically exposed in console and you can follow MAX LATEST PRICE and see the reasons why the bot doesnt buy or doesnt sell yet
new config options available:
EMA1: 0.02,
EMA2: 0.04,
BUY_SMALL_PORTION:1, //you can adjust MAX BALANCE and force the bot to use lower amounts per trade: 0 is no trade, 0,5 is 50% of MAX BALANCE user per trade, 1 is 100% of MAX BALANCE used per pair. Default is !1
// limit of latest prices to show in console
MAX_LATEST_PRICES_SHOWN: 10,
//limit of latest directions to graphically represent
MAX_LATEST_DIRECTIONS:30,
//limit of latest directions shown on console
MAX_LATEST_DIRECTIONS_SHOWN:10,
some security bugs fixed: if you hack this with a not registered license, it will randomly sell at loss all your coins
EMA1 and EMA2 match polo values now: set their values 0.02 and 0.04 with 15 minutes candlesticks and you will see same values than polo
Patch-fix#36
Changelogs:
Fix CPU peaks for some windows users
Fix error 403
Fix typo on GUI settings
Fix statistics and (hopefully) 1000trades
A special thank to all users that contributed to debug old code and create yet another great release. A special thank to Henkkaa and Sweeet for their enthusiastic contribution to the forum, the support group and for helping us to keep up our morale
Please report any bug immediately!!!
Thanks!
~Gun
Pre-Release v2.0.2b Windows (x86/x64)
Changelogs:
Fix correct loading from save.json: the bot continues from where it left at restart, no more unclean SELL_AT_START operations.
Pre-Release v.2.0.1b - Windows x86/x64
Changelogs:
All feature of Linux versions plus:
- implementing colors (bot instances are not tabbed yet, but you can use 2 buttons to select/show/hide the pair instance console you want to check). Final release will tab them all like in old ConsoleControl
- Users can now save settings and reload settings they saved per each pair
- Users can now change settings without having to restart the bot
- Users can now save their API/Secret so they dont have to input them again when they close the bot
- Initial commit for future features: graphics, profit/loss calculation, trading history (as long as i update the GUI you will see more tabs on your bot
- Your Gunbot knows when to speed up: when prices are about to reach the bottom of a dump or the top of a pump, you will see your bot speeding like a crazy monkey! Dont get scared: we need to be fast when we need to buy and we need to be fast on market when it is time to sell.
Dont be scared to use short times and settings too: you will NOT get banned from Poloniex. The bot is completely refactored using async, so we send and receive informations from/to Poloniex respecting our time and their callbacks: ii anything goes wrong, your Gunbot knows what to do and will handle any kind of error, in the right way.
Maybe i forgot some features....
Please run the bot with extremly fast settings: short time delay, short prices list etc, let it run over a minimum of 8-10 pairs, and you will see your Gunbot being your profit generator.
Tips and tricks: your Gunbot now knows if you change settings and you could help him to have more profit. If you are the kind of person that likes to watch at your Gunbot with a corner of your eyes at Poloniex, you can use the Gunbot settings to raise %GAIN if you see a huge pump ;)
Same apply for the buy price: change ema values and you will see the price to buy to lower or raise, you can help your bot to ride the swings dinamically!!! Experiment with the ema values: if anything goes wrong, set the default values again (0.02 and 0.04) and start again to experiment until you understand how to lower and raise the buy price.
A special thanks to all linux users in the Telegram group that helped me to debug this core and give us all a better Gunbot.
Please report any bug immediately!!!
Thanks!
~Gun
Pre-Release 2.0.2b - Linux version
Changelogs:
Fix correct loading from save.json: the bot continues from where it left at restart, no more unclean SELL_AT_START operations.
Russian Roulette - Linux version
This release is a complete refactor of the previous code, based on async. This should handle all poloniex errors, ports communications, disconnections and all other issues. Please note: the previous code was the real Russian Roulette as it randomly buy 10x the amount we set in configs and was loved by traders because generated 10x profit :)- If you still want to use the old version, take care of your old folder and unzip this new one in a fresh new brand-
Changelogs:
-
GUNBOT is now portable: just grab the gunbot file and the configs and you dont need to install node anymore: run it with ./gunbot , with args being coin pairs like old way
-
deprecated params.js we now have one config.js file: you can make one config file per pair by renaming it like BTC_XMR-config.js and the pass the on command line, it will pick up the right configuration
-
implementing async calls to wait for poloniex to send us the value we want: if errors happen, the bot will handle them and start a new iteration
-
implementing colors and some snippets on console: supergun trend is now graphically exposed in console and you can follow MAX LATEST PRICE and see the reasons why the bot doesnt buy or doesnt sell yet
-
new config.js file, not all values are used, i'm going to explain only used ones (this is a pre-release and i will cleanup after some debugs and before the release tag):
COINS_PAIR: 'BTC_ETC',
KEY: '',
SECRET: '',
SMTP: false,
SMTP_EMAIL: '*@gmail.com',
SMTP_PASSWORD: '',
SMTP_PROTOCOL: 'SMTPS',
SMTP_HOST: 'smtp.gmail.com',
// margin to sell when currency increases its value (example: sell when currency increases 2.5% of paid value)
GAIN: 1,MAX_BALANCE is now DEPRECATED: see MAX_ALTCOINS_BALANCE
// sell all balance if currency decreases x% after you bought it
SECURITY_MARGIN: 60,TIME_DELAY_PRICE: is DEPRECATED, we use iterations now, see BOT_SLEEP_DELAY
// minimum volume to be a good currency to trade (used in daily recommendations)
MINIMUM_VOLUME_GOOD_CURRENCY: 500,// minimum variation between low and high price to suggest to trade
MINIMUM_VARIATION_SUGGEST_TRADE: 5,// EMA interval in hours/100 to match polo maths
STARTEMA1: 0.02,// EMA interval in hours/100 to match polo maths
STARTEMA2: 0.04,//candelstick period PERIOD: 15,
// max value (in BTC) of altcoin we want to buy per each trade
MAX_ALTCOINS_BALANCE: 0.01,// bot cycle delay (koef*sec) per iteration (in this example it is 120 seconds)
BOT_SLEEP_DELAY:(1000)*120,// overall bot lifetime(koef*min), we can tell the bot to stop after a while: use same formula than BOT SLEEP DELAY. In this example it will never stop
BOT_MAX_LIFETIME:999999999,// must be 1 > x > 0 : we can trigger MAX ALTCOIN with this: 0.5 is 50%
BUY_SMALL_PORTION:1,
// limit of latest prices to analyze to determine if price is growing or falling
MAX_LATEST_PRICES: 100,// limit of latest prices to show in console.log
MAX_LATEST_PRICES_SHOWN: 10,//should we graphically show price direction
SHOW_LASTEST_DIRECTIONS:true,
//limit of latest directions to graphically represent
MAX_LATEST_DIRECTIONS:30,
//limit of latest directions shown on console
MAX_LATEST_DIRECTIONS_SHOWN:10,
//widht(scale) of latest directions list
LASTEST_DIRECTIONS_LIST_WIDTH:15,
//do not change this: it is used to save bot state on restart
SAVEFILE: '-save.json',
//do not change this: when you restart it will pick last buy price and place sell order at profit
SELL_ON_START:true
-
some security bugs fixed: if you hack this with a not registered license, it will randomly sell at loss all your coins
-
fixing EMA1 and EMA2 to match polo values
A special thank to all users that contributed to debug old code and create yet another great release. A special thank to Henkkaa and Sweeet for their enthusiastic contribution to the forum, the support group and for helping us to keep up our morale
Please report any bug immediately!!!
Thanks!
~Gun
SuperGun
Release v.1.3.0 - Release code: "SuperGun"
Changelogs:
- Initial commit of GUI refactor
- Trading consoles are now docked: i've abused windows users too much ;P
- You can now launch best currencies to trade on startup using the button "Statistics"
- Consoles buttons are now correctly working: Start Gunbot, Start SuperGun, Stop Gunbot, Clear Console.
- Implementing ScrollToCaret() to ConsoleControl API
- New strategy: SuperGun. You can now follow pumps and dumps: the bot will wait until a dump is over before to buy and will wait until a pump is over to sell. In this way we attempt to maximize profits. %GAIN and SECURITY MARGIN are still effective as backup values if anything goes wrong.
- Reducing memory leaks with some GC
- Code refactoring and clean up.
- patch to fix Cloudflare leaks as for https://github.com/pirate/sites-using-cloudflare
- SUPERGUN: MAX_BALANCE is amount per trade now.
- Ignoring error 422 from poloniex when we entering safety mode because security margin was reached: it would stop access to our order book
- fix double spending (actually not fixed yet)
- fix nonce errors. Linus users may have to npm install async for this to work
Please report any bug immediately!
Thanks!
~Gun