private void AddLowPoint(IKLineData klineData, int barPos) { ZigzagPoint point = new ZigzagPoint(klineData, barPos, false); this.currentPoints.Add(point); this.currentOperator = OPERATOR_ADDLOW; }
private void AddHighPoint(IKLineData klineData, int barPos) { ZigzagPoint point = new ZigzagPoint(klineData, barPos, true); //this.highPoints.Add(point); this.currentPoints.Add(point); this.currentOperator = OPERATOR_ADDHIGH; }
public static void DrawZigzagPoints(IStrategyDrawer_PriceRect drawHelper, List <ZigzagPoint> points, Color colorHigh, Color colorLow, int width) { for (int i = 0; i < points.Count; i++) { ZigzagPoint point = points[i]; float price = point.IsHigh ? point.GetBar().High : point.GetBar().Low; Color color = point.IsHigh ? colorHigh : colorLow; drawHelper.DrawPoint(new graphic.shape.PriceShape_Point(point.BarPos, price, width, color)); } }
private int GetLastPointType(int barPos) { if (currentPoints.Count == 0) { return(LASTTYPE_UNKNOWN); } ZigzagPoint point = currentPoints.Last(); if (point.IsHigh) { return(LASTTYPE_HIGH); } return(LASTTYPE_LOW); }
public void Loop(int barPos) { this.zigzag_Simple.Loop(barPos); if (this.zigzag_Simple.CurrentOperator == Zigzag_Simple.OPERATOR_ADDHIGH || this.zigzag_Simple.CurrentOperator == Zigzag_Simple.OPERATOR_ADDLOW) { List <ZigzagPoint> currentPoints = this.zigzag_Simple.GetPoints(); if (currentPoints.Count < 2) { return; } ZigzagPoint lastSurePoint = currentPoints[currentPoints.Count - 2]; AddNewSurePoint(lastSurePoint); } }