Signal Whisper

MT5 Auto-Trading

U

MT5 Auto-Trading Setup

The SignalWhisper Expert Advisor runs on your own MetaTrader 5 terminal and places pending orders from your active signals. SignalWhisper never holds your broker credentials and never places orders for you β€” the EA does everything locally, under your control.

πŸ–₯️ Runs on your terminalπŸ”‘ API-key authenticated⚠️ Trade at your own risk
1

Create or copy your API key

Checking your session…
2

Download the Expert Advisor

Download the SignalWhisper EA β€” a single MQL5 source file you compile inside MetaTrader 5.

Download SignalWhisper.mq5
3

Install & configure in MetaTrader 5

  1. In MT5, open File β†’ Open Data Folder, then drop SignalWhisper.mq5 into MQL5/Experts.
  2. Back in MT5, open the Navigator, right-click the EA and choose Modify to open MetaEditor, then press Compile (F7).
  3. Allow the EA to reach the feed: Tools β†’ Options β†’ Expert Advisors β†’ Allow WebRequest for listed URL and add https://signalwhisper.com.
  4. Drag the EA onto any chart and turn on AutoTrading in the toolbar. Set the inputs below, then click OK.
InputDefaultWhat it does
InpApiKey""Your sw_live_… API key from Step 1. The EA refuses to start without it.
InpBaseUrlhttps://signalwhisper.comBase URL (no trailing slash). The EA appends /api/mt5/signals itself.
InpMarketFilterforexWhich signals to pull: forex | stock | crypto | nonforex | all.
InpLots0.01Fixed lot size when the server sends no risk amount (stock/crypto signals). Forex orders are sized from your equity β€” see InpRiskSizing.
InpRiskSizingtrueForex: size each order so a stop-out loses the risk amount the server sends (0.5% of your equity by default), using your broker's own tick value. Skips the trade if even the minimum lot would risk far more.
InpMovingStoptrueForex: target TP3 and move the stop up the TP ladder on every price change β€” at TP1 to 20% of the way to TP3, at TP2 to 50%, at 90% to 75%. The stop never loosens.
InpResetPeakfalseSet true once to reset the equity peak after an 8% drawdown pause, then set it back to false. (A 3% daily-loss pause clears by itself at 00:00 UTC.)
InpPollSeconds60How often the EA polls the feed, in seconds (minimum 15). Higher = fewer requests.
InpMagicNumber90210001Identifies and de-duplicates the EA's own orders. Leave as-is unless it clashes.
InpExpiryHours24Pending-order expiry in hours (0 = good-till-cancelled).
InpDryRuntrueTRUE = log only, place NO orders. Keep it ON until you have watched a few polls.
InpSymbolMap""Optional. The EA finds broker names like META.US, #META or NEARUSD by itself; use this only when it can't, e.g. NEAR=NEARUSDT;META=#Meta.
InpMaxPriceGapPct20Skips a signal when the broker's price is this many percent away from the entry, which means the symbol matched the wrong instrument.
InpCloseOnSignalClosetrueWhen SignalWhisper closes a signal, the EA closes the position it opened for it. Pending orders for closed signals are always cancelled. Set false to manage open positions yourself.

The signals endpoint is https://signalwhisper.com/api/mt5/signals. The EA builds this from InpBaseUrl, so you only set the base URL and paste your key.

Leave InpDryRun on true and watch the Experts log for a few polls before you let it place real orders. Test on a demo account first.

4

Risk disclaimer

The EA runs on your own MetaTrader 5 terminal, on your own machine, against your own broker account. It fetches your active signals over an authenticated webhook and places pending orders locally.

  • SignalWhisper never holds your broker credentials.
  • SignalWhisper never places orders on your behalf.
  • Every order is placed by the EA running under your control β€” execution is your decision on your own terminal, at your own risk.

SignalWhisper provides signals β€” not execution, portfolio management, or financial advice. Signals are informational only and are not a recommendation to trade. Trading carries risk of loss. Test on a demo account first.

How the feed works

The EA polls GET /api/mt5/signals with your key as a Bearer token. The key must resolve to an active or trialing subscription, and the feed is rate-limited to 60 requests per minute. An optional ?market=forex|stock|crypto query filters the rows. The response is JSON:

{
  "success": true,
  "count": 1,
  "signals": [
    {
      "id": "forex:1234",       // globally-unique key (used for idempotency)
      "market": "forex",        // "forex" | "stock" | "crypto"
      "ticker": "EURUSD",       // symbol / pair
      "direction": "BUY",       // "BUY" | "SELL"
      "entry": 1.0850,          // entry price (number)
      "stop_loss": 1.0800,      // number, or null
      "take_profit": 1.0950,    // number, or null (forex: TP1)
      "issued_at": "2026-09-28T12:00:00.000Z",
      // forex only, EA v2.00+:
      "expires_at": "2026-09-29T12:00:00.000Z",
      "tp1": 1.0890, "tp2": 1.0920, "tp3": 1.0950,
      "ladder_trigger1": 1.0890, "ladder_lock1": 1.0870,  // ...trigger2/lock2, trigger3/lock3
      "allow_entry": true,      // false = no NEW order (caps, kill switch, news, spread/drift)
      "skip_reason": "",
      "risk_amount": 50.0       // account currency lost at the stop
    }
  ]
}

Raw signal facts only β€” no win-rate, no performance figures. The EA reads this JSON and decides, based on your inputs, whether to place a pending order locally.

Runs on your terminal: the EA executes on your machine under your control. SignalWhisper never touches your broker.

Risk: trading carries risk of loss. You are solely responsible for the orders the EA places. Test on a demo account first.

Not financial advice: SignalWhisper publishes signals, not execution or advice, and makes no promise of any outcome.

SignalWhisper provides AI-generated trading signals for informational purposes only. This is not financial advice. Trading involves significant risk of loss. Past performance does not guarantee future results. Always do your own research before making investment decisions.