Hi Alethea,
Well having to wait 1 cycle for the options contract to generate a price point would have required me to drop down to a tick or 1 second cycle, or have to wait 1 whole minute before placing my option order. A lot of price movement can happen in 1 minute...
So I took a different approach, which is shown here. This successfully buys and sells both the stock and the underlying options. But now I have a new issue, which I've spent the last 4 hours chasing down, to no avail

Look at the last two entries. These are essentially reversing my last two options orders 2 minutes and 4 minutes after I first successfully execute them. What gives?
I thought it might be a liquidation event due to margin calls, but I ruled that out by testing with only 50 percent of my portfolio,. I get the same results.
I then suspected something was going on with the EmitInsights call, so i also suppressed that. Yet the problem persists.
I sure hope you can cast some light on this. Meanwhile, maybe some other poor soul can use the function I wrote at the bottom "parseKeysToTypes". This breaks the slice object into its component arrays by type : securities,, options, forex, etc. I needed to do that because you cannot run a History call on a slice object containing both Securities and Options. There may be a more elegant solution, but this one works for me.
Thanks
Serge