Most recently I tried to just run the test on the last 6 months of data (daily candles) but no trades were placed at all. I thought this to be strange because there were definitely signals and I have not changed any of the entry logic and it has correctly placed trades in the past.
I then continued to increase the length of time by 6 months until it finally placed a trade. It required me to go all the way back to Feb 2012 before it would place even a single trade....but, all of the entry logic is there and correct as it properly placed trades before.
Furthermore, the minimum bars required is set to 20 and the maximum bars look back is TwoHundredFiftySix. Do those values make a difference?
Also, here is the entry logic for anyone to take a look at if they need.
protected override void OnBarUpdate() { /* Conditions for Long Entry */ if (Close[0] > Open[0] && Close[0] > MAEnvelopes(MAEPerc, 3, 25).Upper[0] && Aroon(14).Up[0] == 100 && Close[0] > ParabolicSAR(0.02, 0.2, 0.02)[0] && Close[0] > Ichimoku(9, 26, 52).KijunSen[0] && Close[0] > SMA(SMAPeriod)[0] && !barResetUp) { signalHigh = High[0]; signalLow = Low[0]; //Order Entries A & B LongEntryA = EnterLongStop(DefaultQuantity, TrendPilotPricesLong(EntryPerc, StopPerc, TargetPerc).LongEntry[0], "LongEntryA"); LongEntryB = EnterLongStop(DefaultQuantity, TrendPilotPricesLong(EntryPerc, StopPerc, TargetPerc).LongEntry[0], "LongEntryB"); barResetUp = true; } // Required reset in order to establish a new trend if (Close[0] < Ichimoku(9,26,52).KijunSen[0]) { // Allows for a new trend to be determined after it has closed below the KijunSen barResetUp = false; // ***NEED TO SET IT TO CANCEL ANY PENDING ORDERS AND CLOSE ANY OPEN ORDERS*** } if (Close[0] < SMA(sMAPeriod)[0] || Close[0] < Ichimoku(9,26,52).KijunSen[0]) { CancelOrder(LongEntryA); CancelOrder(LongEntryB); } if (LongEntryA != null && Close[0] < SMA(sMAPeriod)[0] || Close[0] < Ichimoku(9,26,52).KijunSen[0]) { ExitLong("LongEntryA"); ExitLong("LongEntryB"); }
Comment