OnExecutionUpdate()
<< Click to Display Table of Contents >> OnExecutionUpdate() |
An event driven method which is called on an incoming execution of an order managed by a strategy. An execution is another name for a fill of an order.
•An order can generate multiple executions (partial fills)
•OnExecutionUpdate is typically called after OnOrderUpdate() is called
•Only orders which have been submitted and managed by the strategy will call OnExecutionUpdate()
Notes: •Programming in this environment is reserved for the more advanced user. If you are for example looking to protect a strategy managed position with a basic stop and target, then the Set() methods would be more convenient. •When connected to the Playback connection, it is possible for OnExecutionUpdate() to trigger in the middle of a call to OnBarUpdate(). The Sim101 account adds a simulated random delay for processing execution events, but the 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. •Please also review Multi-Thread Considerations for NinjaScript •Its best practice to only work with the passed by value parameters and not reference parameters. This insures that you process each change of the underlying state. •Rithmic and Interactive Brokers Users: Due to provider API design these adapters do not guarantee the sequence of events of OnOrderUpdate, OnExecution, and OnPositionUpdate. Therefore when working on a strategy that will run on these connections it is best practice to only work with passed by value data from that callback to eliminate the dependency on the sequence of events. |
This method does not return a value.
protected override void OnExecutionUpdate(Execution execution, string executionId, double price, int quantity, MarketPosition marketPosition, string orderId, DateTime time)
{
}
execution |
An Execution object passed by reference representing the execution |
executionId |
A string value representing the execution id |
price |
A double value representing the execution price |
quantity |
An int value representing the execution quantity |
marketPosition |
A MarketPosition object representing the position of the execution. Possible values are: •MarketPosition.Long •MarketPosition.Short |
orderId |
A string representing the order id |
time |
A DateTime value representing the time of the execution |
OnExecutionUpdate Example |
---|
// Example |
Additional Reference Samples
Additional reference code samples are available the NinjaScript Educational Resources section of our support forum.