Gunbot Shop › Gunbot Forum › General Discussion › Gunbot v24.x Beta changelogs
Gunbot v24.6.1 Release Candidate.
– Fix decimal error for pnl statistics page.
– Adapt pnl api to be able to provide data while trading is disabled.
Gunbot Shop - https://gunbot.shop
Gunbot v24.6.2 Release Candidate.
– fix bitmex balances.
– fix bybit short orders with gui/webhooks.
– Fix problem that could cause an error during gui config reload.
– Fix inconsistencies in label and value of break even / unit cost data in overview sidebar.
– Fix issue that caused erratic behavior related to the displayed chart period.
– Trading settings: fix description text for mm futures.
Gunbot Shop - https://gunbot.shop
Gunbot v24.6.3 Release Candidate.
– push up huobi candles up to 1000 for spot markets.
– Add alternative data points for chart to pick up correct period from, before reverting to default value.
Gunbot Shop - https://gunbot.shop
Gunbot v24.6.4 Release Candidate.
– fix an issue that would return bid/ask = 0 because api fuckeries.
Gunbot Shop - https://gunbot.shop
Gunbot v24.6.6 Release Candidate
– fix simulator balances.
– fix versioning in core.
– fix bid,ask,lastPrice,uPNL,ROE going to Infinity or zero for futures markets.
– Fix trading terminal market buy amount.
– Improve sorting on active dashboard / active pairs.
– Add upgrade button to three dots menu (it will show only if your actual license is open to any possible upgrade).
– sgs: improve conditions for dynamic sl.
Gunbot Shop - https://gunbot.shop
Gunbot v24.6.8_beta
New Strategy: Quanta G-Type
This strategy is a geometric market maker hybrid designed to bootstrap and long term trade very large market price movements (100’s to 1000’s% price moves). A quantitative algorithm is very different to a technical analysis algorithm. As an always in strategy, it performs to a markets 3 states:
Sidewards Market – Spread trading (price bouncing buy/sell intervals)
Price Pump: Decumulation of assets when conditions are right
Price Dump: Accumulation of asset when conditions are right
Is this strategy for you?
Market bootstrapping is a long game, making dumps fun and it loves volatility over massive ranges. This is a long term strategy with a long trading time horizon meaning it’s for traders who want to set & forget and are focused on long term investment and return. If you like fast action or find yourself swapping quote coins every 5 minutes, this might not be for you. You can however make this ultra aggressive but it will require significant starting capital, not for the faint hearted (you have a link to a calculator below, so you can see the triangle of market range, spreads and capital required).
How are profits generated?
Profits come from 3 functions:
Spread Profits – The price derivative of spread trading (small)
Accumulation of Spread Derivative – Using excess quote from spreads to increase sell interval values (medium)
Inventory Swing – automatic management of inventory between upper and lower bounds (large)
What are my risks?
Due to the trading time horizon, choose a coin you have high confidence will still be around for a year plus, you will be trading all market seasonality. The biggest risk is if price falls below lower bounds – we mitigate this by trading massive ranges but important to get setup right. This means that you will get spread trading gains on the way down which will offset a little against decreased inventory value. REMEMBER: In any market, during long declines the effect of market making is to decrease losses and to lower average buy price NOT to realised actual profits.
Operational Features:
Auto compounding
Auto inventory management by flipping profits in either quote or base
Auto trading limits by refreshing balances and order arrays on each buy or sell
Auto buy/sell sloping of limit order value (highest first on both buy/sell sides around price midpoint, profits increase TL from the middle down/up to bounds)
In-depth & comprehensive performance indicators showing all aspects of the strategy performance (inc. HODL vs. Trade comparison, clear uPNL breakdown, projected annualised wallet growth)
Very light API weight. This strategy catches up with market price and triggered limit orders. Exchange refresh of 2-10mins is fine (dependant on the volatility of your trading pair. Higher price volatility, lower refresh rate) – this means you can stack a VPS full of instances
Operational Depth Control – user specified to ensure you always catch large volatile moves
Starting the Strategy – How I do it in 5 Steps:
Market making over a large range requires a little preparation. You can do this anyway you wish but to accelerate you -this is how I do it.
1 – Understand macro market support and resistance (i.e. TradingView weekly or monthly charts – USDT-BTC weekly you can see clear support at $16,000 and resistance at $47,000). They become your upper and lower trading bounds and will need to be completed in pair overrides
2 – How much is your starting capital in base? For this example let’s assume it’s $2000. You add this in STARTING_BASE override (example below)
3 – I have created a starting calculator you can make a copy of which will calculate the amount of initial quote to purchase and you can do some ‘what if’ calculations based on trading range, capital, spreads and initial entry price in the trading range –
4 – One you have split your starting base capital into base and quote, enter your starting information into the overrides.5 – Before you press start, head over to currentmillis and get a timestamp for a time after you split your starting capital and add it to IGNORE_TRADES_BEFORE override. This strat wants a clean start. https://currentmillis.com (https://currentmillis.com/) – Order depth is how many limit orders are placed above and below mid-spread price. These can be changed anytime – you want enough to catch large candle tails. For USDT-BTC I use 3 at 1% spread.
Additional Important Info:
Cancel orders must be disabled in the global bot settings (you can do that on the setup page)
Use a large exchange delay – 120 seconds or greater, less if you on high volatility $hitcoins but you don’t need to hammer the exchange
Your trading pair state file is important for accurate calculation of performance – don’t go deleting it
Over the first day of trading, you might see some NaN’s and strange looking numbers, this is ok. The performance indicators use actual trading data to derive performance, projections get more accurate over time etc
You can add additional base or quote at anytime – the entire range array will adapt and recalculate on every buy or sell, this will however cause some skewness in the performance indicators but will average out over time
Why 4h tf? This is market bootstrapping, it is not bound to trading timeframes as it uses quantitative trading rather than technical analysis. 4h is used for visualisation and trend direction
Example Overrides:
“override”: {
“UPPER_BOUND”: “47000”,
“LOWER_BOUND”: “16000”,
“STARTING_BASE”: 2000,
“STARTING_QUOTE”: 0.06952,
“ENTRY_PRICE”: “19273”,
“BUY_INTERVAL”: “1”,
“SELL_INTERVAL”: “1”,
“ORDER_DEPTH”: “3”,
“IGNORE_TRADES_BEFORE”: 1657720288320,
“TRADING_MODE”: “auto”,
“BUY_METHOD”: “custom”,
“SELL_METHOD”: “custom”,
“MIN_VOLUME_TO_SELL”: 11,
“PERIOD”: 240,
“CANDLES_LENGTH”: 200,
“dave”: true
}
complete updated overrides settings:
“override”: {
“UPPER_BOUND”: “47000”,
“LOWER_BOUND”: “16000”,
“STARTING_VALUE”: 2000,
“STARTING_QUOTE”: 0.06952,
“ENTRY_PRICE”: “19273”,
“BUY_INTERVAL”: “1”,
“SELL_INTERVAL”: “1”,
“ORDER_DEPTH”: “3”,
“IGNORE_TRADES_BEFORE”: 1657720288320,
“TRADING_MODE”: “auto”,
“BUY_METHOD”: “custom”,
“SELL_METHOD”: “custom”,
“MIN_VOLUME_TO_SELL”: 11,
“PERIOD”: 240,
“CANDLES_LENGTH”: 200,
“dave”: true
}
Gunbot Shop - https://gunbot.shop
Gunbot v24.6.9_beta
– gui api: add support for bybit pair lists
– autoconfig: add support for bybit spot and usdt-futures tickers
– Add/decouple various settings for stepgridscalp
– trading settings: improve hint for sgscalp auto step size
– More sgscalp settings refactor.
– refactor strategy editor for stepgridscalp
– add support for changing bybit market type and displaying pair lists
Refactor settings options and strategy editor for stepgridscalp
Notable new settings:
– tl multiplier: increase tl with each next dca buy
– accumulation mode: start buy only mode in ‘bullish reversal’ phase, no partial sells below break even allowed
– multi time frame mode (experimental but not too dangerous, condition are under review): increase trading frequency by dynamically switching back and forth between two sets of timeframes
– choose between ATR and avg candle size modes for auto step size
Notable settings editor changes:
– ‘trend module v3’ is now called ‘IRIS-Trend’.
– decouple and rename ‘trend sync’ and ‘trade supports’
– reorder all settings to more logical sections
See strategy editor for all details.
Old configs should still work without changes.
v24.6.9 also corrects Quanta G-Type strategy overrides: you dont need to set both STARTING_VALUE and STARTING_BASE anymore, just use STARTING_VALUE as required by the strat.
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.0_beta
Custom strategy methods
New getLedger method to fetch Gunbot pair state data for any pair on any exchange:
gb.method.getLedger(pair, exchange)
returns an object, and an empty object in case the requested ledger data is not available
Make it possible to fire orders and get candle data for any pair on any exchange, by adding an optional exchange prop to the following methods:
gb.method.buyMarket(amount, pair, exchange)
gb.method.sellMarket(amount, pair, exchange)
gb.method.buyLimit(amount, price, pair, exchange)
gb.method.sellLimit(amount, price, pair, exchange)
gb.method.closeMarket(pair, amount, exchange)
gb.method.closeLimit(price, pair, amount, exchange)
gb.method.cancelOrder(orderId, pair, exchange)
gb.method.getCandles(interval, period, pair, exchange)
sghedge: add requested new trend variant ‘custom’, to use your own trend algo instead of the built in one. To use this, set the value for TREND_VARIANT to ‘custom’, and save your own trend direction as an override called CUSTOM_DIRECTION (1 for long, 0 for both, -1 for short)
– sghedge: add requested ‘panic close’ option. Immediately closes both sides positions when enabled.
– sghybrid: add requested ‘tl multiplier’ option
– sgscalp: add ‘always use tl multiplier’ option. When enabled: all TL ratio settings use TL multiplier for the base amount to apply the ratio on. When disabled: each TL ratio setting works as ‘absolute amount set as trading limit’ * ratio.
Quanta g-type v0.8
– added automagic storing of starting portfolio values in state if they dont exist
– removed actual requirement for overrides STARTING_VALUE, STARTING_QUOTE and ENTRY_PRICE on first start
– created ability to override stored starting values anytime by using overrides STARTING_VALUE, STARTING_QUOTE, STARTING_BASE and ENTRY_PRICE
– added ability to manually reset portfolio values by using a manual override of “RESET_BALANCES”: true.
– added additional logging to some conditions.
– added additional variable “startingBase” for future features.
– small tweaks to sidebar naming confluence and descriptions.
– rate limited limit order cancellations and creation to get over FTX limits.
– created ability to override rate limit in overrides for edge cases, value is milliseconds – “ORDER_DELAY”: 300
– change actual base calculation to loop openOrders when deriving baseholding for Mex issue.
– fixed some typeErrors inc. actualTvic.toFixed
– changed conditional aggressiveness of auto switching algorithm from auto to accumulate / decumulate.
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.1_beta
– fixed an undefined variable affecting sg hybrid and sg scalp.
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.2_beta
– Fix freezing behavior for stepgridhybrid and stepgridscalp, when used with forever bags enabled.
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.3_beta
– initial refactor of bitget API: highly unstable, dont use it in production.
– Security patch for demo instances.
Custom strategies: add methods for spot post only limit orders
gb.method.buyLimitPostOnly(amount, price, pair, exchange)
gb.method.sellLimitPostOnly(amount, price, pair, exchange)
(exchange is an optional parameter, can be omitted)
example without waiting for the promise to resolve:
gb.method.sellLimitPostOnly(0.001, 20000, ‘USDT-BTC’)
example that awaits the promise:
gb.method.sellLimitPostOnly(0.001, 20000, ‘USDT-BTC’).then((result) => {console.log(result)})
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.4_beta
– fix balances for ftx spot.
24.7.4 got some debug logs that are annoying some users, if you are one of them use these executable, I’ve disabled my own debug logs.
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.5_beta
– second attempt at rate limit fix for limit order rates on FTX .
– fixed an undefined on strat store clear when variable not added to overrides.
– add sense check to deal with duplicate orders in the event of API fuckery.
– security patch for demo mode.
– sgscalp: tune conditions for ‘strict entry’.
– sgscalp: add upper period buy/sell volume percentile data to the sidebar.
– sghybrid / sgscalp: improve howmanytl calculation when used together with tl multiplier.
– stepgridscalp: fix situation where buy target gets stuck at a price far below bid.
– stepgridscalp: improve conditions for mini sl, add a mechanism to take better advantage of sudden pumps by changing from candle style sell trailing, back to regular sell trailing.
– stepgridscalp: improve conditions for strict entry, by adding volume and volatility criteria.
Gunbot Shop - https://gunbot.shop
Gunbot v24.7.6_beta
– fix ftx market buy orders.
– MM spot attempt to spread buy and sell orders a bit more.
– Add option to configure simulator starting balances on setup page.
– Fix description text in trading settings.
– Trading settings: add ‘NONE’ option for sgscalp exhaustion sensitivity, to make it possible to disable protection against dca’in in exhausted market conditions.
– sgscalp: fix issue that could start trailing in both directions, add timescale mark for cancelling open limit orders.
– sgscalp: optimize code execution time.
Gunbot Shop - https://gunbot.shop