I am having a problem with the following code. It is very much the same as the SampleCancelOrder except I am trying to cancel orders when they are outside a specified time rather than barNumberOfOrder.
Orders are being placed correctly however they are being cancelled almost every minute then they are replaced again to repeat the process. I only want to cancel the order using CancelOrder.
if (Position.MarketPosition == MarketPosition.Flat)
{
// Check IOrder objects for null to ensure there are no working entry orders before submitting new entry order
if (entryOrder == null && CurrentDayOHL().CurrentLow[0] >= FH().YU[0]
&& Position.MarketPosition == MarketPosition.Flat && priorTrade != FH().YU[0] && (ToTime(Time[0]) >= 100000 && ToTime(Time[0]) < 173000))
{
/* Our IOrder object, entryOrder, is assigned an entry order.
entryOrder = EnterLongLimit(0, true, 1, FH().YU[0], "long limit entry");
// Here, we assign barNumberOfOrder the CurrentBar, so we can check how many bars pass after our order is placed.
barNumberOfOrder = CurrentBar;
}
// If entryOrder has not been filled within the time filter, cancel the order.
else if (entryOrder != null && (ToTime(Time[0]) >= 100000 && ToTime(Time[0]) < 173000))
{
// When entryOrder gets cancelled below in OnOrderUpdate(), it gets replaced with a Market Order via EnterLong()
CancelOrder(entryOrder);
}
}
15/12/2010 4:32:02 PM Entered internal PlaceOrder() method at 15/12/2010 4:32:02 PM: BarsInProgress=0 Action=Buy OrderType=Limit Quantity=1 LimitPrice=0.9806 StopPrice=0 SignalName='long limit entry' FromEntrySignal=''
Cancelled custom managed order at 15/12/2010 4:33:06 PM: Order='78011c9ebfc346e98131ec4c362bcf33/Sim101' Name='long limit entry' State=Working Instrument='6A 03-11' Action=Buy Limit price=0.9806 Stop price=0 Quantity=1 Strategy='SampleCancelOrder' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='78011c9ebfc346e98131ec4c362bcf33' Gtd='1/12/2099 12:00:00 AM'
15/12/2010 4:35:06 PM Entered internal PlaceOrder() method at 15/12/2010 4:35:06 PM: BarsInProgress=0 Action=Buy OrderType=Limit Quantity=1 LimitPrice=0.9806 StopPrice=0 SignalName='long limit entry' FromEntrySignal=''
Cancelled custom managed order at 15/12/2010 4:36:36 PM: Order='67460687f4784846994f0ed1c397b8d0/Sim101' Name='long limit entry' State=Working Instrument='6A 03-11' Action=Buy Limit price=0.9806 Stop price=0 Quantity=1 Strategy='SampleCancelOrder' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='67460687f4784846994f0ed1c397b8d0' Gtd='1/12/2099 12:00:00 AM'
15/12/2010 4:37:19 PM Entered internal PlaceOrder() method at 15/12/2010 4:37:19 PM: BarsInProgress=0 Action=Buy OrderType=Limit Quantity=1 LimitPrice=0.9806 StopPrice=0 SignalName='long limit entry' FromEntrySignal=''
Cancelled custom managed order at 15/12/2010 4:38:20 PM: Order='6880a3308d964e53972d94ef3fde9da5/Sim101' Name='long limit entry' State=Working Instrument='6A 03-11' Action=Buy Limit price=0.9806 Stop price=0 Quantity=1 Strategy='SampleCancelOrder' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='6880a3308d964e53972d94ef3fde9da5' Gtd='1/12/2099 12:00:00 AM'

Comment