private void FindPlatForm(MaData maData, Platform lastPlatForm) { List <MaCrossPoint> points = maData.RecentCrossPoints; if (points.Count < 15) { return; } MaCrossPoint startPoint = points[points.Count - 15]; int lastEndIndex = lastPlatForm == null ? 0 : lastPlatForm.EndIndex; if (startPoint.BarPos < lastEndIndex) { return; } MaCrossPoint endPoint = points[points.Count - 1]; if (endPoint.BarPos - startPoint.BarPos < 60) { int startIndex = startPoint.BarPos; int endIndex = endPoint.BarPos; Platform platform = new Platform(klineData, startIndex, endIndex); platForms.Add(platform); } }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { looper_ma.Loop(currentData.CurrentData.GetKLineData(KLinePeriod.KLinePeriod_1Minute).BarPos); MaData maData = looper_ma.GetMaData(MaPeriod); FindPlatForm(maData, platForms.Count == 0 ? null : platForms[platForms.Count - 1]); }