I am trying to use TWS java api to write a simple order execution program. Basically there are three buttons on GUI, "BUY", "SELL" and "FLAT". WHen the user clicks BUY button, the program send out a BuyMarket order with a stop loss (stop sell market) order attached. The stop price is the low of the latest two 5min bar lows. My question is whether it is a better solution to call reqHistoricalData() to retrieve the latest 5min bar OHLC data sequence instead of building such sequence using realtime streaming quotes after the initial call of resHistoricalData()? In the later solution, I have to keep tracking many symbols, while in the first solution, the historical data sequence is retrieved on-demand when orders are sent out. However I have no idea on the delay between calling reqHistoricalData() and the completion of receiving historical sequence. Help is greatly appreciated.