How can I fix it?
protected override void OnBarUpdate()
{
if (CurrentBar < BarsRequiredToTrade)
return;
FiltroHorario = false;
#region Filtro horario
if ((Times[0][0].TimeOfDay >= HoraInicio.TimeOfDay) && (Times[0][0].TimeOfDay < HoraFin.TimeOfDay))
{
FiltroHorario = true;
}
#endregion // filtro horario para tomar entradas
if (Position.MarketPosition == MarketPosition.Flat && FiltroHorario)
{
CancelOrder(shortEntry);
CancelOrder(longEntry);
insideS3R3 = false;
doitonce = true;
if (DistancePrice1.LowerLine[0] > 0)
{
brac****COID = Guid.NewGuid().ToString();
shortEntry = SubmitOrderUnmanaged(0, OrderAction.SellShort, OrderType.StopMarket, OrderQuantity, DistancePrice1.LowerLine[0], 0, brac****COID , "Short limit entry");
longEntry = SubmitOrderUnmanaged(0, OrderAction.Buy, OrderType.StopMarket, OrderQuantity, DistancePrice1.UpperLine[0], 0, brac****COID, "long limit entry");
insideS3R3 = true;
}
if (!insideS3R3 && doitonce)
{
if (CrossBelow(Close, DistancePrice1.LowerLine, 1) && shortEntry == null)
{
doitonce = false;
shortEntry = SubmitOrderUnmanaged(0, OrderAction.SellShort, OrderType.Market, OrderQuantity, 0, 0, "", "short Market entry");
if (longEntry != null)
CancelOrder(longEntry);
}
if (CrossAbove(Close, DistancePrice1.UpperLine, 1) && longEntry == null)
{
doitonce = false;
longEntry = SubmitOrderUnmanaged(0, OrderAction.Buy, OrderType.Market, OrderQuantity, 0, 0, "", "Long market entry");
if (shortEntry != null)
CancelOrder(shortEntry);
}
}
}
}

Comment