Building RiskFrame: From a Simple MT5 Panel to a Visual Trade Manager

16 July 2026, 17:03
Daniil Romanov
0
17

Building RiskFrame: From a Simple MT5 Panel to a Visual Trade Manager

RiskFrame began as a small panel I built for planning my manual MT5 trades: place Entry, Stop Loss and Take Profit on the chart, calculate the lot from risk, and review the order before sending it.

Visual trade planning was not a new idea. Other MT5 tools already showed that it could work. I was not trying to prove the concept; I wanted to make my own version around aclear efficient plan → check → send → manage workflow, without visual noize and overwhelming amount of text.

Over time, the prototype grew into RiskFrame, with a Control Panel, Quick Toolbar, validation strip, optional TP2, Daily Loss Guard, STOP NOW and post-entry management tools. The screenshots below show how it changed along the way.

When I started building RiskFrame, I did not expect it to become a Market product, so I was not deliberately documenting every stage. These are simply the screenshots I happened to keep in the end of the work proccess. They do not show every change, but they capture several decisions that shaped the product.

RiskFrame is not a signal robot. It does not choose trades. The trader decides on the setup; the panel helps with the practical work around it.

1. Starting with the Control Panel

First iteration of Control Panel was nothing like final version. I didn't yet have a good understanding of what it'll contain and because I wasn't planing(at first) placing my own Trade Manager on the market, symbols/functionality we super limited. 

First iteration of Control Panel

It was very basic, but it did allow me to start working on visual Trade Plan and test Risk/Reward ratio switcher, dependance on Risk%, dependance on selected symbol and its volume limits.

2.  Adding the Trade Plan

One of the first versions of Trade Plan was deliberately basic. The interface was rough, with interaction difficulties(one of them is, that I was figuring out how to make its width not the same as full chart and changeable), but the main pieces were already there: Entry / SL / TP on the chart, risk-based lot sizing, rotate/magnet buttons, required margin, risk and reward ratio, order send btn. And I already had some idea on color palette, I wanted to use.

Early prototype — visual Entry / SL / TP with risk and reward zones (then branded “VTM”)

3. Making the plan easier to read + Toolbar + Price Tags

The next step was mostly about readability. Before sending, I wanted the important numbers to be easy to find:

  • TP/entry/SL level prices
  • lot size and required margin
  • planned risk and projected result
  • whether the target is following the selected RR

At this point Trade Plan width problem was already fixed, I did play with fonts, info separation and came up with order button lock idea. You probably did see this colors a lot before(caution tape).

Next Visual Trade Plan iteration — clearer plaques and zone reading
Somewhere at this stage I realized that I couldn’t keep all the necessary information right inside TP/Entry/SL plaques, without making them too big.
That's when Toolbar and price tags came into play, which allowed me to remove from Trade Plan, stuff like buttons and level prices.


Early Quick Toolbar — order type and chart-side controls starting to settle

Toolbar allowed me to have more space for additional functionality and info. Here I started to think of RiskFrame as a commercial product. Thats why, I expanded the number of available symbols, began implementing TP2, did think of other easy-to-use/practical things.



Price tags / plaque readability pass — numbers had to stay usable while dragging

Price tags had to stay readable while the chart lines were being dragged. If the numbers jump around or disappear at that point, the visual plan is not very useful.

I really wanted to make price tags to look the same way as built in ones, but sadly I didn't find a way to do so. I did achive something similar, but due to some problems(they were kinda out of sync with Trade Plan Entry / SL / TP and they couldn't being redraw with dotted lines instead of solid lines), had to drop this idea.


3.1. Control Panel v2

Control Panel v2

More btn added to control Risk%, RR, starting implementing idea with Hotkeys. Basically, the idea was to make user focus on the Trade Plan and price action and spend less time trying to find and click specific buttons.

4. Checking the plan before send

One thing I wanted to reduce was clicking Send and only then finding an obvious problem with the plan.

Validation Strip

The validation strip checks the conditions RiskFrame knows about and shows Ready, a warning, or the reason sending is blocked.

It gives the trader a quick answer without opening another window.

Pre-send check is an another layer of protection(optional. Could be switched off in Control Panel general settings). Here you can check all the info about order you're trying to place.
Early pre-send confirmation — the idea of reviewing the plan before send

In v1.1, the strip and the Send action use the same validation result. A green Ready means RiskFrame found no known pre-send block at that moment. If it finds one, the panel shows the reason and does not open the confirmation dialog.

Ready does not mean a broker can never reject an order. Market, account or server conditions can still change after validation.


5.The last surviving prototype screenshot
Historical prototype — this is not the current RiskFrame interface.

Last history screenshot before Final version of RF

This is the last screenshot I still have from the prototype period. There was a large development gap between this build and RiskFrame v1, and I did not save images of every intermediate version. The Control Panel was rebuilt, the toolbar and chart controls were reorganized, validation and trade-management features were expanded, and many interactions changed through testing.

One problem visible here was the position of the Entry, SL and TP plaques. Keeping them in the middle of the plan often covered the candles. Making them transparent would have reduced readability, so I moved them to the side and allowed the Trade Plan to expand in the opposite direction.

That decision remained, but almost everything around it continued to evolve. The next current screenshot jumps forward to RiskFrame v1.1.


6. Testing a mouse-driven MT5 panel

Testing became a large part of RiskFrame’s development. A small change to one chart control can affect risk sizing, another drag mode, validation or order management, so I test complete workflows rather than only individual buttons.

The MT5 Strategy Tester does not reproduce every mouse-driven chart interaction in the same way as a regular chart. For that reason, RiskFrame is also tested on regular demo and live charts.

Testing included:

  • Chart interaction: dragging Entry, SL, TP and TP2; RR-linked targets; resizing; timeframe changes and restarts.
  • Calculations and symbol rules: risk sizing, minimum and stepped volumes, margin, stop restrictions and different symbol specifications.
  • Order workflows: market and pending orders, netting and hedging accounts, closed sessions and broker-side restrictions.
  • Management and safety: Break-even, Trailing Stop, TP2, Daily Loss Guard, validation states and STOP NOW.

I also test failure conditions, such as AutoTrading being disabled, insufficient margin, invalid stops or a closed market. Where visual observation is not enough, audit logs help confirm which path was taken and why an action was sent or blocked. After fixing a problem, I rerun the related earlier scenarios to check that the fix did not break another part of the workflow.

This is more useful for an interactive panel than relying on one backtest and assuming every chart interaction behaves the same way.


7. The layout in RiskFrame v1.1
Hero

By v1.1, the separate pieces had become one workspace: the Visual Trade Plan on the chart, a Control Panel for risk and guards, a Quick Toolbar for common actions, and a clear send status.

Version 1.1 mainly cleaned up and strengthened that workflow:

  • five interface languages for the trade workflow: English, Russian, German, Spanish and Portuguese
  • unified pre-send validation (strip and send use the same result)
  • new / clearer blocks for known send conditions such as broker side restrictions, invalid SL/TP prices and closed sessions
  • clearer risk feedback when lot-step rounding changes the resulting planned risk
  • fixes for STOP NOW reporting and TP2 edge cases
  • the product name and interface updated to RiskFrame

What stayed the same

  • The trader still decides the setup.
  • The panel still shows the important order details before Send.
  • No profit promises. No “never rejected by the broker” claims.
  • Demo testing first, especially on a new broker or unusual CFD symbol.

Links

Product page:
RiskFrame Trade Manager MT5

v1.1 update post:
RiskFrame v1.1 — What’s new

Full manual:
RiskFrame user manual

If you trade manually on MT5, I would be interested in how this compares with your own workflow. Which parts would you use, which feel unnecessary, and what is still missing? Ideas for future versions—and the trading problems you would like RiskFrame to solve—are welcome.