Table of Contents
- Polymorphism - Implementing pattern recognition via abstract classes and derived concrete classes is a key goal. Students need to demonstrate understanding of polymorphism and when/how to apply it.
 - Inheritance - Smart candlestick class must inherit from base candlestick class to avoid rewriting and demonstrate understanding of inheritance.
 - Abstraction - Use of abstract classes and interfaces to define common APIs.
 - Encapsulation - Breaking up functionality into separate well-defined methods instead of one large complex method.
 - Data Binding - Using data binding to connect data to the UI instead of manual additions.
 - Event-driven programming - Allowing user to trigger events (like selecting a pattern) that drive application behavior.
 
- Windows Forms (.Net Framework using C#)
 
The application allows analyzing and visualizing stock data to identify candlestick patterns. The main workflow is as follows:
Loading Stock Data
- Use the Open File Dialog to select one or more stock data files to load
 - Stock data for multiple symbols can be loaded and analyzed
 
Visualizing Stocks
- The selected stock symbols are each displayed in a separate window in candlestick chart format for analysis
 - The charts display the Open, High, Low and Close values for each candlestick time period
 
Applying Filters
- Date range filters can be applied to only show the candlesticks in a specific date range
 
Selecting Patterns
- Single and multi-candlestick patterns can be selected for pattern recognition from the dropdown combobox
 - Available single candlestick patterns include bearish, bullish, neutral, marubozu, doji, gravestone doji, dragonfly doji, hammer, and inverted hammer
 - Available multi-candlestick patterns include bearish and bullish engulfing, bearish and bullish harami, peak, and valley
 
Analyzing Patterns
- Once a pattern is selected, the charts are analysis and the identified patterns are annotated The annotation highlights the candlesticks forming the specified pattern
 
Analyzing Multiple Stocks
- The above workflow allows comparing multiple stock charts side-by-side in separate windows
 
James Yab - LinkedIn - [email protected]