How to handle auto trading with Futures?

Forums ProRealTime English forum ProOrder support How to handle auto trading with Futures?

Viewing 8 posts - 1 through 8 (of 8 total)
  • #239784

    Hello everyone, I want to do auto trading with Futures, but when I have an open position and need to roll over to a new contract, I have to close that position but might want to instantly continue with the position / auto trading within the new contract (as e.g. the trend is still ongoing), and don’t want to wait until the next signal (which can take a while if it’s a system for longer trends). PRT doesn’t have an auto-roll function.

    Also, opening a position manually and then starting auto trading won’t work:

    PRT Conditions of execution of automatic trading systems

    “When you begin an automatic trading system, any pre-existing positions placed manually are closed first and any pre-existing orders placed manually are canceled. The first position of the system may be opened at the earliest at the open of the next bar after the system is started.”

    How do you handle this, as this is sub-optimal for Futures auto trading? It’s kinda frustrating, as I can’t be the only one who needs this to work? PRT doesn’t have an answer for me yet either 🥲 Any advice would be much appreciated.

    #239790
    JS

    Why do you open a second post with the same questions…?

    #239792

    This is not the same question, the other one is about specific code, and here I am asking how others are handling the process of auto trading with futures / rolling contracts in general.

    #239808

    Assuming you talk about Interactive Brokers : We have continuous contracts per the XXXX suffixed instrument names (like ESXXXX or NQXXXX) but these can not be used in Autotrading. Instead you’d be using the 3 months contract like ES1224 or NQ1224. Okay, you knew that …

    What you should do with ProRealTime – as it won’t go otherwise – is have some variables in your “Optimization” screen, which can be used as parameters to your Futures Autotrading System. These parameters can be anything, like the current profit (etc. x 100) of the System you will be stopping at the 3rd Friday (minus one week) of the last month of the contract. You obtain the value of the parameters for the next contract from the old contract (could even be the last Entry date/time) and feed that to the new contract.

    Is this a pain ? Yes.
    But it is workable.

    1 user thanked author for this post.
    #239810

    If a start a system on a, for example, NQXXX, automatically the system start on a NQ1224

    1 user thanked author for this post.
    #239822

    Yes I was talking about IBKR – thank you for the hints, this is really a pain, as it would be the easiest (for simple systems at least) to be able to open a position manually and then just start the auto trading and have the rules applied from there on. For contracts that need to be rolled monthly and with signals with longer intervals this is not optimal.

    #239848

    If a start a system on a, for example, NQXXX, automatically the system start on a NQ1224

    … Which is not how we can work … 🙂

    You are not in control of which contract will be started, as it is PRT / the platform which decides. In itself this is equal to when PRT starts showing the new contract to begin with as a choice in the top of the selection area (which selection area did not exist in V11 – see attachment and only when the new contract shows up there, the new contract will be used when handing an XXXX “continuous” contract to ProOrder. Also, on the day that this will happen for the first time (the new contract is proposed), you are subject to having restarted PRT – if you did not do that, then still the old contract will show (0924 in this example).
    To this, IMO, one solution exists : always use the explicit “Only” (like 1224) contracts and never be depended on the tempers of PRT. Btw, when this moment of proposing the new contract is, is not known to me so far. It is not the “roll over date” (like 8 days ahead) and it is also not the Expiry date. It s somewhere towards the Expiry date. Odd …

    N.b.: If you are not used to the old V11 system of choosing the contract (which still *is* available in V12), you would not be able to choose the old contract from the dropdown I show below and can’t find the old contract. This is “weirdness” just the same because with manual trading, the unwinding of a contract brings special opportunities and you’d explicitly  want the old contract (like on the date of expiry) you would not be able to find it. It would require clicking on the selector of the instrument (“NQ here”) to find it per the old V11 means.

    🙂

    1 user thanked author for this post.
    #239850

    Yes I was talking about IBKR – thank you for the hints, this is really a pain, as it would be the easiest (for simple systems at least) to be able to open a position manually and then just start the auto trading and have the rules applied from there on. For contracts that need to be rolled monthly and with signals with longer intervals this is not optimal.

    I am sure you know your stuff here, but for 1 month contracts, AutoTrading is undoable. This is because you need to Exit timely and to be safe, this is say two weeks ahead of the Expiry.
    This is to be combined with such instruments (like AEX on Eurex) have a Roll Over period of … one day. This means nobody trades those instruments ahead of that, and it is not a good idea to start your Autotrading system ahead of that (though it would technically work). This depends on the TimeFrame though (don’t use ultra short timeframes).

    However …

    If we think of Futures like Gold, then this is two months and people will start trading the new contract one month ahead (virtually the Roll Over date is one month ahead instead of 8 days for e.g. Nasdaq). Now :
    It is virtually impossibly to keep track of all the various expiries of the various Future Types (like Nasdaq vs Gold vs EURUSD vs Cattle) so I automated the Exit of the Autotrading System to wake me up and deal with the unwinding manually. But then PRT decided not-so-smartly (per June 17 of this year) that quit-by-code Autotrading Systems (per de Quit command) would throw out your position as well. And now nothing works … All I could manage is persuade PRT to let the position stay when you kill the System manually. And that is how it now works. 🙁

    1 user thanked author for this post.
Viewing 8 posts - 1 through 8 (of 8 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login