Mike Fishy and Automation System Programming (Bots)

Hi all,

Sorry, not been working on any code for the bot recently. I am working on some code for FPGA mining and also running shorts on the AUD for the last month.

For anyone that trades options on Forex, it can be quite profitable, I have had several days of greater than 50% profits on PUT options greater than 30 days to expiry.

In the mean time, my funds have been sitting in BTC, which has turned out to be positive anyway, so no complaints :slight_smile:

Will get back to doing more bot coding in time, though at the moment I will say its been in a good position while things progress the way they are. I tend to direct my efforts towards what gives me the most gains and Forex has had much higher volatility lately and BTC did a nice run where I didn’t need to do anything. Forex has been my main vehicle for many years, so this bot kind of has a lower priority and I would really like to get a new mining rig built to see if I can innovate a new method of low cost, low power mining directed towards individuals rather than large corps.

Stay Fishy


So for anyone just joining in… Non techy here. I’d love to use this bot. Did the updating stop? What’s the current GitHub? Is there one or is it just a group of people all working on separate projects but bouncing ideas off each other?


The latest iteration is still in Fishy’s hands and not on Github. He’s busy raking in the dough in other markets, so yeah, updates are on hold until crypto strikes his fancy again. I say, go ahead and push what ya gots, Fishy and let us hack away at it and have some fun learning from your latest strategies.

For me, I’m also not very actively developing at the moment on account of renovating main level of my house and that’s been sucking all my spare time. Meanwhile, making 2 to 3 trades a week manually, which is earning a nice, fairly consistent ROI.


Those are credit/debit spreads and cap exposure though but i am sure he does all of the above.


Amazing thread. Really enjoyed reading this.

Anyone still testing strategies? Today I started playing with the most recent code on GitHub, pretty fun. Do not fully understand everything, but made a list of items to study and will reimplement to code in node.js or golang for learning purposes :slight_smile:

Are there any efforts to progress this further? Based on @Mike_Fishy firsts posts I see there are definitely a bunch or programming tasks that could be done.

Looking forward to hear any about any advancements or experiences


I took a bit of a break from bot building to try to finish up renovations on my house. But am back at it these past couple weeks. I’m building some of the data collection and number crunching in Cyrstal langauge now instead of Ruby because it is way more performant. I just put out a new open source project for Binance API wrappers in Crystal:


Cool work @mwlang, haven’t used Crystal yet, did work some with Elixir and looks quite a like, which makes sense because they both are inspired by Ruby’s syntax. I can imagine Crystal is a perfect combination between productivity and performance :+1:

Are you planning to create your bot completely in Crystal, or would this become part of your “Optimus Prime”?


Guys… think on this… python has alot of the stuff you need already written… some really good resources out there…has capability for Machine Learning and whole bunch of really cool analysis… this is why I am using it…

Up to you… just a thought…


Just a quick question and anyone can answer this but if someone were to offer a service where they offer like cloud bots instead of mining… How feasible would that be from a logistics side of it? What specs do these bots require to run successfully?


It’s not exactly easy. As you can probably tell just from this thread alone, building a profitable one and keeping it running is a huge task in of itself. As a SaaS, you’ll have to go well beyond just the trading bot itself and consider:

  • supporting various exchanges and EVERY trading pair on the exchanges,
  • providing high-grade security to protect the users API keys and funds
  • not introducing gross programming errors that lead to gross loss of funds
  • low latency, high performance all the time – your users will be highly demanding of their buy/sell orders executing near-instantaneously and handling things gracefully when exchanges (which aren’t under your direct control) go down or suffer unexpected network outages.
  • ability to scale both for CPU and storage since you’ll be collecting a ton of data and running computations on that data near continuously.
  • potentially getting licensed to offer money exchange services (not just that NYC BitLicense, but financial brokerage licenses, hedge fund licenses, etc. (of course this varies by country/region you’re operating from).

It’s no small undertaking by any stretch of the imagination. I build systems at scale professionally and this would be the kind of undertaking I’d charge six-figures (if not seven!) annually to build and support on ongoing basis just because of the staffing and expertise needed to pull it off.


This is something I have on the agenda. I have been building my bot code on the concept of updating a configuration file of machine learned values of historical indicators…

There is alot of number crunching and the concept I am going is that the configuration file requires regular updates with the latest optimised indicator values. This can then be cascaded down on update.

A challenge for sure and it’s really cool to see what you have made do something even it it’s not successful. Backtesting is essential

Some awesome tools out there in python. However, you need to figure out what it’s doing for sure. What I do is only take bits of the packages I have use for and put it in my own file



The goal is actually to introduce it to my own exchange where I have a lot more control. The bot would be specifically made for that exchange and will have full access to the full exchange and all its pairs. Will make sure it’s done completely right before even considering presenting it to customers. AWS can handle the stress and can scale as needed and you’re only charged for what you actually use that month. Customer will be charged a monthly fee along with the natural transaction fees that comes with trading on the platform. I’m just trying to think of ways to separate my exchange from others and stand out.


Get coding in a language you feel comfortable with. It’s not easy and you have an uphill battle. Python has advantages over the rest… I will not be using an AWS platform… I have a different solution based on python and core processing power options for multitasking python files. First trick is to get it working for you well… it will take daily intervention as well. Lots to think about.



If you have your own exchange, then more than half the battle is already won since all your data is already nearby and you don’t have to deal with fetching, storing, and ensuring you have complete data to work with.

Given you already have the security and customer management pieces in place, all you need now is a process to compute the statistics needed by the bot to make buy/sell order and presumably talk to your exchange presumably through your exchange’s API to place orders with the matching engine on your customer’s behalf.

Only real issue I see is, if you have 1,000 customers using your bot to trade on your exchange, what happens when the bot places nearly same order for 1,000 customers? :thinking:

One problem with these bots is they’re great for the small timers (meaning anything under, say $250k size portfolios), but at some point the size of the portfolio becomes wieldy to execute against the order books because order sizes of the bot’s trades begins to wipe out the order books or just take a long time to carry out the order executions to completion…which in turn starts killing profitability potential.


Some kind of logic will have to be made to them to avoid that from happening. For example off the too of my head, what if the bot looks at a range of buy orders vs an optimal satoshi figure… So given a certain percentage gain for a buy or sell order it’ll make slightly different trades for people. That’s why in my mind what I envisioned was instead of one bot, there was a separate instance for the customer and they would all run on slightly different and configurable logics. You can set it to balance a portfolio or to make a specific profit with stop losses. Like there’s one default bot setting and you can tweak it to your needs. They’ll pay for computing power thru a combination of both fees and transaction fees. Now given the size constraints of a given portfolio you can actually cut it off to a certain deposit limit to the bot to avoid just that from happening.

1 Like

By virtue of giving your users the power to configure the bot, setting their own balances, picking their own market pairs, picking from various strategies, picking the thresholds they want to employ, you’re right, it will balance itself out. If you build it all on AWS, you can use AWS itself to track a lot of the computing power used by the bot for billing purposes as well as having solid scaling options, so I’d say you’re on the right track overall.


Playing around with the code, I’ve started to wonder why it is that we’re using a 5 second tick, and for example why not use a 1 second or live stream? Intuitively I would think that more data paints a better picture of various indicators. But on the other hand, responding too quickly would make a bot very “jumpy”.

Anyways, very curious about the 5 second ticks and the different trade-offs :slight_smile:


Suggest you collect some timestamp data and test various intervals… I am thinking that for me operating over a longer timeframe works better…


I don’t know Fishy’s reasoning for his choice (the scripts published all originated from him), but I played around with 1 second intervals, which is the lowest resolution Binance will feed you data and it really wasn’t all that much different from 5 seconds. Yet, 1 second intervals creates nearly 5 times the workload on the CPU and network bandwidth is quite high if you’re looking at all the asset pairs all the time. I’ve been successful with 1 minute candles when trading the 15 minute and 1 hour timeframes (effectively), so…bottom line: “it depends!”

It just comes down to experimentation, what CPU power you have to run your algos, the latency you can tolerate in your strategies and the strategies you can build to take advantage of that data stream.


great write up man just learning your sir are outstanding keep up the amazing work and thank you very much


💰 YEN · YouTube ·️ YEN.CAMP 🧠