PDA

View Full Version : Duplicity of lots


Edgar V.
03-27-2008, 09:23 AM
My strategy is a SMA Crossover with an StochRSI. Problem is that when the SMA crosses over, instead of reversing the order, it duplicate the reverse. I'm not sure what is wrong. I just want to have 1 lot reversing when conditions are met. Below is a sample of my strategy:

if ((SMA(Fast)[0] > SMA(Slow)[0]) && (StochRSI(14)[0] >= 0.8)&& wasLong == false)
{
EnterLong(DefaultQuantity, "LongSMAEnter");
wasLong = true;
}


if ((SMA(Fast)[0] < SMA(Slow)[0])&& wasLong == true)
{
ExitLong("ExitLong", "LongSMAEnter");
wasLong = false;
}


elseif ((SMA(Fast)[0] < SMA(Slow)[0]) && (StochRSI(14)[0] <= 0.2)&& wasLong == true)
{
EnterShort(DefaultQuantity, "ShortSMAEnter");
wasLong = false;
}

if ((SMA(Fast)[0] > SMA(Slow)[0])&& wasLong == false)
{
ExitShort("ExitShort", "ShortSMAEnter");
wasLong = true;
}

NinjaTrader_Ray
03-27-2008, 09:28 AM
Your code is executing as you have written it. You would have to debug this yourself to understand why. I did scan your code and at first glance I don't see the flaw in logic...we don't spend much time debugging user code as part of our support policy.

I would look at the wasLong variable as an issue. For the most part, you do not need this in NinjaScript since method calls are ignored when applicable. If you call ExitShort() and there is no short position, it would be ignored.