Exemple #1
0
                public int GetPercentageOfBidsAtTopOrBottom(int theKey, dataType
thedataType, double MedianPrice, TopOrBottomEnum theTopOrBottom)
                {
                        double totalBids = 0;
                        double totalAsks = 0;
                        double percentageOfBids = 0;

                        SortedList<double, QuoteDataAtPrice> currentBarDataSL =
BarDataCollection[theKey];
                        foreach (KeyValuePair<double, QuoteDataAtPrice> kvp in currentBarDataSL)
                        {
                                if (thedataType == dataType.bidAndAskSize)
                                {
                                        if ((theTopOrBottom == TopOrBottomEnum.Top) && (kvp.Value.Price
>= MedianPrice))
                                        {
                                                totalBids += kvp.Value.TotalBidSize;
                                                totalAsks += kvp.Value.TotalAskSize;
                                        }
                                        else if ((theTopOrBottom == TopOrBottomEnum.Bottom) &&
(kvp.Value.Price <= MedianPrice))
                                        {
                                                totalBids += kvp.Value.TotalBidSize;
                                                totalAsks += kvp.Value.TotalAskSize;
                                        }
                                }
                        }

                        if ((totalBids + totalAsks) > 0)
                                return (int) ((100 * totalBids) / (totalBids + totalAsks)) ;

                        return 0;

                }
Exemple #2
0
                public bool IsTopOrBottomQuarter(double Price, double High, double
Low, TopOrBottomEnum TopOrBottom)
                {
                        if (TopOrBottom == TopOrBottomEnum.Top)
                                return ((((High - Low) * 0.75) + Low) < Price) ? true: false;
                        else
                                return ((((High - Low) * 0.25) + Low) > Price) ? true: false;
                }
Exemple #3
0
                public bool IsTopOrBottomThird(double Price, double High, double
Low, TopOrBottomEnum TopOrBottom)
                {
                        if (TopOrBottom == TopOrBottomEnum.Top)
                                return ((((High - Low) * 0.666) + Low) < Price) ? true: false;
                        else
                                return ((((High - Low) * 0.333) + Low) > Price) ? true: false;
                }
                public bool IsTopOrBottomQuarter(double Price, double High, double
Low, TopOrBottomEnum TopOrBottom)
                {
                        if (TopOrBottom == TopOrBottomEnum.Top)
                                return ((((High - Low) * 0.75) + Low) < Price) ? true: false;
                        else
                                return ((((High - Low) * 0.25) + Low) > Price) ? true: false;
                }
                public bool IsTopOrBottomThird(double Price, double High, double
Low, TopOrBottomEnum TopOrBottom)
                {
                        if (TopOrBottom == TopOrBottomEnum.Top)
                                return ((((High - Low) * 0.666) + Low) < Price) ? true: false;
                        else
                                return ((((High - Low) * 0.333) + Low) > Price) ? true: false;
                }
Exemple #6
0
                public bool HasMoreTailAtTopOrBottom(int BarIndex, TopOrBottomEnum
theTopOrBottomEnum)
                {
                        double tailAtTop = High[BarIndex] - Math.Max(Open[BarIndex],
Close[BarIndex]);
                        double tailAtBottom = Math.Min(Open[BarIndex], Close[BarIndex]) -
Low[BarIndex];

                        //Always true when there is no tail in interested direction
                        if ((theTopOrBottomEnum == TopOrBottomEnum.Top) && tailAtBottom == 0)
                                return true;

                        if ((theTopOrBottomEnum == TopOrBottomEnum.Bottom) && tailAtTop == 0)
                                return true;

                        if (theTopOrBottomEnum == TopOrBottomEnum.Top)
                                return (tailAtTop > tailAtBottom) ? true : false;

                        if (theTopOrBottomEnum == TopOrBottomEnum.Bottom)
                                return (tailAtTop < tailAtBottom) ? true : false;

                        return false;
                }