i set RealtimeErrorHandling = RealtimeErrorHandling.IgnoreAllErrors,
but OnOrderUpdate never called.
#region Using declarations using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; using System.Windows.Media; using System.Xml.Serialization; using NinjaTrader.Cbi; using NinjaTrader.Gui; using NinjaTrader.Gui.Chart; using NinjaTrader.Gui.SuperDom; using NinjaTrader.Data; using NinjaTrader.NinjaScript; using NinjaTrader.Core.FloatingPoint; using NinjaTrader.NinjaScript.Indicators; using NinjaTrader.NinjaScript.DrawingTools; #endregion //This namespace holds Strategies in this folder and is required. Do not change it. namespace NinjaTrader.NinjaScript.Strategies { public class Reject : Strategy { protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"Reject"; Name = "Reject"; RealtimeErrorHandling = RealtimeErrorHandling.IgnoreAllErrors; IsUnmanaged = true; } else if (State == State.Configure) { RealtimeErrorHandling = RealtimeErrorHandling.IgnoreAllErrors; IsUnmanaged = true; } } protected override void OnBarUpdate() { if (Position.MarketPosition == MarketPosition.Flat && Time[0].Year == 2010 && Time[0].Month == 5 && Time[0].Day == 27 && Time[0].Hour == 10 && Time[0].Minute == 0) { Order orderSL = this.SubmitOrderUnmanaged(0, OrderAction.Buy, OrderType.StopMarket, 1, 0, Close[0] - 40 * TickSize, "ORDER", "ORDER"); int i = 0; } } protected override void OnOrderUpdate(Order order, double limitPrice, double stopPrice, int quantity, int filled, double averageFillPrice, OrderState orderState, DateTime time, ErrorCode error, string nativeError) { // Rejection handling if (order.OrderState == OrderState.Rejected) { // Stop loss order was rejected !!!! Print("Never called ... :-("); } } } }
Comment