Пример #1
0
        public string Classify(double p1, double p2, double p3, double p4, double p5)
        {
            SortedList sl = new SortedList(5);

            bool ok = true;

            try {
                sl.Add(p1, "1");
                sl.Add(p2, "2");
                sl.Add(p3, "3");
                sl.Add(p4, "4");
                sl.Add(p5, "5");
            }
            catch {
                ok = false;
            }
            if (ok)
            {
                string key = (string)sl.GetByIndex(4)
                             + (string)sl.GetByIndex(3)
                             + (string)sl.GetByIndex(2)
                             + (string)sl.GetByIndex(1)
                             + (string)sl.GetByIndex(0);
                if (htPatterns.ContainsKey(key))
                {
                    PatternInfo pi = (PatternInfo)htPatterns[key];
                    Console.WriteLine("{0} Pattern {1} {2}", Clock.Now, pi.PatternId, pi.PatternType);
                    return(pi.PatternId);
                }
                else
                {
                    //Console.WriteLine( "{0} Pattern {1} not found", Clock.Now, key );
                    return("");
                }
            }
            else
            {
                return("");
            }
        }
Пример #2
0
        static MerrillPattern()
        {
            htPatterns = new Hashtable(32);

            htPatterns["21435"] = new PatternInfo("M1", EPatternType.DownTrend);
            htPatterns["21534"] = new PatternInfo("M2", EPatternType.InvertedHeadAndShoulders);
            htPatterns["31425"] = new PatternInfo("M3", EPatternType.DownTrend);
            htPatterns["31524"] = new PatternInfo("M4", EPatternType.InvertedHeadAndShoulders);
            htPatterns["32415"] = new PatternInfo("M5", EPatternType.Broadening);
            htPatterns["32514"] = new PatternInfo("M6", EPatternType.InvertedHeadAndShoulders);
            htPatterns["41325"] = new PatternInfo("M6", EPatternType.Uninteresting);
            htPatterns["41523"] = new PatternInfo("M8", EPatternType.InvertedHeadAndShoulders);
            htPatterns["42315"] = new PatternInfo("M9", EPatternType.Uninteresting);
            htPatterns["42513"] = new PatternInfo("M10", EPatternType.InvertedHeadAndShoulders);
            htPatterns["43512"] = new PatternInfo("M11", EPatternType.InvertedHeadAndShoulders);
            htPatterns["51324"] = new PatternInfo("M12", EPatternType.Uninteresting);
            htPatterns["51423"] = new PatternInfo("M13", EPatternType.Triangle);
            htPatterns["52314"] = new PatternInfo("M14", EPatternType.Uninteresting);
            htPatterns["52413"] = new PatternInfo("M15", EPatternType.UpTrend);
            htPatterns["53412"] = new PatternInfo("M16", EPatternType.UpTrend);

            htPatterns["13254"] = new PatternInfo("W1", EPatternType.DownTrend);
            htPatterns["14253"] = new PatternInfo("W2", EPatternType.DownTrend);
            htPatterns["14352"] = new PatternInfo("W3", EPatternType.Uninteresting);
            htPatterns["15243"] = new PatternInfo("W4", EPatternType.Triangle);
            htPatterns["15342"] = new PatternInfo("W5", EPatternType.Uninteresting);
            htPatterns["23154"] = new PatternInfo("W6", EPatternType.HeadAndShoulders);
            htPatterns["24153"] = new PatternInfo("W7", EPatternType.HeadAndShoulders);
            htPatterns["24351"] = new PatternInfo("W8", EPatternType.Uninteresting);
            htPatterns["25143"] = new PatternInfo("W9", EPatternType.HeadAndShoulders);
            htPatterns["25341"] = new PatternInfo("W10", EPatternType.Uninteresting);
            htPatterns["34152"] = new PatternInfo("W11", EPatternType.HeadAndShoulders);
            htPatterns["34251"] = new PatternInfo("W12", EPatternType.Broadening);
            htPatterns["35142"] = new PatternInfo("W13", EPatternType.HeadAndShoulders);
            htPatterns["35241"] = new PatternInfo("W14", EPatternType.UpTrend);
            htPatterns["45132"] = new PatternInfo("W15", EPatternType.HeadAndShoulders);
            htPatterns["45231"] = new PatternInfo("W16", EPatternType.UpTrend);

            foreach (string key in htPatterns.Keys)
            {
                if (!key.Contains("1"))
                {
                    Console.WriteLine("{0} missing 1", key);
                }
                if (!key.Contains("2"))
                {
                    Console.WriteLine("{0} missing 2", key);
                }
                if (!key.Contains("3"))
                {
                    Console.WriteLine("{0} missing 3", key);
                }
                if (!key.Contains("4"))
                {
                    Console.WriteLine("{0} missing 4", key);
                }
                if (!key.Contains("5"))
                {
                    Console.WriteLine("{0} missing 5", key);
                }
            }
        }