I am noticing an error in one of my strategies.
Currently the trailing stop is being initilized too soon.
Two IOrder exit variables are called
LongLimit & ShortLimit.
The Trailing stop is to be initilized after one of these two orders are triggered and executed.
Currently, in OnBarUpdate() I have this:
// Long SMA Trailing Stop
if (BarsInProgress == 1)
{
if (Close[0] > SMA(BarsArray[0], sMAPeriod)[0]+((signalHigh-signalLow)*StopPerc))
{
adjustedStopLong = SMA(BarsArray[0], sMAPeriod)[0]-((signalHigh-signalLow)*StopPerc);
LongStopB = ExitLongStop(0,true,DefaultQuantity,SMA(BarsArray[0], sMAPeriod)[0] - ((signalHigh-signalLow)*StopPerc),"LongBStop","LongEntryB");
}
// Short SMA Trailing Stop
if (Close[0] < SMA(BarsArray[0], sMAPeriod)[0] + ((signalHigh-signalLow)*StopPerc));
{
adjustedStopShort = SMA(BarsArray[0], sMAPeriod)[0] + ((signalHigh-signalLow)*StopPerc);
ShortStopB = ExitLongStop(0,true,DefaultQuantity,SMA(BarsArray[0], sMAPeriod)[0] + ((signalHigh-signalLow)*StopPerc),"ShortBStop","ShortEntryB");
}
}
if (LongLimit != null
&& LongLimit = execution.Order)
{
// Long SMA Trailing Stop
if (BarsInProgress == 1)
{
if (Close[0] > SMA(BarsArray[0], sMAPeriod)[0]+((signalHigh-signalLow)*StopPerc))
{
adjustedStopLong = SMA(BarsArray[0], sMAPeriod)[0]-((signalHigh-signalLow)*StopPerc);
LongStopB = ExitLongStop(0,true,DefaultQuantity,SMA(BarsArray[0], sMAPeriod)[0] - ((signalHigh- signalLow)*StopPerc),"LongBStop","LongEntryB");
}
}
Thanks

Comment