private bool BearValidStdDevSeq() { if (lastThreeBearStdPoints != null && lastThreeBearStdPoints.Count == 3) { Print("In BearBalidStdSeq Loop"); if (Close[0] < ParabolicSAR(0.02, 0.2, 0.02)[0] && //StdDev(ParabolicSAR(0.02, 0.2, 0.02), 14)[0] > 0.0005 && Close[1] > ParabolicSAR(0.02, 0.2, 0.02)[1] && Close[2] > ParabolicSAR(0.02, 0.2, 0.02)[2] && lastThreeBearStdPoints[2].StdValue > lastThreeBearStdPoints[1].StdValue && lastThreeBearStdPoints[1].StdValue > lastThreeBearStdPoints[0].StdValue && lastThreeBearStdPoints[2].CurBar - lastThreeBearStdPoints[0].CurBar > 50 //&& Close[0] < EMA(100)[0] ) { foreach (KeyValuePair <int, ParaSARStdPoints> key in lastThreeBearStdPoints) { ParaSARStdPoints result = key.Value; Print("Printing the foreach loop"); Print(result.ToString()); } lastThreeBearStdPoints.Clear(); Idx = 0; Print("Clearing inner lopp Dict"); return(true); } lastThreeBearStdPoints.Clear(); Idx = 0; Print("Clearing Outerloop Dict"); return(false); } return(false); }
/// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { if (Close[0] < ParabolicSAR(0.02, 0.2, 0.02)[0] && Close[1] > ParabolicSAR(0.02, 0.2, 0.02)[1]) { ParaSARStdPoints sig = new ParaSARStdPoints(Bars.BarsSinceSession, StdDev(ParabolicSAR(0.02, 0.2, 0.02), 14)[0]); lastThreeBearStdPoints.Add(Idx, sig); Idx++; Print(Idx); } if (BearValidStdDevSeq()) { BackColor = Color.Yellow; scalpEntry = EnterShort(scalpQty, scalpEntryName); swingEntry = EnterShort(swingQty, swingEntryName); } if (BullValidStdDevSeq()) { //BackColor = Color.Aqua; } }