Every Second from Strategy
public void MainBase()
{
RemoveFilledOrders();
SetPocketOrder();
Main();
}
private void RemoveFilledOrders()
{
foreach (IOrder3 o in ClosedOrders)
{
ActiveOrderCollection.Remove(o);
}
// Remove All with TimeOut
foreach (var o in ActiveOrderCollection.Items.Where(o=>o.IsRegisteredTimeOutExpired))
{
ActiveOrderCollection.Remove(o);
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString,
o.ShortInfo, "Remove(RegisteredTimeOutExpired)", o.ShortDescription,o.ToString());
}
}
Z007 Every Second
public override void SetPocketOrder()
{
if (PocketOrder == null)
return;
if (ActiveOrderCollection.Items.Any())
{
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString, "Not Alowed Pocket" + PocketOrder.ShortInfo, PocketOrder.ShortDescription, "Not Alowed Due to Orders Exist", PocketOrder.ToString());
foreach (var o in ActiveOrderCollection.Items)
{
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString, "Extra" + o.ShortInfo, o.ShortDescription, o.ToString(), "");
}
return;
}
ActiveOrderCollection.RegisterOrder(PocketOrder);
TradeTerminal.SetLimitOrder(PocketOrder);
Evlm2(EvlResult.SUCCESS, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString, "Set Pocket"+PocketOrder.ShortInfo, PocketOrder.ShortDescription, PocketOrder.ToString(), "");
PocketOrder = null;
}
From Z007 EveryBar
RemoveOrdersRegistered();
KillAllOrders2();
#region ValidOrdersSoft
// ValidSoft Order
//public bool IsValidSoft => Status == OrderStatusEnum.Activated ||
// Status == OrderStatusEnum.Sended ||
// Status == OrderStatusEnum.Registered ||
// Status == OrderStatusEnum.Confirmed ||
// Status == OrderStatusEnum.PartlyFilled ||
// Status == OrderStatusEnum.PendingToActivate;
#endregion
if (ValidOrdersSoft.Any())
{
foreach (var ord in ValidOrdersSoft.ToList())
{
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY,
StrategyTimeIntTickerString, "Extra" + ord.ShortInfo, ord.ShortDescription,
"SetOrder(Active Or Pending Orders Detected)", ord.ToString());
}
PocketOrder = ActiveOrderCollection
.CreateOrder(this, operation, OrderTypeEnum.Limit, 0, _currentLimitPrice, contract, "");
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString,
"Try to Set Pocket" + PocketOrder.ShortInfo , PocketOrder.ShortDescription,
PocketOrder.ToString(), "");
return;
protected void KillAllOrders2()
{
RemoveFilledOrders();
try
{
foreach (IOrder3 o in ActiveOrdersSoft)
{
TradeContext.Evlm(EvlResult.INFO, EvlSubject.TECHNOLOGY,
StrategyTimeIntTickerString, o.ShortInfo, o.ShortDescription,
"Try To KILL ORDER", o.ToString());
if (o.IsLimit)
{
TradeTerminal.KillLimitOrder(o);
}
else if (o.IsStopLimit)
TradeTerminal.KillStopOrder(Ticker.ClassCode, Ticker.Code, o.Number);
}
}
catch (Exception e)
{
SendExceptionMessage3(StrategyTickerString, "Strategy.KillAllOrder2()", "", "", e);
// throw;
}
}
public void MainBase()
{
RemoveFilledOrders();
SetPocketOrder();
Main();
}
private void RemoveFilledOrders()
{
foreach (IOrder3 o in ClosedOrders)
{
ActiveOrderCollection.Remove(o);
}
// Remove All with TimeOut
foreach (var o in ActiveOrderCollection.Items.Where(o=>o.IsRegisteredTimeOutExpired))
{
ActiveOrderCollection.Remove(o);
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString,
o.ShortInfo, "Remove(RegisteredTimeOutExpired)", o.ShortDescription,o.ToString());
}
}
Z007 Every Second
public override void SetPocketOrder()
{
if (PocketOrder == null)
return;
if (ActiveOrderCollection.Items.Any())
{
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString, "Not Alowed Pocket" + PocketOrder.ShortInfo, PocketOrder.ShortDescription, "Not Alowed Due to Orders Exist", PocketOrder.ToString());
foreach (var o in ActiveOrderCollection.Items)
{
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString, "Extra" + o.ShortInfo, o.ShortDescription, o.ToString(), "");
}
return;
}
ActiveOrderCollection.RegisterOrder(PocketOrder);
TradeTerminal.SetLimitOrder(PocketOrder);
Evlm2(EvlResult.SUCCESS, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString, "Set Pocket"+PocketOrder.ShortInfo, PocketOrder.ShortDescription, PocketOrder.ToString(), "");
PocketOrder = null;
}
From Z007 EveryBar
RemoveOrdersRegistered();
KillAllOrders2();
#region ValidOrdersSoft
// ValidSoft Order
//public bool IsValidSoft => Status == OrderStatusEnum.Activated ||
// Status == OrderStatusEnum.Sended ||
// Status == OrderStatusEnum.Registered ||
// Status == OrderStatusEnum.Confirmed ||
// Status == OrderStatusEnum.PartlyFilled ||
// Status == OrderStatusEnum.PendingToActivate;
#endregion
if (ValidOrdersSoft.Any())
{
foreach (var ord in ValidOrdersSoft.ToList())
{
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY,
StrategyTimeIntTickerString, "Extra" + ord.ShortInfo, ord.ShortDescription,
"SetOrder(Active Or Pending Orders Detected)", ord.ToString());
}
PocketOrder = ActiveOrderCollection
.CreateOrder(this, operation, OrderTypeEnum.Limit, 0, _currentLimitPrice, contract, "");
Evlm2(EvlResult.WARNING, EvlSubject.TECHNOLOGY, StrategyTimeIntTickerString,
"Try to Set Pocket" + PocketOrder.ShortInfo , PocketOrder.ShortDescription,
PocketOrder.ToString(), "");
return;
protected void KillAllOrders2()
{
RemoveFilledOrders();
try
{
foreach (IOrder3 o in ActiveOrdersSoft)
{
TradeContext.Evlm(EvlResult.INFO, EvlSubject.TECHNOLOGY,
StrategyTimeIntTickerString, o.ShortInfo, o.ShortDescription,
"Try To KILL ORDER", o.ToString());
if (o.IsLimit)
{
TradeTerminal.KillLimitOrder(o);
}
else if (o.IsStopLimit)
TradeTerminal.KillStopOrder(Ticker.ClassCode, Ticker.Code, o.Number);
}
}
catch (Exception e)
{
SendExceptionMessage3(StrategyTickerString, "Strategy.KillAllOrder2()", "", "", e);
// throw;
}
}