Help Center Blog Open An Account

Trading Journal Software for Day Traders

Hello Community,
I am in the process of building a trading journal. The initial launch will be free and I will do my best to keep it free as long as it makes sense economically.

Your input is required. What would you like to see in the Journal? What sort of features, stats, and other things would help you in your journey? Although we have already submitted the original software to the developers (prototype gen 1), we will make an effort to add features if they deem to help the entire community.

Please do “cut and paste” while googling other journals. I am looking for input that comes from your directly because whatever comes to mind would be most useful as opposed to piling up features that no one uses. Software costs a $%^& load of money and the development, so please keep that in mind.

Matt Z
Optimus Futures

3 Likes

This is a coincidence because I just started writing my own journaling software a few weeks ago. I haven’t found any existing software that does what I need.

Here are my primary requirements.

  1. Trades should be sent to the journaling system in real time (like Journalytix) and not require an end-of-day export/upload (like Edgewonk).
  2. Ability to group orders into a single trade. For example, if I were scaling in 10 MES contracts on a swing trade, I would want to mark those 10 MES contracts (and the appropriate exit orders) as a single trade for analysis.
  3. Ability to take a separate trade within an existing trade. For example, if I were in 10 MES on a 3 day swing, and I wanted to take a few 10-tick precision scalps using order flow during that time, I would want to be able to mark the scalps as separate trades and run statistics independent from the swing trade.

The most important statistics for me are MAE and MFE:

  1. MAE needs to be calculated depending on whether the trade is a single-entry-precision type trade, or a scaling-in type trade. For the first, it is simple. For the latter, I would want to see MAE against the average entry price.
  2. MFE needs to be determined against the defined timeframe of the trade. For example, if I enter a trade that has to be out by 16:30UTC, I would want to be able to mark the trade with this intention, and MFE should be calculated up until that time. This allows me to see if I am consistently exiting my trades too early compared to the total time I’ve allocated to be in the trade. Simply seeing MFE while the trade is active only tells me if I am holding onto trades too long, which isn’t as helpful.

Ability to record all stop and tp movements:

  1. It should track changes made to all limit orders and stops, much like Bookmap shows your stop and limit orders as a changing line on the chart. This is important for performance review after the trade, and may be able to identify if going on tilt during a trade. For example, I notice when I’m trading well I’m confident with my entries and stops and I rarely move them. When I do make changes, for example moving stops down to lock in profit, it is systematic and based on a strategy. However, when I’m in a bad frame of mind, I tend to move orders a lot more, widen stops, and cancel/place/cancel/place/cancel/place orders with uncertainty. I’ll also move to break even much sooner than I should, based on state-of-mind rather than market rotations. I want the software to monitor this.

Trade intention

  1. Ability to quickly mark the signal that caused me to enter the trade, and mark the point where the trade would be considered a failure. For example, if entering on an engulfing candle following two inside bars, I want to be able to show that on the chart easily, along with the failure line. Also, to document potential profit targets.

Callback to charting software

  1. When reviewing trades, it would be helpful to have the charting software move to the trade entry position, clearly show the signal candle and notes, and include all bars up to the determined maximum end time of the trade.
2 Likes

Thank you for these insightful points. It would be hard to implement all, and when you deal with programmers you need to provide direct input that is at times almost binary.
It all boils down to what parameters to use when programming.
I do agree with you that trades need to come in in real-time. We will work with the API providers to achieve that.

Matt Z
Optimus Futures

1 Like

Creating a plug-in for existing trade software should be trivial. That said, I’ve been a software developer and systems architect for 40 years, so maybe I have a different perspective :grinning:

I’m writing mine in SierraChart as a Study because I really like their API. But I think Optimus Flow has a .NET API that could be used? I haven’t looked at it, but it might be something to consider.

I have already mapped out how each of the above functions would be implemented. For every order that is filled, a marker is placed on the chart. I select the marker and press a hotkey and that allocates the order to a trade group.

To identify a candle entry setup, I would place a marker over the signal candles and press a hotkey. The setups would be pre-programmed. For an entry based off a fib/horizontal level/ trend line, I would select the appropriate line and press a hotkey. For an order flow trade, I would place a marker on the footprint chart and press a hotkey. Each of the selected drawings would be grouped with the trade and recorded for later review.

I am trying to design the UI so I don’t need to leave the trading platform to journal anything; it is all done from the chart I’m trading from. It doesn’t interrupt flow, and more importantly it requires me to think about documenting exactly what I saw to enter the trade on the chart. I can add notes, and if I want a hard copy record, can create a .pdf of the screen as I see it with the relevant markings. I don’t think this would be possible with a separate journaling system.

The advantage of integrating with the trading platform is the user interface is already there and taken care of - which is often the most expensive part of the project. Another advantage is no need to interface with the data providers directly as the trading platform already does that - and then you can also use it for Crypto, Forex, InteractiveBrokers or whatever else the trading platform supports.

I am comfortable using SQL or Excel for analysis, so I don’t plan on writing a fancy graphical front end for analysis. If I decided I did want the stats to look fancy, I would probably use Edgewonk, but via a manipulated export that accommodated my trade groups and completed MFE figures.

Our journal will be web-based and would connect to the APIs in a live manner over time. The reason we want it we based is because I want traders from all platform to get help on analytics.
If we could cooperate on Flow, it would be great. I could ask the team to provide you with an API.
It does use .Net API C#

If there are indicators/displays that are written to Optimus Flow by community members, we would not charge for it and make it available on the free version (if we decide to take it to production).

Matt Z
Optimus Futures

Yes, that would be good. In that case, the most important thing your journal can have is an open API. That way your userbase can extend your software and integrate it directly into their preferred charting platform.

It would be great to have an API that allowed me to add/delete trades in real time. This way I could have my study push the trades into your system rather than your system pulling the trades from Rithmic.

The following data recorded per trade would allow me to provide the analysis I think is important as a trader:

List of Order Fills Only orders (in and out) that were part of the trade. This would allow scale-in/scale-out trades and would mean I could take separate interim trades that would not alter the stats on this trade. Those interim trades would be logged as separate trades.
Viable start time of the trade Typically this would be the end datetime of the first signal and the very first point in time that the trade should have been entered. This allows me to keep track of how quickly I pull the trigger on a trade.
Viable end time of the trade The maximum time I want to be in the trade, regardless. For example, this could be the datetime of the end of trading day, or the datetime of 5m before an interest rate announcement, etc. This allows potential MFE to be calculated and can show if I’m cutting trades too early.
MAE during trade This should be based on the average scale-in and scale-out prices.
MFE during trade This should be based on the average scale-in and scale-out prices.
Potential MFE if the trade was allowed to run to the viable end time. This shows if I am cutting trades too early.
Potential MAE required to reach Potential MFE What was the MAE that would have been incurred for the trade to reach potential MFE. This shows the optimal position for where a stop should have been.
Playbook A list of user-defined setups. For example, inside bar break.
Self Critique A list of user-defined self-analyses of the trade. For example, got nervous and moved stop to break even too early. This shows any recurring psychological issues.
Entry timeframe in secs The timeframe I was trading on, for example watching for setups and initially managing the trade on a 5m chart. This allows me to see which timeframe I’m most profitable on over time.
Higher timeframe in secs The timeframe I was watching above, for example I may be entering and managing the trade on a 5m chart but watching a trend on the 1H or Daily.
Identified trend on higher timeframe Indicates whether I am entering with or against trend on the higher timeframe, and allows me to pull statistics on the success of each, and the MAE expected on a with-trend vs countertrend trade.

On a slightly different topic, I tend to think of MAE and MFE in price movements, irrespective of my position size. So if I was in 5 contracts and price moved against me 4 ticks, I would think of this as 4 ticks MAE rather than 20 ticks MAE. The idea is that as I increase my position size over time, my MAE and MFE would remain consistent. However, Journalytx (the software I currently use) always shows the combined qty (20). I can understand from a risk manager’s perspective he would be interested in total qty MAE, but I’m not sure it helps the trader.

If anybody has any thoughts or advice on this it would be good to hear.

Matt,
Curious to know how this project is coming?

Thanks!

1 Like

The project was initiated and we are in full force as far as development.
I assume that within thirty days would be release for Beta. In the meantime, as soon as I have some screenshots I will post them to the community.

Thank you,
Matt Zimberg
Optimus Futures

1 Like

Thanks Matt! Much appreciated!

1 Like

Update
In developing my journal software, I have decided upon the following terms and class structure for the API.

Journal - This is the highest level object and contains all data for all time.
Playbook - a collection of strategies.
Strategy - a type of trade idea, e.g. a chart pattern, type of order flow, or other event that may be tradeable. A strategy may require a certain type of market condition to be valid.
Market Character - Classification of market conditions.
Opportunity - When a strategy has been identified.
Orderfill - Orderfills are allocated to an opportunity.
Session a defined period of time that neatly groups opportunities for review. For a daytrader, this might be 0930-1600 for each trading day.

Here are the initial metrics I want to collect per opportunity:

Before placing the trade:

  1. Hard Stop Limit. This should not be hit but should be placed server-side for protection.
  2. Failure zone - The area to scratch the trade and look for an exit.
  3. Target zone - The area to switch to order flow to exit on a favourable rotation.
  4. Support and Resistance between entry and target.
  5. Confidence in the strategy.
  6. Confidence in the target.
  7. Confidence that market conditions meet the strategy requirements.

Once the opportunity is finalised:

  1. Self-analysis - rating on execution.
  2. Self-analysis - rating on psychology.
  3. Self-analysis - rating on technical analysis.
  4. Self-analysis - rating on risk management.
  5. Self-analysis - rating on market condition analysis.
  6. Self-analysis - rating on strategy selection.
  7. Mark of reasonable start and end points, to be entered in review.

Analysis during and after the trade:

  1. Session MAE.
  2. Session MFE.
  3. Reasonable MAE.
  4. Reasonable MFE.
  5. Risk Management.
  6. Time spent at loss, breakeven and profit.

The plan is to enter this information within a few seconds; it should be no more than 8 mouse clicks per opportunity and should form part of the natural trading workflow. However, it has to be done immediately. I think I would have forgotten the details if I waited until the end of the trading day to enter the information. The exception is point 6 (Mark of reasonable start and end points for an opportunity) which is best entered upon review with a clear head.

Hello Matt,
How is this project coming along? Any updates?

Hi @mdel60,
We have finished the functions we want for the journal. Now the challenge is to make it web-based and make sure the functions work on the web (HTML, etc).
I assure you that the team is working diligently to make it available soon.

Matt Z
Optimus Futures

1 Like

looking forward to it

1 Like