So I’m in the process of obtaining my Microsoft Certified Solutions Developer (MCSD) certification and I’m planning on taking Exam 70-484: Essentials of Developing Windows Store Apps using C# in mid-January 2014. And as I learnt from the last exam, the exams are very code heavy and thus the best way of preparing for this exam will be to spend as much time as possible developing Windows Store apps. However I don’t want to just waste my time developing any app, so I thought I would do an app that will make use of the functionality I have been building into NinjaTrader to help with Trading System Analysis and other related tools. Since I’ll be going through this process, I thought I would blog it as well.
The outcomes I am looking for from this project are:
• Gain a solid understanding of the WinRT framework sufficient for passing Exam 70-484.
• Built a set of tools that I can use for analyzing trading systems that I will use to identify areas of improvement.
• Utilize NinjaTrader and ADO.Net to output data to a SQL Server Database which will then imported by my Windows Store app utilizing a WCF service (And perhaps move it out with Windows Azure at some point in the future).
• Utilize Test Driven Development and Agile Development Methodologies with Team Foundation Service (TFS) and Visual Studio.
To start off with, I thought I would do up some UML diagrams in Visual Studio to get started with the project. Here’s a high level starter Use Case diagram:
The 3 main functional items I would like to have are:
1. Analyze a Trading Instrument, such as:
a. View Range statistics like the Over-night (ON), Regular Trading Hours (RTH) and Daily Range mean, standard deviation and distribution.
b. View the SQN Market type of the instrument.
c. View Harmonic Rotation statistics, such as Harmonic Rotation size distribution and harmonic rotation time-of-day distribution.
d. View Day Type statistics such as the distribution of Day Types for the instrument.
2. Analyze Back Test Results, such as:
a. Analyze the Trading System’s entry effectiveness.
b. Analyze the Trading System’s exit efficiency.
c. How well the Trading Strategy works under different SQN Market Types.
d. How well the Trading Strategy works under different Day Types (Intra-day strategies only).
3. Manage Tick Data
a. Take tick data downloaded from QCollector and insert it into a SQL Server database for my own storage.
b. Export tick data in SQL Server and put it into a file that can be imported by NinjaTrader.
That should be a good start for now. Note that I will not make this app available on the Windows Store as it requires code written into NinjaTrader strategies in order to output data on the trading instruments and trading strategies, and there is no easy way to be able to distribute that code and have people use it. However I may output some sample code to Azure at some point the future so I could at least show it as a sample app.
I’d love to hear from you regarding functionality you would like to see added, or any helpful comments regarding the development process I am using throughout this project. I am new to Windows Store App development so I am sure there will be mistakes made, but that’s part of the learning process!
Til part 2….