My first bot

in #personal8 years ago

Over the last few days I have undertaken the idea of writing my first bot, I discovered that Bittrex has an API that I can use to get information about the market about a week ago or so, and right then I made the decision to do this project.
I like to write software every now and again, and I've got such cool experiments I want to try with this.

I'm going to make it easy to manage trading on Bittrex for starters, that's going to be one of the features of this program.
So far I got the full market to list in a GUI with mini-graphs next to each coin which graph the asking price, I'm going to have it optionally graph the bidding price as well, and when you click on the mini graphs it changes the GUI to a larger graph and presents the option of buying/selling. I am also giving it the capability allow me to select certain coins and view them in a separate list for convenience.

Then there's the AI which will do a number of things including separating uptrending coins from downtrending coins in order to further aid me in making my trade decisions. Then the AI will make suggestions based on a number of factors as well, this is where it will become experimental. I have been dissecting my own train of thought and the information I have been learning from others who are more experienced and knowledgeable about the market than I am. Human rating of specific coins will optionally be one of several factors in the AI's decision making process on what a good coin is and isn't at any point in time. I will use an evolutionary algorithm to train the AI in good trade decision making using a daily fitness test which will judge by the amount of profit or loss a set of commands has produced. Then at some point I will try and make a way for it to automate trading, it will have to be hackish because I want to get around the need for 2-form authentication which bittrex requires through the API in order to do trade automation, it requires a phone and I don't use phones so I either have to go out and buy one or try and figure out a way around the problem, I'm more likely to figure out how to get it done without a phone.
If I can successfully get around that then I'll have more than just an automated assistant, I'll be able to just sit back and let my computer make money for me all day long, this would be dangerous of course if I did not include a simulation mode for which to train my AI with, having it do fake trades with fake amounts of bitcoin I will be able to monitor it's successes/failures and if it is mostly successful for a month or two then I will know that it is properly trained and trustworthy to work with real coin, and even then I will limit it's ability to trade based on how many satoshis I allow it to use. Another thing I could do is maybe deal with having to go through 2-form authentication so I will try getting an unused phone number from the internet, or maybe I will just cave and simply get a throw-away phone or something, I'll figure something out.

I'm getting pretty far into the project now and I'm fairly proud of how it's working out so far, I may complete it in a matter of one to three months and it could be well worth the effort in the end.

I'm using the GNU C++ compiler and the oldschool win32 API, same setup Bloodshed Dev IDE would use, but I use my own personal text-editor which allows me to draw diagrams along-side my code.

Here's how it the program looks as of now: