I selected UseDynamicSLTP as exit strategy but in several cases in the stategy analyzer shorts were not closed. I added 1 tick data to the strategy for accuracy. What can i do to prevent this?(it maybe because of take profit ? its by ATR and it may get filled actually)
else if (State == State.Configure)
{
Calculate = Calculate.OnPriceChange;
AddDataSeries(Data.BarsPeriodType.Tick, 1);
}
protected override void OnBarUpdate()
{
if (CurrentBar < 8) return;
if (BarsInProgress!=0) return;
............................... variables
if( StochSwingShort && StochFastSwing
&& (Position.MarketPosition == MarketPosition.Flat)
&& (BarsSinceExitExecution(0,"SLS",0) > 1 || BarsSinceExitExecution(0,"SLS",0) == -1)
&& (BarsSinceExitExecution(0,"PTS",0) > 1 || BarsSinceExitExecution(0,"PTS",0) == -1)
&& (BarsSinceExitExecution(0,"Parabolic stop",0) > 1 || BarsSinceExitExecution(0,"Parabolic stop",0) == -1)
EnterShort(PositionSize, "StochFS");
if (Position.MarketPosition == MarketPosition.Short && myFreeTradeShort == true || StochSwingShort == true)
{
if (UseDynamicSLTP)
{
if(stopShort >= ask){
ExitShortStopMarket(1, true, Position.Quantity, stopShort, "SLS", "StochFS");
ExitShortLimit(1, true, Position.Quantity, Position.AveragePrice - (TickSize * tpByATR), "PTS", "StochFS");
}
}
else if (UseFixedSLTP)
{
if(Position.AveragePrice + (TickSize * StopLossTicks) >= ask){
ExitShortStopMarket(1, true, Position.Quantity, Position.AveragePrice + (TickSize * StopLossTicks), "SLS", "StochFS");
ExitLongLimit(1, true, Position.Quantity, Position.AveragePrice - (TickSize * ProfitTargetTicks), "PTS", "StochFS");
}
}
else if (UseParabolicStop)
{
SetParabolicStop("StochFS", CalculationMode.Ticks, ParabolilcSarSL, false, Acc, AccStep, AccMax);
}

Comment