Custom Indicator Development — MQL4, MQL5 and PineScript
Describe the signal you trade by eye and we build it as a non-repainting indicator with alerts, then optionally turn it into an Expert Advisor that trades its signals automatically.
A custom indicator is code that calculates and draws your own signal on a MetaTrader or TradingView chart: trend filters, harmonic patterns, key levels, entry and exit arrows, and audio, push or email alerts. ExpertNevees builds indicators in MQL4, MQL5 and PineScript, verifies they do not repaint, and can convert any indicator into a fully automated indicator trading bot. Typical delivery is 3–5 days.
Indicators We Build
Trend and momentum
Pattern and harmonic
Multi-timeframe
Alerting
Session and volatility
Indicator trading bot
MetaTrader Indicator or TradingView Indicator?
| MetaTrader (MQL4 / MQL5) | TradingView (PineScript v6) | |
|---|---|---|
| Runs on | MetaTrader desktop, mobile view of chart objects | TradingView in browser, desktop and mobile |
| Best for | Trading from MetaTrader and building an EA from the signal | Charting, sharing, screening and alerts across markets |
| Automation | Direct: the same code base can become an EA | Via alerts and webhooks, see TradingView–MetaTrader Integration |
| Alerts | Pop-up, sound, push, email | App, email and webhook alerts |
| Cost to you | Free in MetaTrader | Depends on your TradingView plan |
PineScript v6 is the current version (released November 2024); v5 scripts still run, and we can migrate them. See the PineScript guide.
A Non-Repainting Signal Indicator in PineScript v6
//@version=6
indicator("EMA Cross Signal", overlay = true)
fastLen = input.int(20, "Fast EMA", minval = 1)
slowLen = input.int(50, "Slow EMA", minval = 2)
fast = ta.ema(close, fastLen)
slow = ta.ema(close, slowLen)
// Evaluate on the confirmed bar so a signal never disappears after it appears
bull = ta.crossover(fast, slow) and barstate.isconfirmed
bear = ta.crossunder(fast, slow) and barstate.isconfirmed
plot(fast, "Fast EMA", color = color.blue)
plot(slow, "Slow EMA", color = color.orange)
plotshape(bull, "Buy", shape.triangleup, location.belowbar, color.green, size = size.small)
plotshape(bear, "Sell", shape.triangledown, location.abovebar, color.red, size = size.small)
alertcondition(bull, "Bullish cross", "Fast EMA crossed above slow EMA on {{ticker}}")
alertcondition(bear, "Bearish cross", "Fast EMA crossed below slow EMA on {{ticker}}")
The barstate.isconfirmed condition is the difference between a signal you can trade and one that only looks perfect on history.
The Repainting Problem and How We Prevent It
- ●Signals are fixed once the bar closes. An arrow that appears on a live bar and vanishes later makes the historical chart look better than reality.
- ●No look-ahead in multi-timeframe code. Higher-timeframe data is read only from completed higher-timeframe bars, or the repainting behaviour is declared in the documentation.
- ●Zig-zag and swing indicators are labelled honestly. Structures that need future bars to confirm are marked as delayed, not presented as real-time signals.
- ●Historical vs live comparison. We verify that signals recorded live match the signals shown after a reload.
How an Indicator Becomes an Automated Trading Bot
Lock the signal
The indicator’s buy and sell conditions are frozen and tested so the automation trades exactly what you see.
Define trade management
Stop-loss, take-profit, trailing, break-even, position sizing and when to ignore a signal.
Build the Expert Advisor
The EA reads the indicator’s buffers (or embeds its logic) and sends orders with full result checking.
Backtest and forward test
Strategy Tester report plus a demo run before you go live. See Expert Advisor Development.
Delivery, Support & Guarantee
Timelines are indicative. The exact price and delivery date are confirmed in writing before work starts, with no hidden costs. Payment: 50% advance, 50% after your approval (USDT or bank wire).
Frequently Asked Questions
How long does it take to build a custom indicator?
Most indicators take 3–5 days. Complex multi-timeframe or pattern-recognition indicators take longer. The exact timeline is confirmed before work starts.
Can you build an indicator from my description or screenshot?
Yes. We turn a description, a screenshot of marked-up charts, or an existing closed-source indicator’s behaviour into a precise specification and then code it.
Will the indicator repaint?
Not unless the logic inherently requires future bars, in which case we tell you before coding and label it clearly. Signals are confirmed on bar close.
Can the indicator send alerts to my phone?
Yes. MetaTrader indicators can send sound, pop-up, push and email alerts, and TradingView indicators support alert conditions. Telegram delivery is available through a companion script.
Can you turn my indicator into an automated trading bot?
Yes. We build an Expert Advisor that trades the indicator’s signals with risk management and trade management you define.
Do you work with PineScript v5 or v6?
We write new scripts in PineScript v6, the current version, and we can maintain or migrate v5 scripts.
Official Documentation & Sources
- Pine Script v6 Reference ManualTradingView.comView Docs ↗
- MQL5 Reference — Custom IndicatorsMQL5.comView Docs ↗
Want Your Signal Built as a Reliable Indicator?
Send a description or screenshot. We confirm the specification and price before you pay.