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; } }
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; } }
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; } } }