public void UpdateLastBar__Turn_LastBar_To_DownBar_And_Create_New_DownLeg() { LegAnalyzer la = new LegAnalyzer(); List <Bar> barList = new List <Bar>(); barList.Add(Helper.GetUpBar()); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); la.AddBarList(barList); FxBar b = (FxBar)la.LastLeg.BarList[1]; FxBar nb = new FxBar { Open = b.Open, AskOpen = b.AskOpen, High = b.High - 5, AskHigh = b.AskHigh - 5, Low = b.Low - 5, AskLow = b.AskLow - 5, Close = b.Open - 3, AskClose = b.AskOpen - 3, DateTime = b.DateTime, Volume = 100 }; la.UpdateLastBar(nb); Assert.AreEqual(2, la.LegsCount); Assert.AreEqual(LegDirection.Down, la.LastLeg.Direction); }
public void AddBar__FirstLeg_FirstBar_TypeChanged() { LegAnalyzer la = new LegAnalyzer(); la.AddBar(new Bar(10, 20, 5, 12, 0, DateTime.Now, DateTime.Now)); la.UpdateLastBar(new Bar(10, 20, 5, 9, 0, DateTime.Now, DateTime.Now)); Assert.AreEqual(BarDirection.OutsideDown, la.LastBar.Direction); }
private void addTickSafe(double price, int volume, DateTime dateTime) { LegAnalyzer.UpdateLastBar(price, volume); DataPoint dp = Series[0].Points.Last(); if (dp.YValues[3] != price) { //dp.YValues[3] = price; Series[0].Points.Remove(dp); this.addNewDataPoint(LegAnalyzer.LastBar); //Series[0].Points.Add(dp); this.ChartAreas[0].RecalculateAxesScale(); Invalidate(); } }
public void UpdateLastBar__Update_Close() { LegAnalyzer la = new LegAnalyzer(); la.AddBar(Helper.GetUpBar()); la.AddBar(Helper.GetUpBar(la.LastBar, la.LastBar.DateTime.AddDays(1))); FxBar b = (FxBar)la.LastBar; FxBar nb = new FxBar { Open = b.Open, AskOpen = b.AskOpen, High = b.High + 5, AskHigh = b.AskHigh + 5, Low = b.Low, AskLow = b.AskLow, Close = b.Close + 3, AskClose = b.AskClose + 3, DateTime = b.DateTime, Volume = 100 }; la.UpdateLastBar(nb); Assert.AreEqual(BarDirection.Up, la.LastBar.Direction); Assert.AreEqual(115, la.LastBar.High); Assert.AreEqual(116, ((FxBar)la.LastBar).AskHigh); Assert.AreEqual(73, la.LastBar.Close); Assert.AreEqual(74, ((FxBar)la.LastBar).AskClose); Assert.AreEqual(200, la.LastBar.Volume); }