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