Hey, I’m Andrew, thanks for checking out my project. For years I’ve dreamed of building my own commodity trading application, and now it’s time to make it happen. I’m looking for a developer who’s not just great at coding but also excited to help drive this project forward faster than i can.

intro

What are we building?

This is a rough guideline of the phases & milestones. They can be changed, modified, or improved in whatever way you see fit and whatever way you wanna tackle this. I would love to hear your questions, comments, and concerns about this gameplan.

Data & Execution APIs

  • Rithmic API → Market data + order routing
  • Ironbeam (via Rithmic) → Futures Commosion Merchant integration for real-time execution

Market Replay Or PlayBack

  • QuantReplay → Backtesting engine + market replay capabilities
  • Backtrader →  Backtesting engine + market replay capabilities
  • QuantConnect →  Backtesting engine + market replay capabilities
  • VectorBT →  Backtesting engine + market replay capabilities

Analytics & Data Visualization

  • SciChart → High-performance charting for tick-by-tick CME data
  • Databento API→ Historical market data for analytics & testing
  • BarChart API  → Potential alternative to Databento for historical data.
  • CME Reference Data API → Information about rollover and contract specifications.
This diagram is not completely accurate, but hopefully it gives you a visual understanding of what i’m trying to build.

Asset Class

  • Chicago Mercantile Exchange
  • Futures Contracts Only

Framework & Tech Stack

  • .NET WPF (Windows Presentation Foundation)
  • C#, XAML
  • Custom design created in Figma, converted to reusable XAML components

phase01

MVP

This project is too ambitious to deliver all at once. Instead, it will roll out in clear, well-defined phases

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

phase 01

MVP

milestone 1

Design foundation

My very talented friend and designer Chris has created a beautiful dashboard for this trading app.

Goals

  • Convert Figma style guide into a fully functioning XAML design system
  • Establish global styles (colors, typography, layout grids)
  • Implement base navigation and dashboard shell
  • Prepare app structure for modular feature development
  • Create account panel, sidebar, icons, buttons, pages...etc
  • Hover effects, gradients
  • Set up local persistence for user settings and layouts (not sure what this means or if we need it haha)

The goal is to get an 80% or better match on this design. 
It doesn’t have to be perfect.

milestone 2

Accounts Page

milestone 3

“Strategy Builder” Foundation

I have this exact trading system built as a NinjaScript right now and you can reference that if you like or build it your own way.

One of the main goals for this project is to have “Server Side” stop losses with logic attached to them.

CME and Broker disconnections happen and its extremely important the syncronization state of the stop loss is functioning.

Its a basic trend following strategy that adds to winning positions and move the stop loss up to break even plus one.

I have a demonstration video i can share with you once we get to this point.

milestone 4

My Strategies

The purpose of the strategy builder is to give me the flexibilty to modify this trend following system on different markets, changes position sizes, stop loss, re-entries...etc.

Once I add a new strategy I want that particular system to populate in the “My Strategies” page and be able to turn it off/on Viewing the parameters and performance of the system/strategy I set up is pretty important.

milestone 5

Positions & Orders

Once a system goes into production and its “turned on” its important to see whats going on.

This platform will have no “click trading” to buy market or sell market and not allow any discretionary decision making all trades are automated

There will only be a “Close Position” button allowing me either take profit (since my systems don't have a profit target) or hit the panic button if a system breaks or the market gaps against me.

milestone 6

Event and Log Tracker

phase01

END

Once we get to this point we can say this is the MVP and start focusing on the visual components of this project

phase 02

Visualization

You DO NOT need to be an expert with all these technologies, but you do need to be the quarterback who works with these consultants when we need them.

milestone 1

Real Time Data

Rithmic Execution Feed Vizualization

  • At some point opening up a “new chart” will be nice and using scicharts library to stream real time data that comes in from rithmic execution feed is the goal.
  • SciCharts has a nice library of financial charts we can use.
  • The decision to use WPF for this project was based around latency and I was told SciCharts in combination with WPF has the lowest latency.
  • Not only will opening up a new chart be nice it would be helpful to visualize my systems live in real-time and see the placement of my positions.
  • I'm assuming Scicharts has indicators and other features we will use. I don't require too many indicators for my trading and I'm sure their suite of tools will be good enough. We wont need any custom indicators.

milestone 2

Historical Data

No matter how hard we try, we’ll never beat TradingView on vizualization. And we’re not trying to.

  • NinjaTrader has “market replay” or “playback” and its acceptable, but its terrible. I cant replay more than 2 months of data.
  • Most backtesting engines struggle with dynamic trading systems when the average entry price and trailing stops move around.
  • I need a way to test these trend following strategies i create on historical data in some sort of “replay mode” using a market replay framework or engine.
  • I’ve been told QuantConnect might be able to do this.
  • Instead of connecting to historical data providers through and API we will be uploading individual files for each commodity. I beleive these will come in a CSV or JSON format.
  • The only thing im concerned about is testing expired futures contracts “individually”. I do not like merging futures contracts and seeing any combined rollover data. Its my understanding that most historical data providers will dump a file that contains “continuous contracts”.
  • Im open to any suggestions but DataBento might be able to give us the cleanest isolated data.

phase 02

END

Being able to open a new chart and look at real time data (that plots current and closed positions) as well as veiwing historical market will be the end of phase 2  

phase 03

The Playback

milestone 1

Market Replay Or Playback Feature

NinjaTrader has a great feature that allows you to go back in time to test out strategies.

Any standard backtesting tool can handle basic algorithms where there is a fixed postion stop loss and profit target.

Market replay or playback is better for analyzing dynamic strategies when trailing stops are involved.

Scaling into positions and moving stop losses makes backtesting messy. The purpose of this feature is to test out the trend following “strategies” i make.

I beleive there are a few open source tools that are available for this.

  • QuantReplay
  • Backtrader
  • QuantConnect
  • VectorBT

Disclaimer: I have no idea if these tools can even acomplish this replay or playback feature. These are just the companies i found i think they may be able to help.

phase 03

END

This is all the limited knowledge i have up to this point and would love to collaborate with you and discuss this project in more depth

Risks & Concerns

Market Disconnections & Zombie Orders

  • Market Disconnections happen and trading systems break. That’s the reality.
  • We need to try our best to build robustness into the application.
  • Order State and Syncronization will be a focus.
  • We will only be using “server side” stop loss orders

phase 03

END

This is all the limited knowledge i have up to this point and would love to collaborate with you and discuss this project in more depth

Thank You

If you're interested in working on the project feel free to shoot me a message.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.