If I trigger a grappling long stop (), me is in Control Center Executions in column E / X "exit" And if I trigger a stop is in column E / X "entry".
if (Position.MarketPosition == MarketPosition.Flat)
{
if (entryOrder == null && KC >0 && SC >0 && Close[0] > kama)
{
entryOrder = EnterLongStop(0, true, 1, kauf , "long stop entry");
txt = "entry Order \t"+ kauf;
}
else if (entryOrder != null && Close[0] > Close[0] + 8 * TickSize )
{
CancelOrder(entryOrder);
}
if(entryOrder != null && Close[0] < kama)
{
CancelOrder(entryOrder);
txt += "\n Cancel Order \t" + kama;
}
}
if(Position.MarketPosition == MarketPosition.Long)
if(mar****rder == null && Close[0] < kama)
mar****rder = ExitLongStop(0,true,1,Close[0]- 5* TickSize,"long stop exit","long stop entry");
Print(txt);
}
protected override void OnOrderUpdate(IOrder order)
{
// Checks for all updates to entryOrder.
if (entryOrder != null && entryOrder == order)
{
txt += "\n " +order.ToString();
// Check if entryOrder is cancelled.
if (order.OrderState == OrderState.Cancelled)
{
// Reset entryOrder back to null
entryOrder = null;
}
}
}
protected override void OnExecution(IExecution execution)
{
if (entryOrder != null && entryOrder == execution.Order)
{
// This second if-statement is meant to only let fills and cancellations filter through.
if (execution.Order.OrderState == OrderState.Filled ||
execution.Order.OrderState == OrderState.PartFilled ||
(execution.Order.OrderState == OrderState.Cancelled && execution.Order.Filled > 0))
{
stopOrder = ExitLongStop(0, true, 1,execution.Price - 15 * TickSize, "stop", "long stop entry");
targetOrder = ExitLongLimit(0, true, 1, execution.Price + 30 * TickSize,
"target", "long stop entry");
// Resets the entryOrder object to null after the order has been filled
if (execution.Order.OrderState != OrderState.PartFilled)
{
entryOrder = null;
}
}
}
// This if-statments lets execution details for the market order filter through.
else if (mar****rder != null && mar****rder == execution.Order)
{
// Check only for fills and cancellations.
if (execution.Order.OrderState == OrderState.Filled ||
execution.Order.OrderState == OrderState.PartFilled ||
(execution.Order.OrderState == OrderState.Cancelled && execution.Order.Filled > 0))
{
stopOrder = ExitLongStop(0, true, 1, execution.Price - 15 * TickSize, "stop", "market order");
targetOrder = ExitLongLimit(0, true, 1, execution.Price + 30 * TickSize, "target", "market order");
// Resets the mar****rder object to null after the order has been filled
if (execution.Order.OrderState != OrderState.PartFilled)
{
mar****rder = null;
}
}
}
}

Comment