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]