Version 2: Gunbot Strategy The Cautious Community Machine Gun
Version 2: Gunbot Strategy The Cautious Community Machine Gun
Hello and welcome back to the second version of the machine gun configuration. Now that we’ve got the basics established and understand how the bot is working, we’re going to start improving it. This setup was initially called the “Community Interaction” version as it grew out of lots of discussions after I posted the original configuration on the forums.
People from all experience levels came out to talk to me, and it was a perfect opportunity for education all around. Crowdsourcing ideas saw a large increase in profitability. At the same time, opening the doors to further conversation on proper trading philosophy and leaving money on the table in certain situations.
It also enlightened me on some of the end-user experiences for newcomers to the Gunbot community. Because of this, I prepared longer, more in-depth explanations when writing up the second version. I also included a section on how to test configurations safely. How to run multiple strategies & AutoConfig files side by side with already operating bots without interrupting current pairs.
We’ll start this time, same as last, with the settings and AutoConfig file upfront. Then we’ll get into why it’s different and what it changes. Once again, I want to express this is a real educational opportunity. By furthering your knowledge of the bot, you’ll only be in a better position to make more money with less headache. Make sure you grab a drink, get comfortable, and take the full journey!
Version II Configuration Settings: (bold settings are new to this version)
-
- Buy Method: gain
- Buy Level: -10
- Sell Method: gain
- Gain: 0.25
- Trading Limit: 50
- Min Volume To Buy: 11
- Min Volume To Sell: 11
- Funds Reserve: 1
- Period: 1
- Medium EMA: 60
- Fast EMA: 30
- Double Up Enabled: on
- DU Cap: 0.1
- DU Cap Count: 18
- DU Method: 0.5
- DU Buydown: 0.5
- TrailMe Buy: on
- TrailMe Buy Range: 0.05
- TrailMe Sell: on
- TrailMe Sell Range: 0.05
- TrailMe DU: on
- Market Buy: on
- Market Sell: on
- Market DU: on
- Trades Timeout: 10
- Exchange Delay: 0
Version II AutoConfig File:
{
"DURange-Fast": {
"pairs": {
"exclude": "",
"include": "-",
"exchange": "gdax"
},
"filters": {
"ducount1": {
"type": "smallerThan",
"ducount": 3
}
},
"overrides": {
"DOUBLE_UP_CAP": 1,
"TRAIL_ME_BUY_RANGE": 0.05,
"DU_METHOD": 0.25,
"DU_BUYDOWN": 0.25
},
"clearOverrides": false,
"schedule": "*/6 * * * * *",
"type": "manageOverrides",
"debug": false,
"enabled": true
},
"DURange-Normal": {
"pairs": {
"exclude": "",
"include": "-",
"exchange": "gdax"
},
"filters": {
"ducount2": {
"type": "biggerThan",
"ducount": 2
},
"ducount3": {
"type": "smallerThan",
"ducount": 8
}
},
"overrides": {
"DOUBLE_UP_CAP": 0.1,
"TRAIL_ME_BUY_RANGE": 0.05,
"DU_METHOD": 0.5,
"DU_BUYDOWN": 0.5
},
"clearOverrides": false,
"schedule": "*/6 * * * * *",
"type": "manageOverrides",
"debug": false,
"enabled": true
},
"DURange-Slow": {
"pairs": {
"exclude": "",
"include": "-",
"exchange": "gdax"
},
"filters": {
"ducount4": {
"type": "biggerThan",
"ducount": 7
},
"ducount5": {
"type": "smallerThan",
"ducount": 13
}
},
"overrides": {
"DOUBLE_UP_CAP": 0.1,
"TRAIL_ME_BUY_RANGE": 0.1,
"DU_METHOD": 1,
"DU_BUYDOWN": 1
},
"clearOverrides": false,
"schedule": "*/6 * * * * *",
"type": "manageOverrides",
"debug": false,
"enabled": true
},
"DURange-LostInSpace": {
"pairs": {
"exclude": "",
"include": "-",
"exchange": "gdax"
},
"filters": {
"ducount6": {
"type": "biggerThan",
"ducount": 12
}
},
"overrides": {
"DOUBLE_UP_CAP": 0.1,
"TRAIL_ME_BUY_RANGE": 0.25,
"DU_METHOD": 2,
"DU_BUYDOWN": 2
},
"clearOverrides": false,
"schedule": "*/6 * * * * *",
"type": "manageOverrides",
"debug": false,
"enabled": true
}
}
Small AutoConfig Note On Polling:
You’ll notice I had to increase the speed at which AutoConfig polls every six seconds instead of ten. This is so it would safely detect and make config changes while the new Trade Timeout was active. I’m sure this isn’t great for conserving CPU cycles, though it does a fine job keeping things correct between trades.
The New Entry Theory:
I reviewed Pim’s (@boekenbox) spotGrid settings and noticed he entered into the market with the lowest hand possible then had large 1:1 or higher DCAs. This helps a lot because the first purchase is generally just a placeholder if things continue to fly upwards. At least you’ve got some skin in the game. Though the real important purchases are normally the next 2-3 rounds afterward. (which I discussed in my previous post) That’s why they have the sharpest settings in my AutoConfig file that separates DCA orders into different categories. Most of the time (in my experience), the market will determine what direction it’s going after a short volatility phase, where these first few orders get placed. It’s your bag-building time.
We’d have a $200 opener with my old settings, then three quick rounds of 20% average. It left us with roughly a $345 bag to profit off if the markets went up or start slowing working against if they went down. This has made me good money, so I was reluctant to change it. By adopting Pim’s style, we make our first pretty pointless entry order, nothing really at risk. Then by doing larger 1:1 DCAs for the next three rounds, we spend about the same amount of money but end up in a much better position every time. By the end of the third round, we’ll now be holding a $400 bag which is only a $55 increase over before. Though with each order we halved, we can achieve the distance required before selling off at a profit.
This has resulted in instantaneous profit a bunch of times for me during the testing trial. By the time the third-round kicks in, the markets will have given off at least one solid dip that it grabbed. Making the breakeven line drop below the ongoing rebound of the market. Gunbot makes a sell immediately as it’s profitable, and the whole machine gun concept just got sped up dramatically. I really like what he’s done here, but it comes with a few downsides.
The Bull Run Trade-Off:
This much better entry system to markets really bites on bull runs upward. You’re basically throwing down $50 to make sure you catch the market if it keeps soaring, but the gains of $50 are minimal. Previously the bot was doing $200 buys for the first purchase, which was decent enough for running uphill all day. Actually, it made some of my better returns than the standard sub percent machine guns as it would move multiple percentages up with each run before selling off. That’s four times the profit then we see now.
But straight runs upwards are a rarity, so you’re basically sacrificing profits when this happens for better results the rest of the time. In future versions, we’ll explore adding a system to the AutoConfig file that would notice we’re flying directly upwards and change it to start throwing down larger entry purchases. Still, it’s currently just an idea that’s not built into the configuration. This discussion actually leads to another issue I’ve been facing in the new version.
The Problem with Trade Timeouts:
In the previous configuration, we ran a setting of 0 for Trade Timeout. The bot would buy and sell instantly after having placed an order. Sometimes the bot would not get information back from the exchange in the time given it was running on an exchange delay of 0, resulting in multiple orders being placed. I really didn’t mind, as an accidental 20%, DCA round wasn’t that big of a deal compared to the speed it had. It would catch volatility dips like a psychic being that fast.
The problem is in the new version, we’re making some monster 1:1 purchases of DCA for the first three rounds. There needs to be time for the markets actually to move between these purchases, and there needs to be time for the bot to run the AutoConfig file and adjust its purchasing behavior to the new category once it’s maxed out. It’s time in the fast lane. For example: let say it’s completed round 3 of DCAs, and you’re now holding a $400 bag. It might not get the information back from the exchange right away with zero delays, so it throws down another 1:1 order. You’re now holding an $800 bag, and you’ve not traveled anywhere fruitful in your market depth.
So, I had to implement a rather long wait time of 10 seconds via the Trades Timeout setting. Any shorter, and it would sometimes (albeit rarely) still throw off a second purchase. This is like waiting a year in machine gun trade time; it’s painfully slow. This also causes a loss of profit on the run-up because the bot will sell-off at the slightest movement downwards. This means it’ll need to put in another order right on top of itself if the market keeps going up.
Previously in the first version, it was so fast that there would generally be no gap between the two. It would empty heavy bags then start fresh again right away now though it’s got to wait 10 painful seconds before it can do this. That’s an incredible amount of market travel if things are being a bull on rockets upwards. I’ve watched 1-2% gains just get lost thanks to the new Trades Timeout setting cock blocking it.
You could try dialing down the Trades Timeout setting to the lowest number possible for your connection, but I wanted to include some room for lag on both your side and the exchanges side. Accidentally ending up with an $800 bag or worse, another round on top of that leading to a $1600 bag is a major problem. I’ll continue to explore options for working with this situation in future versions.
Is the 0.05 TrailMe Sell Range Leaving Money on The Table:
I always believed the 0.05 vs. 0.1 argument on-sell settings was that 0.1 was losing money compared to 0.05. Specifically, on very tight days where you’re trying to make a buck during sideways trading with no real movement. AKA the lower end of the sub percentage market. But it’s been brought to my attention that for every other trading situation that can arise, people think 0.1 is better as 0.05 is accidentally triggered too early.
When the Trades Timeout was 0, and the bot was ultra-fast, this wasn’t as big of an issue because it would purchase again literally right on top of itself if things kept going upwards. But now that there’s a large delay afterward, it would be nice if it didn’t accidentally trigger if things were still generally traveling upwards.
The profits lost from waiting ten seconds to buy back in again are staggering. I’ve been watching it happen time after time in the last few days of testing the new settings out. The argument that 0.05 is too lean is really ringing through my head right now. It’s going to make the low-end sub percent market much harder to play and much less profitable to change it. I like to make money when it’s on the table; 0.05 does this every time. But I also hate watching it throw money into the wind by selling off too early.
If we could find a solution to the bot’s rather large new Trades Timeout problem, then I’d feel better about keeping it lean. Ultimately the purpose of this setup is to machine-gun the sub percent market, so changing it is self-defeating. The only way I know to see which is better is just to run long-term testing cycles. With the natural chaotic fluctuation of the markets from day-to-day small testing, samples of the 24-hour run just aren’t going to cut it. For now, it’s basically up to the opinion of the end-user.
Extending DCA Rounds By 50%:
A big part of the changes in this version is the new market entry strategy discussed above. Though there’s no way, I can continue to support large 1:1 DCA rounds past the first three that leave us with a $400 bag. That’s thanks to my personal financial situation, so you may be able to continue down that path longer. The important part is not throwing out the previous ideas that worked well. So what happens in this version is when the first three rounds are over, the Fast section of the AutoConfig script changes to the Normal section. Here things return to the much smaller purchases from before. Though now we’re doing 10% DCA rounds instead of 20% because we’re able to do more of them.
Previously this wasn’t possible because a 10% DCA order on $200 was too small for markets like BTC on my test exchange. It would kick back an order error which you might remember I was talking about in the previous post. Since our bag is much bigger, this isn’t a problem,m and we can actually extend its DCA abilities out to 18 smaller rounds.
Three Fast, then five Normal, Slow, & Lost In Space rounds. The idea being that with smaller 10% rounds, we can make the bot more granular, which helps keep things on target as well up to its bag size more often. This way, when the market does switch directions, it’s better prepared all around. Given you’re paying a percentage trade fee and not a set amount, you’re not paying anymore, just securing a better position by doing this.
I kept the settings pretty much the same outside of changing the DCA amount. Minus the Lost in Space rounds now simply double from 1.0% DU Method and DU Buydown to 2.0% instead of going all the way to 2.5%. The reason behind this is I wanted to make sure we were at least covering 10% of the market fall in these last rounds when the big purchases were happening. Since we’ve got an extra round now, we can actually purchase slightly more often while still covering the same distance.
This also changes the total bag size you’ll ever hold from $1800 max with the old settings to $1700 max in the new. Starting with $50, then three 1:1 fast rounds to $400 followed by fifteen 1:0.1 rounds ending at $1,670.90. This number will never be exact, thanks to the way purchases happen, but you’ll be around there. For this test period, I’m running six pairs, which would require $10,025.40 to cover if everything crashed and went to round 18 fully.
I started with $5,000 in total funds as I’m being EXTREMELY GREEDY and hoping that only one or two markets will need to go deep into the extended DCA rounds at any given time. I’d be in a real mess if a crash happens at this level of greed. If I wanted to be safe, I could only run THREE pairs and completely secure them all the way to round 18 of DCAs. Though that’s going to cost a lot of profit, as the more hands you’re playing, the better chance you’ll have at riding a good market for a while. Once again, with the dance described in the first post.
I can see the profits rolling in from having a much finer grain already in my trial run. This is considerably better than the old settings I first posted. You could probably even cut them in half again and extend this out to more rounds if you liked. It’s on the list for future ideas I’d like to test. It’s already like a wave of purchasing as it stands currently, and you do need to provide room for the market actually to move, so this may be the happy medium. More than before but not too much; time will tell.
How to Safely Test This Configuration:
Many people contacted me looking to give my configuration a trial run but weren’t sure how to do it without interrupting their other already running pairs. This is actually rather simple. First, create a new trading strategy following the above settings and apply it to the pair(s) you want to test. Then go into the AutoConfig file, and you’ll see two lines in each of the four sections. You’re looking for the “exclude” & “including” parts. Here you can list pairs you want this to run on and pairs you don’t. Directly out of the Gunbot Wiki, a couple of examples for using this would be:
EXAMPLE #1:
-
- “exclude”: “DOGE”,
- “include”: “BTC-“,
This would automatically apply the script to all “BTC-x” pairs but not to “BTC-DOGE,” which would be excluded.
EXAMPLE #2:
-
- “exclude”: “BNB,XVG”,
This would not run the script on pairs containing “BNB” or “XVG” in their name.
EXAMPLE #3:
-
- “exclude”: “DOGE,ETH”,
- “include”: “USDT,BNB”,
This would run the script on all active trading pairs that include “USDT” or “BNB” but do not include “DOGE” or “ETH” in their pair name.
Make sure you add your test pair(s) to include and your other currently running pairs to exclude. You’re also going to need to edit the exchange settings (there’s four, one per section) to wherever you’re running the bot as well. After that, you should be good for a live trial run to compare my configuration to others without disrupting your current trades.
24 Hour Test Run Results: (please note: this is too short of a test to be of any real value)
Alright, so I started with a fresh install of Gunbot v21.2.5 yesterday, put the new configuration into place, and let it rip. This trial run had 5k in starting funds available, ran six pairs, and paid 0.2% in fees per trade. The bot hasn’t even ended the first 24-hour cycle in the console yet, but this is when I have time to write the post. So roughly a day later, here is where it stands:
BTC: | +5.40578027 | AVG: 0.90096338 | Hero: 2.307439450069353 | Closes: 6 |
ETH: | +14.25858332 | AVG: 1.01847024 | Hero: 2.8612470483936363 | Closes: 14 |
UNI: | +15.22203978 | AVG: 0.72485904 | Hero: 1.7714818585867533 | Closes: 21 |
UMA: | +47.97587734 | AVG: 1.54760895 | Hero: 9.84181911799999 | Closes: 31 |
AAVE: | +33.72025167 | AVG: 1.08775005 | Hero: 7.971438273999922 | Closes: 31 |
LINK: | +17.74478474 | AVG: 0.84498975 | Hero: 2.156571064199966 | Closes: 21 |
TOTAL: | +134.3273171 | AVG: 1.08328482 | Trades: 360 | Closes: 124 |
The first thing I notice is that the average is way down. That has to be thanks to the much smaller entry buys of $50 vs. $200 as we’re just not making as much money when it’s one buy, one sell. Or even within the first two DCA rounds as we’re still not back up to what we use to hold right away by then.
You can also see how BTC was a real slow-moving pair over the last day while UMA and AAVE had lots of volatility resulting in the most trades and the most profits. I honestly expected to see more out of this second version of the configuration, but it has only been a single day of testing.
I checked in on it throughout the run, and at times I saw it effectively using up to 85% of the total funds available through DCA rounds. It never got locked up by not having enough funds to continue, but it was pretty close. Once again, I’m really greedy here as 5k is only enough to support three pairs fully. Luck was with me over the last day.
I’m testing on Coinbase Pro for now, which eats up a considerable amount of the profits and allows for limited market agility with the higher fees. If you’re trading someplace like Binance, then the lower trade fees will not only bring in more money per trade but increase the bot’s ability to get out of markets easier. This could’ve been a much more profitable day purely based on switching exchanges.
Conclusion:
Hey, Congratulations! You’ve made it through another wall of a text post. Your understanding of this configuration should have leveled up at least twice if not three times over this process. As you can see from the concise test I’ve run, it turned out to be a pretty good day. Compared to the previous settings I posted, it qualifies as alright. It wasn’t a bad day, it wasn’t a monster day, but with only 5k to work with, I’ll certainly take it.
Keep in mind there’s always a better way to trade out there. It’s often just about getting knee-deep in and observing how the bot reacts to each step you take. Not to mention the staff keep making it better with each version, so you really need to stay up to date as well. You can get access to the nightly/beta builds from the official Telegram group “Gunthy Announcements,” so don’t forget to request access to this from your reseller. While you’re at it, make sure you come on by and say hello to us in the Elite channel.
Ready to take this configuration to the next level? How about twelve pairs inside four instances of the bot all running at the same time?! Yeah, boi! Get hyped because we’re going deep in the next post!
Cheers, everybody, thanks for reading!
Next Up: Version III – The Aggressive Machine Gun
Previous: Version I – Introduction to a Basic Gain Configuration
Disclaimer:
This series is not financial nor investment advice. These are ideas and opinions for information purposes only. Seek a certified financial professional for investment advice. If you’re going to get into this for a career or even as a major part of your financial capabilities, then take caution, do not play with more than you can risk. Market’s crash, the losses always come faster than the gains, a dollar earned will be a hard, painful journey, but a fortune lost will come in the blink of an eye. If you want to keep waking up comfortably in your bed, then never play with your rent/mortgage/survival money.