Telegram to MT4 / MT5 Signal Trader

Telegram to MT4 / MT5 Signal Trader

2 July 2025, 14:23
Lukas Roth
15
194

MT5 available here: Telegram to MT5 Signal Trader

For product updates and demo versions, join my Telegram channel.

Telegram to MT5 Signal Trader copies text-based Telegram signals from public or private channels and groups to MetaTrader 5. A Windows desktop app reads the messages and manages your settings. The EA executes and manages the trades in MT5. Multiple providers and trading accounts can run at the same time.

This guide covers desktop app 0.9.7 and EA 2.58. Keep both components up to date; newer features require a compatible app and EA.



The video is an introduction. Some screens and settings have changed; use the instructions below for the current workflow.

Contents

  1. Installation and first connection
  2. Accounts, providers, orders and signals
  3. Account settings
  4. Provider settings: Copy, Signal, Risk, Levels and Tools
  5. Entry layering
  6. Backtests with Telegram history
  7. EA inputs and everyday operation
  8. Troubleshooting and support

1. Installation and First Connection

The desktop app and MT5 must run on the same Windows computer or Windows VPS. Keep both running while copying live signals. Your Telegram account must already have access to the channels or groups you want to copy.

Download the latest Telegram Signal Trader installer

  1. Install the Telegram to MT5 Signal Trader EA from the MQL5 Market. If needed, follow How to install Products from the Market.
  2. In MT5, open Tools > Options > Expert Advisors. Enable Allow WebRequest for listed URL and add http://127.0.0.1:5000. This address connects MT5 to the local desktop app.
  3. Install and start the Windows desktop app. Attach the EA to an MT5 chart and enable algorithmic trading in both the terminal and the EA properties. Keep the EA running during the app's login and connection setup.
  4. Log in to Telegram in the desktop app: enter your phone number with country code, the login code supplied by Telegram, and your two-step verification password if requested.
  5. In Accounts, create a Signal Trader account. This is a configuration inside the app, not a new broker account.
  6. On the EA's chart panel, select that Signal Trader account and click Connect account. Verify that the app shows the expected broker account and that its symbols have synchronized.
  7. Add a Telegram provider to the account. Review the account's symbols and protections, then the provider's parsing, risk and trade-level settings. Save your changes and verify the complete workflow on a demo account.

MT5 WebRequest settings with http://127.0.0.1:5000 allowed

One Signal Trader account can have only one active EA connection at a time. For another terminal or broker account, create a separate Signal Trader account. If an account is already in use, disconnect its existing EA connection before moving it.

EA-connected


2. Accounts, Providers, Orders and Signals

Navigation

  • Home: application information, release notes and introductory content.
  • Accounts: connected accounts, providers, orders, signals and their settings.
  • Backtests: import Telegram history, compare settings variants and export a replay for the MT5 Strategy Tester.
  • Products and Help: product links, manual and video.
  • Support: send a bug report, feature request or provider-related report.
  • Logs: inspect the application log and processing messages.
  • Settings: check for and install desktop app updates.

Signal Trader Accounts

You can create up to unlimited Signal Trader accounts, each with unlimited providers. Each account groups its own providers and account settings and connects to one EA instance. The connected broker account supplies its balance, equity and symbol catalogue. Broker account figures describe the trading account as a whole; they are not necessarily the performance of this provider alone.

Open the gear icon on the account to edit its settings. Use Save Changes and wait for the success message before relying on an updated configuration.

Providers

Choose Add Provider, search or browse your Telegram chats, and select the channel or group. Open its gear icon to configure that provider. A provider's copy rules, parsing templates, risk and trade levels are independent of the other providers assigned to the account.

Add-Provider

Orders and Signals

Orders shows the orders recorded for the selected account. Use provider and status filters, choose visible columns and inspect individual orders. For layered entries, the layer number identifies the entry layer; the optional Layer Group column identifies the group belonging to one signal.

Signals shows parsed messages and their processing status. Inspect the original message, recognized actions and status history when a trade differs from what you expected. A recognized or accepted signal does not guarantee a broker fill: account rules, current prices, broker restrictions or an execution error may still prevent it.

[IMAGE PLACEHOLDER 03: Signals with expanded status history and Orders with TP and Layer columns.]

3. Account Settings

These settings apply across the providers linked to the selected Signal Trader account. Open the account gear, select a tab and click Save Changes when finished.

Trade limits and protective actions concern this Signal Trader account's managed trades. They do not manage unrelated manual trades or other EAs. However, percentage thresholds and percentage position sizing use the broker account's balance or equity, which can be affected by other trading activity.

Symbol

  • Symbol Prefix and Suffix: configure broker affixes such as x.EURUSD or EURUSD.i so provider symbols can be matched to the broker catalogue.
  • Include Mode / Exclude Mode: either allow only listed symbols or exclude the listed symbols. An empty include list allows no symbols.
  • Custom Symbol Mappings: map the provider's wording to the actual broker symbol, for example Gold to XAUUSD-ECN. Use the exact broker name where appropriate.
  • Enable MetaTrader Account Symbols: search the synchronized catalogue and enable or disable individual symbols or entire broker groups. This selection is saved for the broker login. A live EA connection is required to edit the live account's catalogue.
  • Set to default: restores the default symbol selection. Symbols with names shorter than four characters are disabled by default; check this if you trade short stock or index symbols.

Keep only the symbols you need enabled. This also reduces accidental symbol matches in ordinary text. All applicable symbol restrictions must permit an entry; adding a mapping does not by itself enable trading that symbol.

[IMAGE PLACEHOLDER 04: Symbol settings with prefix/suffix, include/exclude filter, Gold mapping and grouped broker-symbol selection.]

Equity Protection

  • Risk Type: choose Fixed Money, Percent Equity or Percent Balance. This controls protection thresholds; the provider's position sizing is configured separately under Risk.
  • Loss Protection: enable and set individual daily, weekly and monthly loss limits.
  • Profit Protection: enable and set individual daily, weekly and monthly profit limits.

The protection compares the period's realized result plus the current net floating result of managed orders against the enabled threshold. Percentage modes calculate their threshold from the current broker balance or equity. This is not a trailing drawdown measured from a previous equity peak.

When a limit is reached, the EA requests closure of managed positions/cancellation of managed pending orders and blocks new signals for the remaining period. Execution still depends on the broker and available prices; the configured threshold is not a guaranteed final profit or loss. Review the threshold amounts after changing Risk Type, as the form resets their draft values.

[IMAGE PLACEHOLDER 05: Equity Protection with risk type and separate daily, weekly and monthly profit/loss limits.]

Trade Restriction

  • Max Open Trades: limit simultaneous managed trades.
  • Trades Per Minute / Hour / Day / Week / Month: limit trading frequency for the selected period.
  • Custom Trade Limit: configure a trade count and a custom time period.
  • Trade Comment: build a broker order comment with tags such as Provider Name, Signal ID and TP Index.
  • Hedging Protection > Prevent Hedging: skip an opposite-direction entry on the same symbol when this Signal Trader account already has a conflicting managed position or pending order. The rule works across its providers.

For example, with Prevent Hedging enabled, a managed EURUSD Buy can prevent another provider's EURUSD Sell from opening. This setting is a strategy restriction; it is different from whether the broker account itself uses hedging or netting.

[IMAGE PLACEHOLDER 06: Trade Restriction with limits, comment tags and Prevent Hedging.]

Time Restriction

  • Allowed Trading Days: choose the weekdays on which new trading is permitted.
  • Trading Time Restrictions: add blocked windows using start/end weekday and time, for example Monday 22:00 to Tuesday 06:00.
  • Auto Close Settings > Close all at: select a weekly closing time for managed trades, for example before the weekend.

Live settings use the computer's local timezone, shown by the clock in the settings panel. Check the Windows timezone when moving to a VPS. Automatic closing is requested when the EA processes the scheduled time; it cannot guarantee a fill at an exact second. The backtest settings editor explicitly displays stored time windows in UTC; see the Backtests chapter.

News

Enable Low, Medium and/or High impact filters and set the minutes before and after each event. Consider News Affecting Currency restricts filtering to currencies relevant to the symbol.

Block New Trade Openings During News and Block Trade Closures During News are separate controls. Review both to decide which signal actions should be blocked. These filters do not disable the broker's own SL/TP execution. Historical news filtering is not supported in backtests.

[IMAGE PLACEHOLDER 07: Time Restriction with local clock, and News with opening/closing controls.]

Notifications

Trade notifications are available. Enable the desired delivery channels and choose the events: Trade Open, Trade Close, Order Cancel and Order Modify.

  • Email: configure and test email in MT5 under Tools > Options > Email, then enable it in the app.
  • Mobile App: configure MT5 under Tools > Options > Notifications with your MetaQuotes ID, test it there, then enable mobile notifications in the app.
  • Telegram: create a bot using Telegram's BotFather. Start a private chat with it, or add it to the destination group/channel with permission to post (a channel requires the appropriate administrator rights). Enter its token in the app, validate it and select the destination chat. If the chat is missing, send a new message to the bot or destination and refresh the chat list.
  • Include Account Name: add the connected account name as the notification headline.

The Telegram account used to read providers and the Telegram bot used to send notifications are separate connections. Logging in to Telegram does not automatically configure the notification bot.

[IMAGE PLACEHOLDER 08: Notification channels, validated Telegram bot and destination chat, plus event switches. Hide the bot token.]

Screenshot

Screenshots are not available yet. The tab displays planned settings for dimensions, local saving, trade events and Telegram forwarding. These controls do not currently provide automatic capture or delivery.

4. Provider Settings

Open a provider's gear icon. The tabs are Copy, Signal, Risk, Levels and Tools. Changes remain in the editor until you click Save Changes. Test real examples of both opening signals and follow-up messages before enabling a new provider configuration for live trading.

Copy: Which Actions Should Be Copied?

  • Trade Action Filters: independently control new trades, long/short trades, market/pending orders, pending activations, order deletion, closing, partial closes, modifications, reopening and breakeven signals.
  • Message Lifecycle: choose whether editing the original Telegram message updates its signal, and whether deleting the original signal message closes its trade.
  • Default Symbol: use a fallback for new signals without a symbol. Set this only when the provider consistently trades that instrument.
  • Ignore Incomplete Signals: separately reject messages missing SL or TP. Review these switches together with any manual fallback levels you intend to use.
  • Automatic Trade Type: infer Buy or Sell only if no configured order-type keyword was detected and enough consistent Entry/SL/TP information exists. This does not infer Buy Limit, Sell Limit, Buy Stop or Sell Stop.

For automatic direction detection, at least two groups among Entry, SL and TP must be usable. SL below Entry or TP above Entry supports Buy; the opposite supports Sell. With no Entry, TP above SL supports Buy. Contradictory, equal or ambiguous levels are rejected.

Follow-Up Messages and Replies

A Telegram reply links a modification to its original signal. Modification Signals Without Reply optionally allows follow-up instructions without a reply: a detected symbol targets the latest new trade for that provider and symbol; without a symbol, it targets that provider's latest new trade. An explicit reply takes priority.

The system does not keep searching older signals until it finds an open position. If the selected original has no suitable open trade, the modification is rejected. Reopen Trade still requires a reply. Configure this option carefully for providers that discuss several trades at once.

Order Activate means an explicit instruction to replace a pending order with a market order. It is separate from a pending order being filled normally by the broker. Explicit activation is not supported for layered entries; normal broker fills are supported.

[IMAGE PLACEHOLDER 09: Copy settings with action filters, message lifecycle, replyless modifications and Automatic Trade Type.]

Signal: Official Parsing Templates

Official Signal Parsing Templates provides maintained configurations for supported provider formats. Choose the matching provider template where available, review its example message and click Apply Parsing Template. A broad general template is also available, but can recognize unrelated text more easily than a precise provider template.

After applying a template, review the Copy and Signal tabs and save the provider settings. Some templates also supply related copy and recognition options. The template does not choose your risk budget for you.

Use refresh to reload the catalogue. Couldn't find your provider? opens a template request workflow. A submitted request includes provider details and recent messages for review. Clear All Entries clears the parsing text fields, including separators, aliases and action patterns; it is not a reset of the entire provider.

[IMAGE PLACEHOLDER 10: Official templates with a provider-specific example and Apply Parsing Template.]

Signal: Keywords, Values and Actions

Keywords are case-insensitive. Match the provider's actual wording and number format; avoid adding overly broad phrases to several actions.

  • Price Detection: set the decimal separator, thousand separators and open-price names. A provider using 1,234.50 needs different number handling from one using 1.234,50.
  • Order Types: define aliases for Buy, Sell, Buy Limit, Sell Limit, Buy Stop and Sell Stop.
  • Signal Actions: configure New Trade, Modify Order, Close All Trades, Close Trade, Partial Close, Partial Close Half, Cancel Order, Order Activate and Reopen Trade.
  • Close All Trades > Include Pending Orders: choose whether that provider's close-all instruction also cancels its pending orders. Close All is scoped to the provider's managed orders.
  • Text must include / Text must not include: optional new-trade keyword filters with Any or All matching.
  • Trade Levels: configure Entry/SL/TP aliases and patterns for initial levels, level changes, removing SL/TP and moving SL to breakeven.

Use the tag insertion buttons for placeholders. The main tags are:

  • <symbol>: a recognized trading symbol or configured mapping.
  • <type>: an order type recognized from your configured aliases.
  • <price>: an absolute numeric price.
  • <entry>, <sl>, <tp>: your configured level names, such as Entry, SL or Take Profit. These tags match the label, not the numeric value.
  • <tp_index>: the TP number in numbered targets.
  • <pips> / <points>: a positive numeric SL/TP distance instead of an absolute price.
  • <text>: variable text between the fixed parts of a pattern.
  • <lot>: the lot value in the separate lot-size patterns under Risk.

Parsing Example

Assume Gold is mapped to your broker's gold symbol, Buy is an order-type alias, and SL/TP are configured level aliases:

Signal parsing examples with matching placeholder badges for a complete signal, entry ranges and SL/TP distances.

The EA converts distance-based SL/TP values to prices using the entry and direction. A pip and a point are not interchangeable. Use one value type per template: do not mix price, pips and points in the same pattern, or create otherwise identical patterns that differ only in the value tag.

Risk: Position Size and Risk Keywords

  • Fixed Lot: use a fixed lot budget for the signal.
  • Fixed Money: size the signal from a money risk amount in the account currency.
  • Percentage of Balance / Percentage of Equity: calculate the signal's risk budget from the corresponding current broker account value.
  • Copy lot size from signal and multiply it by: parse a lot value with patterns such as Lots: <lot> or <lot> lots, then apply the configured percentage multiplier. If no lot value is recognized, the normal risk mode is used.
  • Risk keyword multipliers: define enabled rules with keywords, Any/All matching and a factor. If several rules match, their factors are combined using the geometric average, not multiplied together. For example, factors 0.5 and 2 combine to 1.

The budget belongs to the whole signal, including its TP members and entry layers. Money/percentage sizing depends on the entry-to-SL distance and broker symbol specifications. Broker minimum lots, volume steps and rounding can change the final allocation.

Risk: Partial Closes, Slippage, Delay and Duplicates

  • Partial Settings: set the partial-close percentage and optionally restrict partial closes to profitable trades. Partial Close Half is a separate recognized action.
  • Slippage Handling: set the maximum distance between the signal entry and market price in pips. The tolerance is an absolute distance, applying to both better and worse prices. Ignore entry price uses the current market quote instead.
  • Convert to pending: when the allowed entry-price distance is exceeded, optionally place a pending order at the entry instead of skipping the signal. Layering has its own first-layer fallback, explained below.
  • Signal Delay: delay execution locally in the EA after receipt. Enter seconds; fractional values such as 2.5 are supported. This is separate from communication/polling latency.
  • Pending Order Handling: optionally expire pending orders after the selected number of minutes.
  • Duplicate Prevention: reject an identical new-trade request within a configurable look-back window in seconds. This compares the recognized request, not just the original Telegram text.

The provider's slippage tolerance is separate from the EA's broker execution deviation input, which is measured in points.

[IMAGE PLACEHOLDER 12: Risk budget, lot-copy patterns and keyword rules; slippage, signal delay, pending expiry and duplicate window.]

Levels: Entry Price and Ranges

An Entry offset shifts the requested entry by fixed or random pips. A positive offset improves the entry: lower for Buy, higher for Sell. A negative offset reverses that direction.

When layering is disabled, Entry Range Mode chooses how to use two entry prices:

  • Best: lower endpoint for Buy, higher endpoint for Sell.
  • Worst: higher endpoint for Buy, lower endpoint for Sell.
  • Average: the midpoint.
  • Market Adaptive: use a market entry inside the range, or a pending entry at the nearest boundary outside it.

Parse shorthand entry ranges enables abbreviated ranges such as 3782/84 for 3782 to 3784. The parsing template must also match the message format. Entry layering is described in its own chapter below.

Levels: Stop Loss

  • Set manual Stop Loss at: specify a distance in pips. Enable the missing-SL-only option to use it as a fallback; otherwise it supplies the manual SL.
  • SL offset: adjust the level by fixed pips, random pips or the current spread. Positive widens the stop; negative fixed/random values tighten it.
  • Use a virtual Stop Loss for new trades: the EA manages the SL internally instead of placing that SL with the broker.

Virtual SL requires MT5 and the EA to stay running and connected. If they are offline, the broker has no corresponding SL from this virtual setting to execute.

Levels: Take Profit

Configure up to 9 TP levels. Each level has a Close Size and can use the signal's TP or a manual distance. A manual value can be restricted to cases where the matching signal TP is missing.

  • Manual TP: calculate from pips, a percentage of SL distance, or for non-final targets a percentage of the signal's TP distance. For example, 200% of SL distance corresponds to twice that distance.
  • Close Size: assign the portion of the original volume to close at the target. The final target closes the remaining volume.
  • Distribute Close Size: a one-time redistribution of the configured percentages.
  • Automatically distribute Close Size: distribute equally across the effective TPs used by each new signal. For example, three usable TPs receive approximately one third each, even if four TP rows were configured. Broker volume rounding still applies.
  • Move SL when a TP is hit: move the remaining trades' stop to Entry or an earlier TP, with an optional pip offset. The final TP does not need a further SL move.
  • TP offset: fixed pips, random pips or spread. Positive extends the target; negative fixed/random values move it closer.
  • Use a virtual Take Profit for new trades: manage TP in the EA instead of placing that TP with the broker. MT5 and the EA must remain online.

[IMAGE PLACEHOLDER 13: SL and TP settings showing virtual levels, manual fallback, automatic Close Size distribution and a TP-triggered SL move.]

Levels: Break-Even and Trailing Stop

Break-Even Settings can move SL to entry with a pip offset into profit. Select an automatic trigger based on pips in profit, a percentage of TP distance or a percentage of SL distance, or disable the automatic trigger.

If a BE signal arrives while the position is in loss is a separate rule for explicit provider instructions: choose Do nothing, Move TP to entry or Close position. It is not the activation rule for automatic break-even.

Trailing Stop has an activation threshold in profitable pips and a trailing distance in pips. Once active, the EA follows price with the SL according to those settings.

[IMAGE PLACEHOLDER 14: Break-Even with the BE-signal-in-loss choices and Trailing Stop activation/distance.]

Tools: Save, Load and Import Provider Settings

Save / Load Provider Settings stores complete provider configurations locally. Save a configuration under a name, select a saved configuration and load it, refresh the list, delete a saved file or open its folder. You can import a JSON file by dropping or browsing for it; the current size limit is 50 KB.

After importing, select the saved configuration, load it into the editor, review it and click Save Changes. Full settings files include risk and trade levels, so loading them can replace much more than signal recognition. They are different from the official parsing templates in the Signal tab.

Test Messages is not available yet. Use the Backtests preview to inspect historical parsing and a demo account with a controlled Telegram channel to verify live execution.

5. Entry Layering

Provider Settings > Levels > Entry Price > Enable entry layering spreads one signal across several entry prices. Layering requires an MT5 hedging account. The help icon beside the switch explains the grid and TP1 cancellation with examples.

Configure the Entry Grid

  1. Enable entry layering and set the Number of layers. The count includes the first entry; the current supported range is 1 to 1000.
  2. Use the entry range supplied by the signal, or enable Set manual entry range and enter a positive Range width in pips.
  3. Leave Only if no second entry price was provided enabled to prefer the provider's range. Disable it to replace the supplied width with your manual width.
  4. Optionally enable Delete pending layers at TP1, then save the provider.

More than one layer needs a supplied or manual entry range. A manual range still needs at least one entry price in the signal; it does not invent the first price from the current quote. Range width is the entire distance from first to last entry, not the spacing between two neighbouring layers.

Buy layers start at the upper boundary and progress downward; Sell layers start at the lower boundary and progress upward. With EURUSD at a first entry of 1.1000, a manual width of 20 pips and three layers:

Buy:  1.1000 / 1.0990 / 1.0980
Sell: 1.1000 / 1.1010 / 1.1020

When replacing a provided range, the manual width remains anchored at its upper boundary for Buy or lower boundary for Sell. An entry offset moves the whole grid without changing its width. The single-entry Range Mode is unavailable while layering is enabled and becomes available again when layering is disabled.

First Entry, Risk and TP Members

The first layer may enter at market if the entry/slippage settings allow it. Otherwise it uses a limit at the first boundary, even when the ordinary convert-to-pending option is disabled. The other grid entries stay at their planned prices. Broker order constraints still apply.

For example, a Buy range of 99 to 100 with three layers produces 100 / 99.50 / 99.00. If a first market entry at 100.20 is allowed, the entries become 100.20 / 99.50 / 99.00; the remaining grid does not shift.

The signal's total lot/risk budget is divided between layers and then TP members. Three layers with four separate TP members create twelve planned orders, sharing one signal budget. Broker minimum volumes, lot steps and price constraints can leave some budget unused or prevent an invalid layer.

Delete Pending Layers at TP1

This option waits for a confirmed TP1 exit from any layer in the same signal group. A price touching TP1 is not enough. Once confirmed, the EA blocks further entries for the group and cancels remaining pending layers. Positions already filled stay open and continue to be managed.

Break-even uses each position's actual fill price. TP-related SL moves resolve within the same layer. Disabling layering affects new signals; existing groups keep their original configuration and management. Preserve the EA's saved state when restarting or migrating a terminal so existing groups can be recovered.

[IMAGE PLACEHOLDER 15: Layering settings plus a three-entry Buy/Sell grid. Show TP1 cancelling remaining pending entries while filled positions remain open.]

6. Backtests with Telegram History

The Backtests page downloads historical Telegram messages and prepares a replay for the same Signal Trader EA in MT5's Strategy Tester. One test supports one provider and multiple enabled broker symbols on a shared simulated account.

Importing history does not send live signals. Backtest settings are copies; changing a draft does not change your live account or provider. The preview shows recognition results, while the EA decides whether and how each candidate trades against historical prices.

Step 1: Import Message History

  1. Connect the live EA at least once so the account has its broker-symbol catalogue. Configure the account and provider you want to use as the starting point.
  2. Open Backtests, select the account and provider, and choose the import period. Start and end are UTC; the end is exclusive. For the whole of January 20, use January 20 00:00 to January 21 00:00 UTC.
  3. Start the import and wait for complete. The imported-message counter reports saved messages. The activity bar is not a percentage estimate.
  4. Use Stop import and Resume import if needed. Interrupted imports can resume from their saved position. Telegram rate limits may require waiting; stopping and resuming does not remove that wait.

An incomplete import cannot yet become a test variant. Text and captions are imported; media without text is skipped. Start early enough to include the original messages to which later modifications reply. A replay begins without earlier open positions or signal history.

[IMAGE PLACEHOLDER 16: Backtests import form with UTC dates, completed history and Create variant.]

Step 2: Create a Settings Variant

  1. Choose Create variant on a completed import and give the variant a descriptive name.
  2. Open Backtest settings > Symbols. Select the broker symbols needed for this test. The copied prefix, suffix, filters, mappings and enabled-symbol selection are retained. At least one symbol must be enabled.
  3. Review the copied account and provider settings, including risk, time restrictions, signal recognition and trade levels.
  4. Enter Broker UTC offset (hours) for the historical test period. The app suggests the last observed offset for the matching live account if available; correct it if the historical period differs.
  5. Optionally enter Transport latency (ms). This simulates a constant message-delivery delay. The provider's Signal Delay is then applied once by the EA.
  6. Click Save and preview. To change a saved variant, use Save as new variant.

Saving freezes the settings, message copy, parsing results and time mapping. Later live-setting changes do not alter a saved variant. The same variant can be previewed and exported again without reparsing its messages.

Understand the Three Time References

  • Telegram/import time: UTC, regardless of the display timezone used by your Telegram client.
  • Broker time: the timestamp of historical MT5 prices. For broker UTC+2, a message at 14:00 UTC corresponds to 16:00 broker time.
  • Strategy timezone: saved from the computer's local timezone for new variants and retained by saved copies. It supplies strategy weekdays and period boundaries. The backtest settings editor explicitly edits the stored trading-time windows in UTC.

The current editor uses one fixed broker UTC offset for the whole test, including fractional values such as 5.5. A currently observed offset is not proof of the historical offset. If the broker changes offset during the requested dates, split the tests into periods with the appropriate fixed offset. Do not assume the current offset automatically handles historical daylight-saving changes.

Step 3: Inspect the Preview

Compare Original message, Actions and Trade request. The request displays recognized symbol, order type, entry, SL/TP values or units, lot and risk multiplier. Missing values remain missing; the preview is not a final lot calculation or a broker execution result.

Included means that a candidate is available for replay. It may still be rejected by the EA because of account limits, unavailable prices, missing trade context or other execution rules. Excluded rows show reasons such as an unrecognized message, disabled symbol or a missing original reply target.

Edited Telegram messages are a limitation of historical replay: the import only has the latest available text and uses it at the original sending time. A later-added SL, TP or entry can therefore appear earlier in the replay than it did live. Visible Telegram edit markers produce an orange note, but the absence of that note does not prove that a message was never edited. Deleted messages and earlier text revisions cannot be reconstructed.

[IMAGE PLACEHOLDER 17: Variant settings with broker offset and symbol selection; preview with original text, parsed request and edited-message notice.]

Step 4: Export for MT5

If the copied account has an active news filter, export is blocked because historical news data is unavailable. Use Disable news in this draft only if you want a test without that filter, then save the variant. This does not disable your live news filter.

Choose Export for MT5. The app writes the replay into MT5's Common Files folder and displays a relative path similar to:

SignalTrader\Backtests\YOUR_VARIANT_ID.stbt.jsonl

Copy the exact path shown by the app. It is used by the tester, not imported as a provider settings template. The app and MT5 terminal must use the same Common Files location.

Step 5: Run the MT5 Strategy Tester

  1. Open MT5's Strategy Tester and select the Signal Trader EA.
  2. Select a main symbol shown in the export instructions and Every tick based on real ticks. Other symbols used by the exported signals are included automatically. Historical data must be available for all of them.
  3. Cover the complete broker-time interval displayed by the app. Configure the simulated deposit, account currency and leverage. If layering is enabled, use a hedging account mode in the tester too.
  4. Use a local testing agent and a single test run. Cloud agents and MT5 optimization are not supported.
  5. Set inpBacktestFile to the displayed relative path. Keep inpBacktestSeed fixed when comparing runs that use random settings.
  6. Start the test, then inspect the MT5 report and Journal. To compare different parsing or trading settings, save/export another variant and repeat under the same tester conditions.

The replay runs locally without a live app connection and does not send live notifications. A missing or invalid dataset prevents startup; there is no built-in sample trade. Settings controlling simulated balance, currency and leverage come from the Strategy Tester, not from the original live account.

[IMAGE PLACEHOLDER 18: Export instructions and MT5 Strategy Tester with real ticks, broker date interval, local agent and backtest-file input.]

Results, Storage and Cleanup

Use the MT5 report for trades, statistics and the balance/equity curve. The EA also writes an audit under the local test agent's MQL5\Files\STBT folder and reports its location in the Journal. It is separate from the exported dataset in Common Files. A finished time range can still leave open positions or pending orders; inspect the final state.

Signals wait for a usable tick of the affected symbol. Several messages sent during a market gap can therefore execute at its next available tick. If the tester cannot supply sufficient intermediate price changes for reliable management, the EA can stop with an explicit error. Treat an aborted run as incomplete.

  • Delete message history: removes the original import and its progress. Saved variants retain their own complete message copies and remain usable.
  • Delete variant: removes that variant's settings, message copy, parsing results and parsing logs. Other variants and the original import remain.
  • These actions do not delete original Telegram messages, exported MT5 datasets or existing tester results.

Imported history and variants are stored locally under %LOCALAPPDATA%\com.telegram-signal-trader.app\backtests. Detailed parsing logs for saved variants are in its logs subfolder; normal application logs report the relevant path. These files can contain the imported Telegram message text.

7. EA Inputs and Everyday Operation

EA Inputs

Most strategy settings live in the desktop app. The EA properties contain the terminal-specific settings:

  • Expert number / inpMagic: identifies the EA's orders. Avoid changing it while existing trades are being managed.
  • Broker deviation / inpTradeDeviationPoints: permitted broker execution deviation in points. It is not the provider's entry-price tolerance in pips.
  • Refresh interval / timerInterval_ms: EA refresh interval in milliseconds.
  • Adjust tick value factor: advanced per-symbol correction, using exact broker names and factors, for example XAUUSD=10,US100=2. Use only a correction you have verified for your broker's symbol.
  • Adjust tick value to account currency: exact broker symbols for which a tick-value currency conversion is needed.
  • Required backtest file / inpBacktestFile: the relative replay path; required in the Strategy Tester.
  • Simulation seed / inpBacktestSeed: reproducible random choices in backtests.
  • Logging: enable diagnostic logging and choose the log level. Trade-event audit entries also appear in the MT5 Experts journal.

[IMAGE PLACEHOLDER 19: Current EA Inputs showing Symbols, General, Backtest and Logging groups.]

Daily Operation and Updates

Check that the app is logged in, the correct EA account is connected and the intended providers are enabled. The provider card's power button changes whether incoming signals are processed. Disabling a provider or removing an app configuration is not an instruction to close broker positions; manage existing trades explicitly.

For an update, use Settings > Install Update when an app update is available. Installation relaunches the app. Update the Market EA separately in MT5 when required, then verify the connection and managed orders after restarting. App and EA updates must be compatible.

Keep saved EA state when moving or restoring a terminal, especially when layered trades are still active. Do not run two EA instances against the same Signal Trader account to force a connection.

8. Troubleshooting and Support

The App or EA Does Not Connect

  • Confirm that the desktop app and MT5 are running on the same Windows machine and that the EA is attached to a chart.
  • Check the WebRequest allowlist for the exact address http://127.0.0.1:5000.
  • Enable terminal and EA algorithmic trading permissions and use a broker login that permits trading.
  • Check whether another EA already owns the selected Signal Trader account.
  • Check app/EA version compatibility and inspect both application logs and the MT5 Experts/Journal tabs.

A Signal Appears but No Trade Opens

Check the provider's enabled state, Copy filters, symbol mappings and enabled broker symbols first. Then inspect the recognized request and status history for missing values, duplicate rejection, delay, trade limits, hedging protection, equity protection, time restrictions or news filtering. Check the order's trade logs for broker rejection or an invalid volume/price.

For a follow-up message, verify its reply target or the latest signal selected by replyless matching. A recognized modification without a suitable target cannot manage an arbitrary older trade.

Waiting Reconciliation means the EA is checking an uncertain broker result. Inspect the broker's actual orders and the logs; do not repeatedly repost the same signal to force execution.

The Lot Size or Levels Look Wrong

Check the risk mode, recognized lot value, lot multiplier, keyword rules, SL distance, virtual/manual levels, offsets, TP allocation and layering allocation. Compare the exact broker symbol's contract specifications, tick value, volume minimum and volume step. Validate any tick-value correction on a demo account before relying on it.

A pending order placed away from the market can still activate. Use a demo environment for sizing experiments rather than treating such an order as risk-free.

No Notifications Arrive

Confirm the account's channel and event switches. Test email/push in MT5 itself. For Telegram, check the bot token, destination chat and the bot's permission to send there; send a fresh message and refresh the destination list if needed. Screenshot delivery remains unavailable.

A Backtest Fails or Produces Unexpected Results

Check the saved parsing preview, enabled symbols, historical broker UTC offset, complete tester date interval and real-tick availability. Use the exact relative dataset path and a local agent. Disable unsupported news filtering in a copied draft before export. Read the tester Journal for initialization or incomplete-price errors. Edited messages and missing earlier reply targets can explain differences from live results.

Logs and Support Reports

The Logs page shows application entries with time, level, source and message. Refresh the list or open the displayed log-folder path in Windows Explorer. Use order trade logs and signal status history for a specific trade; check the MT5 Experts/Journal tabs for terminal-side details.

In Support, select Bug Report or Feature Request and describe the expected result, actual result and steps to reproduce it. For a bug, review the manual/configuration, app logs and MetaTrader logs before confirming the report's checks.

Reports can include recent application logs and Telegram contact details. Selecting an account can attach its settings and available terminal logs; selecting a provider can attach up to 1,000 recent messages for diagnosis. Choose the relevant account/provider with this context in mind. Template requests likewise send provider messages for review.

[IMAGE PLACEHOLDER 20: Application Logs and Support form with account/provider context; hide personal account details.]