$10 if you don't meat the minimum commissions. Anyway, these amounts are small, not really worth fussing over.
I don't think classical technical analysis is really helpful: https://www.elitetrader.com/et/thre...es-hourly-candles-of-hsi-to-day-trade.326736/ so better write my own program
I started with the example programs which were provided by IB. And used these to make some experimental programs myself. While doing I found better ways on how to structure and arrange my programs. I am running automated systems in Java. They collect the necessary data (account data, instrument price data, etc), do calculations and place orders if necessary. Looking back I would say that this core setup is the easy part. The more complicated part is handling errors: what do you do if a certain piece of information is missing? If a connection is lost or a server offline? What do you do if a received value seems incorrect? How do you handle exceptional cases? How about holidays, or timezone changes (e.g. daylight savings time)? It is these kind of things that took me the most time to understand, get used to, and know how I want my system to respond to. This will obviously depend a lot on your trading style and on how you want your system to respond, so general guidelines are difficult to give.
Java. I got the impression that it was the most advised choice at the time I started playing with IB's API (some 6 years ago). Besides that, I had close to zero programming experience and Java was considered a good choice for newbie programmers at the time.
Yes, you need to subscribe to market data. You only need to pay for the market you are interested in.
Depends on which market you are interested in. Each market sets its own price and IB forwards that price to the customer. In my opinion are markets in Europe and Australia expensive, and markets such as Singapore and Korea cheap. US stock market is also cheap.