Portfolio

Crypto CFD bot on MT5

ATR-based stops, a volatility filter to skip directionless stretches, and a regular status push to the team's journal over a webhook.

MT5 Team / company Kian Quant Team Quant research team

Project specifications

Project specifications

Market
BTCUSD
TF
H1
Platform
MT5
Client type
Team / company
Delivery window
10 weeks
Stack
MQL5, reporting webhook, H1 and M15 data
Strategy
Hourly momentum + volatility filter
Modules
Periodic reporting + volatility filter
Testing
Four years of crypto data

Who this was for

Kian Quant Team

Role
Quant research team
City
Tehran
Project reference
TBT-1404-11
Trade flow

The client's idea

Kian Quant Team works BTCUSD on H1; the opening brief was: Run our own gridless strategy on MT5, ideally reporting to our journal hourly.

Initial challenge

Crypto volatility made a fixed pip-based stop meaningless, and the team's reporting was always out of date.

Solution

ATR-based stops, a volatility filter to skip directionless stretches, and a regular status push to the team's journal over a webhook.

Why this design

ATR is the shared language across symbols, letting the team compare the same parameter across several markets. It matches how BTCUSD is actually traded and can be tested against the data already available.

Safeguards and risk control

Per-trade risk is derived from stop distance, the daily loss cap is enforced in code, and the kill switch is independent of the signal logic.

Our next-step proposal

The next step for this project is a monthly performance report and an annual review of the BTCUSD filters.

Portfolio

Measured results

These are the figures the test produced — not a promise about future performance.

  • 4 years Test window
  • 14.2 % Max drawdown in test
  • 3 Symbols covered
  • 9 scenarios Scenario test coverage

Portfolio

How the delivery ran

Every project moves through these five phases, with the window for each agreed in the specification.

  1. Discovery and problem framing

    Completed

    Framing BTCUSD on H1 and reading back the client's written rules.

    Day 3–7

  2. Written specification

    Completed

    Turning the rules into codeable conditions: entries, exits, filters, sizing.

    Day 8–19

  3. Implementation

    Completed

    Building the signal engine, risk module and execution layer as separate, testable pieces.

    Day 20–45

  4. Testing and validation

    Completed

    Backtest, forward test and trade-by-trade review on BTCUSD data.

    Day 46–61

  5. Handover and support

    Completed

    Handover of the source, the parameter document and a demo-account install.

    Day 62–65