Rob Carvers books are great but they don't teach you coding, or contain any code. There is a list of python for finance type books on his blog https://qoppac.blogspot.com/p/books-to-read.html Rob
I don't know about best since the criteria of "Best" is not clear, but this one was a good one imo. Covers the basics so one could understand what the IB Algos seek to do. . I would review the IB Algo offerings as a starting point. Once you understand the concepts, then you would have a starting point.
In these books there are complete codes in Easylanguage of various Trading Systems and they also teach how to create, optimize and test Trading Systems: - The Ultimate Trading Guide (John R. Hill, George Pruitt, Lundy Hill) - Trading Systems that Work (Thomas Stridsman) - Building Winning Trading Systems with TradeStation (1st and 2nd edition) - (George Pruitt, John R. Hill) - Trend Following Systems (George Pruitt) - Cybernetic Analysis for Stocks and Futures (John Ehlers) - Trading Systems - A New Approach To System Development (Urban Jaekle and Emilio Tomasini) - Trading Systems, Secrets of the Masters (Joe Krutsinger) - Design, Testing, and Optimization of Trading Systems (Robert Pardo)
I've tried a few languages to power my trading bots, namely Go, C, Java, and PHP, but finally settled on Python. It's easy to learn and runs on anything. There are lots of nice trading libraries and machine learning stuff for it if you're into that. Download Python here: https://www.python.org/ An excellent crash course can be found at this link: https://learnxinyminutes.com/docs/python/ A free textbook that will fill in the gaps from the previous link is here: https://automatetheboringstuff.com/ If you're into crypto trading or if not but still want some interesting food for thought regarding what's possible in an api, I'd suggest checking out the excellent ccxt library that acts as an abstraction unifying the api for over 100 different crypto exchanges. Its manual is found here and it supports Python as well as JavaScript and PHP: https://github.com/ccxt/ccxt/wiki/Manual In addition to the other exchanges it supports, ccxt also supports Alpaca which has crypto and stock trading: https://alpaca.markets/
Many thanks for all the great help everyone. I was looking at using Amibroker, as I've noticed it's quite popular. I also found the free book Introduction to Amibroker by Howard Bandy, which I'm going to look at. Thanks again
Another free Amibroker resource: https://marwoodresearch.teachable.com/p/indicators-for-amibroker And some that aren't free: https://marwoodresearch.teachable.com/p/essentials-for-amibroker https://marwoodresearch.teachable.com/p/amibroker-cbt-intensive-course https://marwoodresearch.teachable.com/p/mastering-amibroker-formula-language-afl1 https://marwoodresearch.teachable.com/p/build-a-professional-trading-system-using-amibroker1 https://marwoodresearch.teachable.com/p/trading-system-code-for-amibroker
if you want to learn how to program take any coursera class. Any language is fine; all free. Then once you can program something, specialize. http://codekata.com/
If it is helpful, here are many formulas of various indicators with Amibroker: https://www.wisestocktrader.com/amibroker-afl-formulas-indicators