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(""); } }
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); } } }