Who is writing this
The short version: an algorithmic trading developer in Lithuania who has traded since 2010 and written the software behind it since 2016. The long version is below.

Kestutis Balciunas
MQL4, MQL5 and Pine Script. Expert Advisors, indicators, prop-firm risk engines, scanner dashboards, Telegram and webhook executors, and Pine to MetaTrader ports. Full source code and an honest report on every job.
Available for fixed-price work on Upwork and for direct engagements by email.
Figures as of 2026-08
I am Kestutis Balciunas, an algorithmic trading developer in Lithuania. I build MetaTrader Expert Advisors and indicators in MQL4 and MQL5, and TradingView tools in Pine Script, with full source code, honest test reports and no win-rate promises.
Where the work comes from
I have traded forex, indices, commodities and derivatives since 2010, and I have written the software behind that trading since 2016. The combination is the whole point. It is what catches the problems most developers miss: broker execution differences, spread and slippage, minimum stop levels and requotes, multi-timeframe conflicts, and backtests that do not survive contact with a live account.
What I build, in rough order of how often I am asked: Expert Advisors from written rules, an existing EA or annotated charts; non-repainting indicators with alerts; prop-firm risk engines with daily and total drawdown guards, session and news filters; multi-symbol scanner dashboards; Telegram signal copiers and TradingView webhook executors; and Pine Script ports checked signal by signal against the original.
Selling to strangers changes how you write code
I publish and support 92 listings on the MQL5 Market, so my code is held to a standard beyond compiling on my machine: MetaQuotes validation on both platforms, broker-agnostic symbol handling, sane behaviour on every tick and timeframe, and documentation a buyer can follow without me on the phone.
Two support cases from that work say more than any adjective. A customer reported alert flooding every time he changed a setting. The cause was the platform re-running the historical pass and re-firing every historical signal; the fix suppresses alert dispatch during that pass only and re-arms on the next live tick. Another client's account took zero trades for a week with no error anywhere. The packaged binary had been compiled one build behind the source, which let Strategy Tester state write a halt latch that the live chart then read on attach. That fix shipped with a build assertion, a one-click latch reset and a logging protocol so any future problem can be diagnosed from three log lines.
Prop-firm risk engineering
A prop-firm rule guard is a small piece of code with an unforgiving job: it has to be correct on the first live account, because a single breach is permanent. The details that decide whether it works are rarely the obvious ones. The day has to be anchored the way the firm measures it, which for some firms means deriving Central European time from GMT including the daylight-saving transitions. Every floor gets a buffer, so a spread spike on the closing trade cannot turn a guard trigger into a breach; on a $6,000 account that meant halting at $5,520 against a real $5,400 floor. A pass is declared on realised balance, not floating equity. Guard state survives a terminal restart and is disabled inside the Strategy Tester so a backtest can never contaminate live state.
I do not sell guaranteed passes, because no honest developer can. I make sure the robot does not break the rules that fail most challenge accounts, and I prove the guards by forcing them to fire in dedicated tests before delivery.
A Pine port is a rewrite, not a translation
Bar indexing runs the opposite way, barstate.isconfirmed has no MQL equivalent, and request.security, drawing objects and alert timing all behave differently. Getting those wrong is why so many converted scripts repaint on MetaTrader when the original never did. HyperTrend PRO is the representative job: 708 lines of Pine in, 3,099 lines of MQL out across both platforms, with 27 explicit state arrays standing in for Pine's silent var persistence and an explicit index-conversion layer instead of hoping the offsets line up. Where a Pine feature genuinely cannot be reproduced, I say so before starting rather than shipping something that quietly differs from the chart the client already trusts.
How I work
Before any code exists I write the spec back to you, covering what your rules do not yet answer: conflicting signals, session close, gaps, widening spread, rejected orders. Every build compiles to zero errors and zero warnings and validates broker constraints instead of assuming them. The test report states its conditions and shows the weak results. Delivery is the source, a setup guide, a video demonstration and support.
What I will not do: promise profit, win rates or returns; decompile .ex4 or .ex5 files; clone a paid closed-source script from screenshots. And if I think your strategy will not survive testing, I tell you before you order rather than after delivery.
Platforms I build for
Every Market product ships for MT4 and MT5; Pine Script tools run on TradingView (referral link).
Some of these are referral links. How that works.
Verify any of this yourself
The seller profile, the Code Base entries and the Upwork listings are public. The case studies on this site link the reports they quote.