Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

OnExecutionUpdate() Timing Clarification

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    OnExecutionUpdate() Timing Clarification

    I have thought that OnExecutionUpdate() is called immediately after each broker confirmation of order execution. However, while testing an unmanaged strategy that I have developed using the Playback Historical capability and with the Primary Data Series being 15-second bars and the Secondary 1-tick data OnExecutionUpdate() is called only at 15-second intervals. Is that due to a Playback Historical testing limitation or have I misunderstood when OnExecutionUpdate() is called? There obviously is no way to know how long order confirmations would have taken, but I had assumed that the test system would either immediately confirm following the crossing of a limit price level, for example, or would confirm after a short random delay period to approximate reality.
    Last edited by caveat_lector; 04-03-2020, 03:29 PM.

    #2
    I just noticed the OnExecutionUpdate() Help states:

    "Playback connection triggers executions immediately, for the sake of consistency in backtesting. Because of this, OnExecutionUpdate() can appear to be triggered earlier than it would in live trading, or when simulation trading on a live connection."

    That isn't what I am seeing. OnExecutionUpdate() is always called 15-seconds after the close of a bar that crosses an order limit price, so order execution confirmations are always 15 to 30 seconds later than would have occurred real-time, depending on exactly when during a 15-second bar a price limit was crossed.

    Comment


      #3

      Hi caveat_lector, thanks for your post.

      I wanted to let you know I'm testing code behavior and will reply when I have an answer.

      Thanks in advance for your patience.

      Comment


        #4
        Hi caveat_lector, thanks for your patience.

        I'm not seeing the same thing on my side. Heres a video and I also attached my test script.



        Please let me know if this does not resolve your inquiry.
        Attached Files

        Comment


          #5
          Thanks very much for the time you spent on that. I will compare your script and video to what I am doing and seeing.

          Comment


            #6
            Sorry, my mistake. I was using:
            Code:
            Print(execution.Name + " " + Time[0] + "." + Time[0].Millisecond + " Time Series");
            Instead of:
            Code:
            Print(execution.Name + " " + Times[1][0] + "." + Times[1][0].Millisecond + " Time Series");

            Comment

            Latest Posts

            Collapse

            Topics Statistics Last Post
            Started by Mindset, 04-21-2026, 06:46 AM
            0 responses
            90 views
            0 likes
            Last Post Mindset
            by Mindset
             
            Started by M4ndoo, 04-20-2026, 05:21 PM
            0 responses
            137 views
            0 likes
            Last Post M4ndoo
            by M4ndoo
             
            Started by M4ndoo, 04-19-2026, 05:54 PM
            0 responses
            68 views
            0 likes
            Last Post M4ndoo
            by M4ndoo
             
            Started by cmoran13, 04-16-2026, 01:02 PM
            0 responses
            120 views
            0 likes
            Last Post cmoran13  
            Started by PaulMohn, 04-10-2026, 11:11 AM
            0 responses
            71 views
            0 likes
            Last Post PaulMohn  
            Working...
            X