I want to understand live strategy behavior around rollover.
Situation: I am trading "ES 06-19" and I have a live contract position of long 5 contracts, and there are 8 calendar days to maturity, and I would like to rollover from "ES 06-19" to "ES 09-19" for the same 5 contracts on 23 hours window (6pm-5pm EST).
Option 1:
(a) Around the rollover dates, close / disable the strategy completely in NT (e.g in control center strategies tab), and close out all positions
(b) Restart / re-enable the strategy on the new contract.
Option 2:
(a) Manually end of the day, I put in a sell / buy orders of "ES 06-19" / "ES 09-19" on the broker's platform, sometime before 5pm.
(b) Since I am running the strategy on 23 hours, between 5pm-6pm EST, I manually change the strategy in NT to run on "ES 09-19" instead of "ES 06-19".
What settings for "StartBehavior" do I need? Should I set "StartBehavior = StartBehavior.AdoptAccountPosition" ?
Option 3:
(a) I run my strategy on a continuous contract. For instance, I am subscribed to IQ Feed, which has a continuous symbol "@ES #C". To do this, I add a new "instrument" via the instrument tab, say "ES_Cont" that is mapped to IQ Feed's "@ES #C"
(is this even possible?? I tried to add a new instrument with name as "ES_C" as a future, and mapped it to "@ES#C" in IQ Feed, but when I tried to view it in a chart, I got an error, but when I add it as a stock, it seems to work)
(b) I can then run the strategy on "ES_Cont", and also add "ES 06-19" and "ES 09-19", and then manually code in the rollover instructions in the code as well, such as if the price of "ES_Cont" matches with "ES 06-19" use "ES 06-19", but if it matches with "ES 09-19" do a rollover and use "ES 09-19" going forward.
Once a quarter, during a weekend, update the strategy to add a new contract, e.g. "ES 12-19" within the strategy code.
---
I wanted to check: which of Option 1, or Option 2, or Option 3 is popular, preferable etc. What has been a common practice? Recommended practice?
Thanks
Comment