コード例 #1
0
ファイル: LegAnalyzer_Tests.cs プロジェクト: holya/Trading
        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);
        }
コード例 #2
0
ファイル: LegAnalyzer_Tests.cs プロジェクト: holya/Trading
        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);
        }
コード例 #3
0
ファイル: HlocLACustomChart.cs プロジェクト: holya/Trading
        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();
            }
        }
コード例 #4
0
ファイル: LegAnalyzer_Tests.cs プロジェクト: holya/Trading
        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);
        }