Feed Item Signal Consumer
Some signal providers publish over a feed rather than a webhook or a file drop - this EA is the consumer end of that arrangement. It fetches a configured feed URL on a timer, splits the response into individual RSS <item> or Atom <entry> chunks with a small hand-rolled scanner, and looks at each item's title for a strict "BUY SYMBOL" / "SELL SYMBOL" grammar, with optional "SL=NN TP=NN" pip values in the description. Anything that does not match that grammar exactly is logged and skipped rather than guessed at. Every item is identified by its <guid> (falling back to <link>, then to the title itself) and remembered across restarts, so the same feed item is never acted on twice even if the provider republishes it or a poll overlaps a previous one. The EA ships armed off: InpArmed defaults to false, so a new install fetches, parses, and writes exactly what it WOULD have traded to the activity log without ever sending a real order, until the user reviews that log and deliberately arms it. Notes and limitations The XML parsing is a small hand-rolled tag scanner adequate for a well-formed RSS/Atom feed, not a full XML parser - CDATA sections and the common named entities (& < > " ') are handled, but a feed using unusual XML features may not parse cleanly. A malformed chunk simply fails to match the trade grammar and is skipped, never silently misread as something else. This tool assumes the feed itself is already a trusted, private source (the account holder's own provider) - it adds no authentication of its own beyond WebRequest's normal HTTPS transport and the strict item grammar. It is not a substitute for a provider that requires a signed payload; see HardenedRemoteFlatten or a signed-command-file style project in this catalogue for that pattern. The seen-item ring buffer is capped at 500 identifiers; a feed publishing faster than the EA polls, well beyond that cap between polls, could in principle let an old identifier roll out of the ring and be reprocessed. In practice this requires polling far less often than the feed publishes, which InpPollIntervalSeconds is meant to prevent.
Expert advisor · MT4 · v1.0 · Free
About Feed Item Signal Consumer
Feed Item Signal Consumer is an expert advisor (trading robot) for MetaTrader 4. It has 11 settings, such as Feed url, Poll interval seconds and Web request timeout ms. MQL source code included.
Files in the download: FeedItemSignalConsumer.ex4, FeedItemSignalConsumer.mq4, FeedItemSignalConsumer.txt.
Trading robots can lose money. Check every setting and test on a demo account before using real funds.
Settings
| Setting | Default | What it does |
|---|---|---|
| Feed url | https://example.com/private-feed.xml | Full URL of the private feed - must be pre-approved under Tools->Options->Expert Advisors |
| Poll interval seconds | 60 | How often the feed is fetched |
| Web request timeout ms | 5000 | WebRequest timeout |
| Armed | false | false = fetch, parse and log only, never trades (safe default) |
| Fixed lots | 0.10 | Lot size used for every item-driven trade, before broker normalisation |
| Default sl pips | 20 | Used when an item has no SL= field |
| Default tp pips | 40 | Used when an item has no TP= field |
| Magic number | 44400 | Magic number that tells this EA's orders apart |
| Max items per poll | 10 | Safety cap - ignore a feed dump beyond this many new items in one fetch |
| Max retries | 5 | |
| Retry wait ms | 500 |
How to install
- Download the ZIP from your PolyMaria library and unzip it.
- In MetaTrader 4 open File → Open Data Folder, then go to MQL4 → Experts.
- Copy the .mq4 file(s) there. Put any .mqh files in MQL4 → Include.
- Open the .mq4 file in MetaEditor and press Compile (F7) if MetaTrader does not show it.
- Drag the expert advisor from the Navigator onto a chart, check the settings, allow Algo/Auto Trading and press OK.
- Test it first on a demo account or in the Strategy Tester.
Tags: Dashboards & Scanners · Buy/Sell Arrows · MT4 Expert Advisor · MQL4 Source Code