Get started writing a crypto trading bot

Is it a good time to sell? Maybe I should be acquiring more? Should I just be holding? 

To determine when it is a good time to buy/sell/hold we look at technical analysis using  different information that we can use to analyse this information.

If you take out initiation out of the strategy, which is not reproducible. This leaves you with a set of rules of when you should buy and sell based on the data, which is perfect for software to run, since crypto is trading 24/7 and a bot never needs to send and there are no emotions involved.

I have been a programmer for a long time and I like the idea of instead of focusing on if an individual trade is good or bad, I like the idea of focusing on creating the rule system on how it should trade. 

Once I have the bot to follow these rules and start to have results good or bad I am able to look at where it is bought/sold/held and work out if there is a better result. Then I can look at why it should have taken that different way and create new rules to change its behaviour. 

My focus is on the trading rules, I like the challenge of actually building it and I believeI will learn a lot in the process.

Can a trading bot make money?

I hope that it can, but I truly do not know until I build something and monitor the results and try to work out how to make it work better.

Maybe it can make money, that would be a good result and I hope it does not lose all the money I put into it. 

There are lots of claims about them making money, but I do not know if this is reality or just marketing for people to use them so they can make money off you irrespective if you make money or not. 

Will I just be better buying and holding, we will see.

Creating my own vs Using a Platform

If I knew how exactly I wanted things to work, or if I did not want to learn how things worked it would probably be wise to go with an existing platform.

Going with an existing platform means I could start using it straight away.

I am going to put a lot of work into this, and it is mostly to learn and understand how it all works. I do not think I have any edge and building my own will produce a better result making my own over using a pre existing platform. 

It is just so I learn things better, if I do not understand something then it is not going to work. So I need to make sure I understand all the details.

Why trading crypto

There are a lot of good reasons to look at crypto as a target of a trading bot. 

  • A lot of people are invested in it: I am not just doing a project that will not interact with any one else. There are a lot of users of crypto and it keeps growing, this is an area that looks like it is going to have a great future. 
  • It’s Volatile: In most cases volatility is an issue, I do not want to hold an asset that could lose 80% of it value in a short period of time.
    When looking at trading bot I see this actually as a good thing, because the bot will have more opportunities to buy and sell and the more active it is hopefully the more profitable it is.
  • It is Open: The information and the source code to this platform are open, There is no restriction to what I want to do. Does that mean all the money I put in this I can lose, you bet I can. But I am not going to put in any money I can not afford to lose and I much prefer the freedom to learn and work out how things should work than just following a set of rules.
  • Understanding the technology better: I want to understand how the technology works so this will give me a lot of education on it.

Focusing on just bitcoin

I am just going to be focusing on bitcoin, in the future as I get a better understanding I can look at other crypto assets. 

But for now I am only going to be working with bitcoin as I have to learn a lot about trading and the technology of how it works.

There already is a lot I have to go through and just focusing on the one asset. Adding more different crypto assets is going to be distracting.

Just focusing on bitcoins I hope to be able to master and understand the nuance in trading it and be able to understand its price movements.

Choosing a language/platform

The language I am going to use is Node.js.

This is mostly because I think it will fit in well with what I am trying to achieve and I have a good working knowledge of javascript.

I can develop a version on my desktop that can eventually move on to a server running 24/7.

Node.js can allow websockets to remain open to get continual input data on the prices from the exchange and allow me to record that information.

It will be able to have a Web UI that I can interact with the code base as well as storing all data in a sqlite database.

Getting started

As I am just starting, what are my first steps?

First thing is to be able to connect to an exchange and get the price data of bitcoin and be able to store this in a local database.

I will then look at the web UI to be able to view and track this data and to make sure everything is looking good with it.

Once I am happy that I know I am getting good data that I can have the bot take action on, I need to start researching trading strategies and work out how the bot can start to apply them.

Then it gives it some money to trade for real and see how it goes and keep adjusting and improving things.