Hi All,
I run the system once a day and enter trades manually, based on its output. I also have been manually rolling contracts when I judge it to be necessary.
To make my life easier I am thinking of automating these two elements in the following way. First, I will automate my daily trades by having an autoit script place market orders around 10am each day for any position that needs to change. Second, I will add code to automatically roll my full position in a given instrument, by using market orders at around 10am. I will have the system roll a given instrument based on its historical roll schedule; so if instrument x rolled on 3.10.19 from the march contract to the june, I will have the system do the same on 3.10.20 (or the next nonholiday weekday). If I have 10 contracts on, the script will simply sell all 10 at market, then buy 10 of the next contract (plus or minus any change needed to that instrument's position as a result of the most recent forecast).
Does anyone see any issues with this plan? Thanks.
So you'll have no "soft-roll" period when you opportunistically sell old and buy new contract, all "hard-roll" in one day. I guess it's simpler and simple is good.. I also found it quite tedious to pre-populate all these roll dates for 30+ instruments for the next 100 years (automated it of course, but still a lot of work).. and now I 'm still not sure that I choose the right dates and that the optimal dates will not change in the future (do liquidity patterns around roll dates change over time for the same instrument? how normal that is?). I mostly looked at historical volumes and last allowed trading days around the times I wanted to roll.. Seems to be working so far, but I feel that I'm not monitoring it enough..

