myfxpips

How we test Telegram signals

Methodology · Last updated: 13 October 2026

A signal channel can say anything about its results. We only report what the market allows. This page explains, rule by rule, how every signal is turned into a tested trade, which costs we include, what we cannot test, and where our method has limits. If a rule here and a result in the app ever disagree, tell us at support@myfxpips.com.

The short version

On this page: Prices · Entries · Costs · Exits · Follow-up messages · Untestable signals · Deleted and edited messages · How results are calculated · Known limitations

1. Where the prices come from

We use historical price data from Dukascopy at 1-minute resolution, with separate bid and ask candles. This lets every trade be filled at the side of the market a real trader would get.

If a minute has no ask price in the data, we use the bid plus a fixed default spread for that symbol, and mark that candle as estimated.

All times are based on Telegram's own message timestamp, in UTC.

2. How a trade is entered

3. Costs included

Spread is built in through bid and ask prices. Slippage is a fixed amount per symbol, added to market entries, stop-order entries and stop-loss fills. It is not added to take-profit fills or to closes requested by the channel.

Default values, in pips (the spread value is used only for estimated candles):

SymbolSlippageDefault spreadOne pip equals
FX pairs0.210.0001 (0.01 on JPY pairs)
XAUUSD (gold)23$0.10
XAGUSD (silver)23$0.01
BTCUSD1030$1
ETHUSD515$0.10
USOIL, UKOIL23$0.01
US30131 point
SPX5000.511 point
NAS100, GER40, UK100121 point
JP225381 point

Not included: commission and swap. Results are therefore slightly better than a real account would show. The difference is largest for channels that take many small trades or hold positions overnight.

4. How a trade exits

5. Follow-up messages

Channels often post updates after a signal: "move SL to breakeven", "close half", "close now". We apply them, but only from the moment they were posted.

When and at what price

Which trade an update belongs to

Updates do not always say which trade they mean. We match them in this order:

  1. Direct reply: the update replies to the signal in Telegram (or to an update that was itself a reply). This is the most reliable link.
  2. Same symbol: the update names a symbol, so it is linked to the most recently posted open signal on that symbol. If it names no symbol and only one signal is open, it is linked to that one.
  3. AI check: where enabled, an AI model reviews the five most recent open signals and links the update only if it is highly confident.
  4. No match: the update is recorded as ambiguous and flagged. It never changes any trade.

For channels whose updates are reliably posted as replies, we can restrict testing to direct replies only.

Known weak spot: rule 2 knows which trades the channel has not closed, not which ones the market has already closed. If two trades are open on the same symbol and the newer one already hit its stop, an unreplied "close now" is linked to that newer trade, and the older trade the channel probably meant is left unchanged.

6. Signals we cannot test

We do not guess. A signal is listed as untestable, with its reason, when:

Signals without a stop loss on FX pairs, gold and silver are tested with a default stop (50 pips on FX, 100 pips on gold and silver) and flagged, which lowers the channel's confidence level. On crypto, oil and indices they are untestable.

Screenshot-only signals (an image with no text) are not read. If an image has a caption, the caption is read. Messages that no rule can understand are recorded as unparsed.

Supported markets: about 40 symbols, covering FX majors and crosses, gold, silver, BTC, ETH, two oil contracts and six indices (US30, SPX500, NAS100, GER40, UK100, JP225).

7. Deleted and edited messages

8. How results are calculated

9. Known limitations

Past results do not predict future results, and nothing on myfxpips is financial advice. See our risk disclosure.