From our research notebook

POLARIS Trading-System Capability Matrix

We explain what our development experience covers, what each kind of work produces and which questions we need to settle before starting a new project.

Our projects did not all begin with a new Expert Advisor. Some started with an indicator that needed connecting, an MT4 system that needed moving, or existing code that no longer behaved as expected. We built this capability map to make those different kinds of work easier to discuss.

We start with the job the software must do

A request for “automation” can mean an alert, a scanner, an order engine or a tool that manages positions opened elsewhere. We first identify the input, the decision and the expected output. That tells us what we can build and what evidence would show that it works as agreed.

Experience helps us ask better questions

Indicator integration brings questions about accessible buffers and changing signals. Migration brings questions about account mode and order handling. A portfolio manager brings questions about position ownership and shared limits. The matrix links each capability to a concrete output, its dependencies and an acceptance check, so the conversation goes beyond a list of technologies.

We keep feasibility specific to the project

Having worked in an area gives us a useful starting point. It does not settle whether a new private indicator exposes usable data or whether a proposed rule is clear enough to test. We work through those dependencies with the person behind the idea, while keeping client rules, source code and access details confidential.

Explore the technical detailOpen the full method, worked examples and implementation questions. We have kept this material here so you can follow the reasoning as far as you need.

A capability matrix is more useful than a long list of strategy names. It shows the type of technical problem a team has already learned to define, build, test, or repair. The matrix below is based on recurring work patterns in our archive, not on disclosure of any single client project.

It is also not a product catalogue. A new collaboration still begins with the market idea, the intended use, the platform, the risk boundaries, and the evidence available.

Engineering map

How one request moves through development

First define the intended behaviour, then build the operating logic, and finally check that the result behaves as requested.

  1. 01
    DefineMarket idea, platform, inputs, states, risk boundaries, and acceptance criteria.
  2. 02
    EngineerSignal logic, order handling, synchronization, controls, logging, and recovery.
  3. 03
    ValidateReproduction, historical checks, operational tests, and behaviour comparison.
CapabilityTypical problemPOLARIS focus
EA development
Turning a discretionary or written method into repeatable rules.
Specification, state logic, order handling, testing, and readable controls.
Indicator automation
Converting a visual signal into an alert, scanner, or executable condition.
Buffer/state interpretation, closed-bar rules, repaint checks, and signal timing.
MT4 / MT5 conversion
Moving established logic while platform APIs and execution models differ.
Behavioural equivalence, symbol handling, testing, and migration checks.
Multi-timeframe systems
Keeping higher- and lower-timeframe decisions synchronized.
Closed-bar policy, event timing, history readiness, and session boundaries.
Risk & trade management
Sizing, supervising, or closing positions under defined account rules.
Risk-based lots, exposure limits, daily controls, recovery, and emergency states.
Dashboards & scanners
Monitoring several symbols, timeframes, or conditions without losing context.
Efficient refresh, clear states, alerts, filtering, and operational readability.
Renko & custom data
Running logic on non-standard charts or transformed price series.
Brick construction, duplicate-event control, synchronization, and historical consistency.
Grid, hedge & basket control
Managing linked orders where exposure can grow or interact.
Hard limits, basket accounting, exit authority, stress behaviour, and transparent risk.
Python / MT5 integration
Moving data or decisions between MetaTrader and an external process.
Data contracts, failure handling, timing, logging, and safe fallbacks.
Debugging & modernization
Finding why an existing tool freezes, duplicates, differs from its test, or no longer compiles.
Reproduction, logging, isolation, compatibility, and controlled refactoring.
Session, news & execution filters
Preventing valid logic from trading in unsuitable operational conditions.
Timezone, calendar state, spread, slippage, liquidity, and order-result checks.
Portfolio supervision
Coordinating risk when several independent systems share one account.
Combined exposure, interaction, priorities, shared limits, and monitoring.

The recurring foundation

Different strategies still share the same engineering foundation: deterministic inputs, explicit state changes, controlled order handling, defined risk, useful logs, and a test plan that matches the intended environment.

This is why a system with simple entry logic can be a serious development project, while a complicated-looking strategy may remain impossible to test until its definitions are cleaned up.

What this matrix does not publish

The matrix deliberately stops before proprietary formulas, client rules, source code, account details, and project links. It describes engineering coverage, not the private implementation of a strategy.

For a new enquiry, the useful starting point is a concise description of the market idea, platform, inputs, outputs, risk boundaries, and what would count as a correct result.

Questions you may have

Is every capability available as an off-the-shelf product?

No. The matrix describes engineering experience. Scope and suitability still need to be defined for each collaboration.

Does POLARIS publish client source code or specifications?

No. Private implementations, identities, and proprietary parameters remain confidential.

Turn a capability claim into a scoping decision

Scroll the diagram horizontally or open it at full size.

Turn a capability claim into a scoping decision
Educational design example — values and states are not live performance.

Illustrative deliverables; these are not claimed client records.

Open full diagram ↗

Turn a capability claim into a scoping decision

A client should be able to see what a capability produces, what it depends on and what would count as a successful delivery. The matrix below makes that distinction explicit. ‘Supported’ means the archive and current engineering practice provide a relevant starting point; it does not promise that every request is feasible before discovery.

Audit-ready capability matrix
Capability Observable output Main dependency or limit Acceptance check
EA development Versioned EA, settings and decision log Rules must be observable; profitability is outside software acceptance Frozen scenarios produce the agreed signals and orders
Indicator automation Named buffer or object mapped to signal events Source output must be accessible and repaint behaviour known Captured values and EA events agree at decision time
MT4 / MT5 conversion Event-by-event parity report Account mode, symbol data and platform semantics can require approved changes Signal, size, fill, modification and exit traces reconcile
Multi-timeframe systems Timestamped context, setup and trigger states Every series needs a bar policy and readiness test Missing or late bars never enter a valid snapshot
Risk and trade management Sizing, exposure and stop-authority record Requires reliable symbol properties and account-wide ownership Boundary, gap, partial-fill and restart tests pass
Dashboards and scanners Candidates with source time, expiry and reason A display refresh cannot be treated as trade permission Stale rows, ties and duplicate events resolve deterministically
Renko and custom data Versioned, replayable bar sequence Synthetic bars are not executable market prices Clean start and restart produce the same completed bars
Grid, hedge and basket control Gross exposure, basket loss and intervention state Recovery is never assumed; exits may fail Depth, trend, gap and rejected-close scenarios respect hard limits
Python / MT5 integration Versioned message schema and acknowledgement trail Transport, clock and model artefact must be defined Stale, duplicate and incompatible messages fail safely
Debugging and modernization Reproduction case, cause and regression test A symptom without reproducible inputs may remain conditional The failure is reproduced before the fix and absent afterwards
Session, news and execution filters Permission state with clock and data age Broker time and calendar revisions must be handled DST, stale news and late-tick boundaries match the contract
Portfolio supervision Ownership ledger, shared reservations and veto log Independent EAs must cooperate with one authority Duplicate events and restarts converge to one account state

Example A is supportable after discovery: ‘open once on a confirmed closed-bar indicator cross, size by stop loss, and block the entry above a shared account limit.’ It maps to indicator automation, EA development and risk management, with concrete replay tests.

Example B remains conditional: ‘use an opaque compiled indicator, a proprietary Python model and guaranteed sub-millisecond execution at every broker.’ Until the indicator output, model contract, hosting path and broker constraints are available, nearby archive experience cannot fill those unknowns.

What to verify

  • Mark every requested row supported, conditional or unproven and attach its evidence type.
  • Name the platform, external dependencies, deliverables and one acceptance test before estimating scope.
  • Keep an empty evidence cell visibly unknown; do not convert similarity to proof.

Limits of this example

The public archive shows categories of work, not source code, acceptance records or current capacity for every variation. The matrix is a discovery tool, not a promise of performance.

Editorial ownership and primary references

Reviewed by POLARIS Research

Evidence scope

Counts and lessons use an anonymized internal archive. Client identities, code, account data and private specifications are excluded.

Primary references

These references support platform behaviour or research concepts. They do not validate POLARIS performance and do not guarantee future results.

Explore the next relevant layer

Move between focused research, system engineering and portfolio construction without losing the context of this page.

Contact POLARIS on WhatsApp