예제 #1
0
파일: Pattern.cs 프로젝트: iwm4892/OsEngine
        public new void Check()
        {
            CandleData cData = new CandleData(Candles[Candles.Count - 1]);

            //предположим что тени нет если размер тени меньше 10% размера свечи
            // предполагаем что длинная тень это больше 30% размера свечи
            if (Candles[Candles.Count - 1].IsUp &&
                cData.hiShadow < cData.candleSize * (decimal)0.05
                //      && cData.lowShadow > cData.candleSize * (decimal)0.3
                && cData.ClasterData.MaxData.Price <= Candles[Candles.Count - 1].Open + (cData.candleBody * (decimal)0.3) &&
                Delta.Values[Delta.Values.Count - 1] > 0 &&
                Candles[Candles.Count - 2].Volume <= Candles[Candles.Count - 1].Volume
                )
            {
                isPattern = true;
                Side      = Side.Buy;
            }
            if (Candles[Candles.Count - 1].IsDown &&
                cData.lowShadow < cData.candleSize * (decimal)0.05
                //   && cData.hiShadow > cData.candleSize * (decimal)0.3
                && cData.ClasterData.MaxData.Price >= Candles[Candles.Count - 1].Open - (cData.candleBody * (decimal)0.3) &&
                Delta.Values[Delta.Values.Count - 1] < 0
                //        && Candles[Candles.Count - 2].Volume<= Candles[Candles.Count - 1].Volume
                )
            {
                isPattern = true;
                Side      = Side.Sell;
            }
        }
예제 #2
0
파일: Pattern.cs 프로젝트: iwm4892/OsEngine
        public new void  Check()
        {
            CandleData cData = new CandleData(Candles[Candles.Count - 1]);

            if (Candles[Candles.Count - 1].IsUp &&
                Candles[Candles.Count - 1].Open > Candles[Candles.Count - 1].ClasterData.MaxData.Price &&
                Candles[Candles.Count - 1].ClasterData.MaxData.side == Side.Sell &&
                Delta.Values[Delta.Values.Count - 1] > 0
                )
            {
                isPattern = true;
                Side      = Side.Buy;
            }
            if (Candles[Candles.Count - 1].IsDown &&
                Candles[Candles.Count - 1].Open < Candles[Candles.Count - 1].ClasterData.MaxData.Price &&
                Candles[Candles.Count - 1].ClasterData.MaxData.side == Side.Buy &&
                Delta.Values[Delta.Values.Count - 1] < 0
                )
            {
                isPattern = true;
                Side      = Side.Sell;
            }
        }
예제 #3
0
파일: Pattern.cs 프로젝트: iwm4892/OsEngine
        public new void Check()
        {
            CandleData cData1 = new CandleData(Candles[Candles.Count - 2]);
            CandleData cData2 = new CandleData(Candles[Candles.Count - 1]);

            //Разные направления
            if (Candles[Candles.Count - 1].IsUp != Candles[Candles.Count - 2].IsUp)
            {
                if (Candles[Candles.Count - 2].IsUp &&
                    cData1.ClasterData.MaxData.Price >= Candles[Candles.Count - 2].Close - (cData1.candleBody * (decimal)0.3) &&
                    cData2.ClasterData.MaxData.Price <= Candles[Candles.Count - 1].Close + (cData2.candleBody * (decimal)0.3) &&
                    Delta.Values[Delta.Values.Count - 2] > 0 &&
                    Delta.Values[Delta.Values.Count - 1] < 0 &&
                    Candles[Candles.Count - 2].Volume <= Candles[Candles.Count - 1].Volume
                    //    && Volume.Values[Volume.Values.Count - 2] >= Volume.Values[Volume.Values.Count - 1]
                    //    && cData1.candleSize <= cData2.candleSize
                    )
                {
                    isPattern = true;
                    Side      = Side.Sell;
                }
                if (Candles[Candles.Count - 1].IsUp &&
                    cData1.ClasterData.MaxData.Price <= Candles[Candles.Count - 2].Close + (cData1.candleBody * (decimal)0.3) &&
                    cData2.ClasterData.MaxData.Price >= Candles[Candles.Count - 1].Close - (cData2.candleBody * (decimal)0.3) &&
                    Delta.Values[Delta.Values.Count - 2] < 0 &&
                    Delta.Values[Delta.Values.Count - 1] > 0 &&
                    Candles[Candles.Count - 2].Volume <= Candles[Candles.Count - 1].Volume
                    //   && Volume.Values[Volume.Values.Count - 2] >= Volume.Values[Volume.Values.Count - 1]
                    //    && cData1.candleSize <= cData2.candleSize
                    )
                {
                    isPattern = true;
                    Side      = Side.Buy;
                }
            }
        }