Synced with GitHub · updated hourly

Expert Advisor Library

1,977 free, open-source expert advisors for MetaTrader 4 and 5, each linked to its source code on GitHub.

85 EAs match Clear filters

EA31337 Libre

by EA31337
252 stars

EA31337 Libre is an open-source, multi-strategy trading robot for MetaTrader 4 and MetaTrader 5. It functions as a simplified implementation of the EA31337 framework, providing a collection of over 35 built-in strategies based on technical indicators. The expert advisor performs independent market analysis across vario

MT5 Trading robot Multi-strategyTrend followingMean reversion
Updated 1 year ago GPL-3.0 GitHub repository of EA31337 Libre
52 stars

This MetaTrader 5 expert advisor serves as an educational example from a book on MQL5 programming. It implements a versatile trading system that can be configured to use moving average crossovers, Relative Strength Index levels, or both indicators combined for trade entries. The EA manages risk with user-defined stop l

MT5 Trading robot Indicator crossoverMean reversion
Updated 6 years ago None stated GitHub repository of Introduction MQL5 Book EA

Allegro Stormer

by ReneMilare
28 stars

Allegro Stormer is a MetaTrader 5 expert advisor that implements a specific technical setup based on momentum and oscillator indicators. It utilizes a Momentum indicator filtered by a moving average alongside a Stochastic Oscillator to identify entry points. Risk management is centralized around the Average True Range,

MT5 Trading robot Mean reversionIndicator crossover
Updated 6 years ago None stated GitHub repository of Allegro Stormer

Scalpflip EA

by anthonycdp
25 stars

Scalpflip EA is an automated scalping robot for MetaTrader 5 that utilizes a multi-layered technical analysis approach. It offers three entry modes: trend-following, mean-reversion, and a smart mode that selects the strategy based on current market conditions. The system filters trades using the Relative Strength Index

MT5 Trading robot ScalpingTrend followingMean reversion
Updated 1 year ago None stated GitHub repository of Scalpflip EA

MonsterFX Reliable Trader

by NadirAliOfficial
12 stars

This MetaTrader 5 expert advisor combines automated Forex trading with a Discord notification system via a Python Flask webhook. It executes a dual-timeframe strategy using EMA crossovers, a 200-period trend filter, RSI, and VWAP on the M5 and M15 charts. The EA manages trades with ATR-based stop loss and take profit l

MT5 Trading robot Indicator crossoverTrend followingMean reversion

FG Scalping Pro

by FaizGusion00
11 stars

FG Scalping Pro is an automated trading system for MetaTrader 5 that utilizes a multi-indicator approach to identify entry points. It combines exponential moving average crossovers with RSI momentum and Bollinger Band volatility filters to execute trades. The EA manages risk through dynamic ATR-based stop loss and take

MT5 Trading robot ScalpingIndicator crossoverMean reversion
Updated 1 year ago Custom licence GitHub repository of FG Scalping Pro

Monkey Attack Gold Pivot EA

by Monkeyattack
10 stars

This MetaTrader 4 expert advisor focuses on Gold trading using institutional pivot point levels and fractal-based support and resistance zones. The robot filters entries through a combination of RSI, MACD, and moving average alignment, supplemented by a trade quality scoring system. It includes comprehensive risk contr

MT4 Trading robot Mean reversionIndicator crossoverMartingale High risk
10 stars

This expert advisor for MetaTrader 5 automates trade entries using a combination of Relative Strength Index (RSI), Money Flow Index (MFI), and multiple Moving Average periods. It identifies potential entry points based on overbought and oversold thresholds, specifically looking for RSI values below 30 or MFI values bel

MT5 Trading robot Mean reversionIndicator crossover
Updated 3 years ago None stated GitHub repository of Emreguven Forex Trading Bot

Mforex Smart Scalper

by francomascareloai
9 stars

This MetaTrader 4 expert advisor is designed for gold scalping using a combination of Relative Strength Index and Exponential Moving Average indicators. It identifies entry points when momentum reaches specific overbought or oversold thresholds while considering moving average trends. The system manages risk through fi

MT4 Trading robot ScalpingIndicator crossoverMean reversion
Updated 1 year ago None stated GitHub repository of Mforex Smart Scalper

Robot MA RSI

by DouglasVolcato
9 stars

Robot MA RSI is an automated trading expert advisor for MetaTrader 5 that employs a combination of exponential moving average crossovers and the Relative Strength Index. Users can choose between three entry strategies: moving average signals, RSI levels, or a combined approach requiring both conditions. The system mana

MT5 Trading robot Indicator crossoverMean reversion
Updated 2 years ago None stated GitHub repository of Robot MA RSI

RSI MA Cross Custom

by OrchardForexTutorials
7 stars

This expert advisor for MetaTrader 5 combines moving average crossovers with Relative Strength Index (RSI) levels to identify entry points. It initiates buy orders when the RSI indicates oversold conditions and a fast exponential moving average crosses above a slow exponential moving average. Conversely, it opens sell

MT5 Trading robot Indicator crossoverMean reversion
Updated 3 years ago GPL-3.0 GitHub repository of RSI MA Cross Custom

Enamel

by DocProvolone
6 stars

Enamel is a trend-pullback expert advisor for MetaTrader 5 specifically configured for USD currency pairs. The robot identifies entries using a combination of exponential moving averages, RSI, MACD, and ADX indicators, requiring confirmation from candle body size relative to volatility. It includes a higher timeframe t

MT5 Trading robot Trend followingMean reversionIndicator crossover
Updated 12 months ago Apache-2.0 GitHub repository of Enamel
6 stars

This MetaTrader 5 expert advisor provides a versatile framework for trading based on Heiken Ashi price action. It allows users to toggle between numerous built-in strategies, including trend following, moving average crossovers, Fibonacci levels, and various oscillators like RSI and MACD. The system includes an option

MT5 Trading robot Trend followingIndicator crossoverMean reversion
Updated 2 years ago None stated GitHub repository of Heiken Ashi Complete Strats

OwaisQuadri MT4 Code

by OwaisQuadri
6 stars

This MetaTrader 4 expert advisor executes trades based on momentum oscillators, trend filters, and price action patterns. It utilizes a Stochastic oscillator alongside multiple Exponential Moving Averages to identify entry points in alignment with the prevailing trend. The logic incorporates candlestick analysis, speci

MT4 Trading robot Indicator crossoverTrend followingMean reversion
Updated 6 years ago None stated GitHub repository of OwaisQuadri MT4 Code
4 stars

Gold SnR Momentum Scalper Pro is an automated scalping robot for MetaTrader 5, specifically optimized for XAUUSD on the M1 timeframe. It identifies entry points by combining support and resistance zones with RSI and moving average momentum. The system incorporates tick-level analysis to measure buying and selling press

MT5 Trading robot ScalpingBreakoutMean reversion
Updated 3 months ago Custom licence GitHub repository of Gold SnR Momentum Scalper Pro
4 stars

This MetaTrader 5 expert advisor serves as a template for automated indicator-based trading. It combines multiple technical tools, including RSI, MACD, Parabolic SAR, and Bollinger Bands, to identify market entry and exit points. The system features a dynamic risk management module that adjusts position sizing based on

MT5 Trading robot Indicator crossoverMean reversionTrend following
Updated 2 years ago None stated GitHub repository of Basic Signal Trading Bot

MT4 Autotrade EMA RSI

by thomasngu0423
4 stars

This MetaTrader 4 expert advisor automates trading using a combination of trend-following and mean-reversion indicators. It executes trades based on the crossover of two Exponential Moving Averages, filtered by Relative Strength Index levels and Bollinger Band boundaries. The robot enters a position when an EMA crossov

MT4 Trading robot Indicator crossoverMean reversion
Updated 3 years ago None stated GitHub repository of MT4 Autotrade EMA RSI

IJESHA Algo EA

by Shifrozy
3 stars

This MetaTrader 5 expert advisor implements a multi-indicator strategy based on momentum and divergence confluence. It utilizes Stochastic, Commodity Channel Index (CCI), Parabolic SAR, and Exponential Moving Averages (EMA) to identify entries, specifically targeting bullish and bearish divergence patterns. Risk manage

MT5 Trading robot Mean reversionTrend followingIndicator crossover
Updated 2 weeks ago MIT GitHub repository of IJESHA Algo EA

Sanqing EA

by caoruihua
3 stars

An automated trading system for MetaTrader 4 specifically designed for gold (XAUUSD) on the M5 timeframe. It features two core strategies: trend continuation and price pullbacks. The expert advisor utilizes a dual exponential moving average framework for direction and ATR for volatility filtering. Risk management is ha

MT4 Trading robot Trend followingMean reversionIndicator crossover
Updated 5 months ago None stated GitHub repository of Sanqing EA

IchiDCA CCBSN PropFirm EA

by magicniuniu
3 stars

IchiDCA CCBSN PropFirm EA is an automated trend-following robot for MetaTrader 5, optimized for gold and forex markets. It triggers trades based on Ichimoku Cloud breaks, filtered by dual Exponential Moving Averages and MACD indicators. The strategy manages positions through a Dollar Cost Averaging system that layers u

MT5 Trading robot Trend followingGridMean reversion High risk

Scalping Bot

by ilearncoding247
3 stars

This automated expert advisor for MetaTrader 5 focuses on short-term technical trading using a combination of trend and momentum indicators. It triggers entries based on RSI levels, Exponential Moving Average crossovers, and Bollinger Band deviations. Risk is managed through dynamic lot sizing and ATR-based stop loss a

MT5 Trading robot ScalpingIndicator crossoverMean reversion
Updated 10 months ago Custom licence GitHub repository of Scalping Bot

Edelweiss EA

by Attornado
3 stars

Edelweiss EA is an educational trading robot for MetaTrader 4 that utilizes a multi-indicator framework to generate buy and sell signals. It combines exponential moving averages, stochastic oscillators, the awesome oscillator, ADX, and Bollinger Bands to identify market entries. Trade management includes dynamic ATR-ba

MT4 Trading robot Indicator crossoverMean reversionTrend following
Updated 11 months ago MIT GitHub repository of Edelweiss EA

SOEA Master

by bfforex
3 stars

This MetaTrader 5 robot employs a dual-strategy approach, switching between trend-following moving average crossovers and RSI-based mean-reversion depending on detected market regimes. It features an integrated walk-forward optimization system that loads optimized parameters from external files to adapt to changing vol

MT5 Trading robot Trend followingMean reversionIndicator crossover
Updated 11 months ago MIT GitHub repository of SOEA Master

Falcon D

by vzhomeexperiments
3 stars

Falcon D is a MetaTrader 4 expert advisor designed for the H1 timeframe, focusing on price retracement entries filtered by technical indicators. It opens positions when price deviates significantly from the daily start point in opposition to the established trend. The system incorporates filters including a long-period

MT4 Trading robot Mean reversionIndicator crossover
Updated 2 years ago MIT GitHub repository of Falcon D

RSI MA Cross Custom

by OrchardForexTutorials
3 stars

This Expert Advisor for MetaTrader 4 executes trades based on the confluence of Relative Strength Index levels and Moving Average crossovers. It enters long positions when the RSI is oversold and a fast exponential moving average crosses above a slow one, and short positions when the RSI is overbought during a downward

MT4 Trading robot Indicator crossoverMean reversion
Updated 3 years ago GPL-3.0 GitHub repository of RSI MA Cross Custom

Stochastic EA

by cicekozkan
3 stars

This MetaTrader 4 expert advisor automates trading using Stochastic Oscillator signals. It allows for the confluence of up to three separate Stochastic indicators, potentially across different timeframes, to determine entry points. Trades are triggered by line crossovers or when the indicator reaches user-defined overb

MT4 Trading robot Indicator crossoverMean reversion
Updated 6 years ago None stated GitHub repository of Stochastic EA

Tre Boll Trend

by linbirg
3 stars

Tre Boll Trend is a MetaTrader 4 Expert Advisor designed to identify and trade market trends using multi-timeframe Bollinger Band analysis. The system processes data from timeframes ranging from five minutes to one day, calculating advanced metrics such as price velocity, acceleration, and standard deviation. It monito

MT4 Trading robot Trend followingIndicator crossoverMean reversion
Updated 7 years ago None stated GitHub repository of Tre Boll Trend

Fibonacci ICT EA

by Shifrozy
2 stars

Fibonacci ICT EA for MetaTrader 5 combines institutional price action concepts with Fibonacci retracement levels. It identifies higher timeframe trends and enters on pullbacks to specific golden zones using confirmations like Break of Structure and Fair Value Gaps. The system includes robust risk management such as per

MT5 Trading robot SMC / ICT / price actionIndicator crossoverMean reversion High risk
Updated 3 weeks ago None stated GitHub repository of Fibonacci ICT EA

3711 Single EA

by hakimibob
2 stars

This expert advisor for MetaTrader 5 utilizes a multi-timeframe technical approach, scanning H1, M30, M15, and M5 periods simultaneously. It generates signals using a stochastic stack combined with RSI and stochastic divergence detection. The system incorporates a formula pack for market structure analysis, including B

MT5 Trading robot Indicator crossoverMean reversionSMC / ICT / price action
Updated 4 weeks ago None stated GitHub repository of 3711 Single EA
2 stars

This MetaTrader 5 expert advisor focuses on the EURUSD pair using an adaptive market regime approach. It alternates between trend-following and mean-reversion logic based on ADX and EMA indicators. The trend strategy utilizes price breakouts or pullbacks confirmed by RSI, while the range strategy employs Bollinger Band

MT5 Trading robot Trend followingBreakoutMean reversion

Forex Master Multi Strategy

by simonokwundue-ops
2 stars

This MetaTrader 5 expert advisor utilizes a weighted signal scoring system to execute trades based on four technical indicators: Moving Average crossovers, RSI, Bollinger Bands, and MACD. It incorporates multi-timeframe analysis across M15, M30, and H1 periods to confirm trend direction. Risk management features includ

MT5 Trading robot Indicator crossoverMean reversionTrend following
Updated 10 months ago None stated GitHub repository of Forex Master Multi Strategy
2 stars

This MetaTrader 5 expert advisor combines Bollinger Band mean-reversion, squeeze breakouts, and EMA crossover trend following. It filters for ranging markets using a long-period EMA slope to execute reversal trades with candlestick confirmation, specifically identifying Doji patterns at the bands. Risk management inclu

MT5 Trading robot Mean reversionBreakoutIndicator crossover
2 stars

This MetaTrader 5 expert advisor combines technical indicators with price action to automate trading decisions. It incorporates five individual strategies including EMA crossovers, candlestick engulfing patterns, and support or resistance breakouts. The system is specifically calibrated for the 30-minute timeframe and

MT5 Trading robot Indicator crossoverBreakoutMean reversion
2 stars

This MetaTrader 5 expert advisor serves as a signal generation tool primarily designed for the EURUSD currency pair. It identifies entry signals by combining MACD crossovers and Relative Strength Index levels, using a 200-period Exponential Moving Average as a primary trend filter. The system integrates a fundamental n

MT5 Trading robot Trend followingMean reversionIndicator crossover
Updated 1 year ago None stated GitHub repository of Advanced Signal Generator

Siluman Kambing

by rajaculaemas
2 stars

This MetaTrader 4 expert advisor implements a multi-strategy approach for trading various currency pairs and gold. It combines technical indicators including Moving Averages, RSI, Bollinger Bands, and ADX with price action concepts such as support, resistance, and engulfing patterns. The EA features risk management too

MT4 Trading robot Trend followingMean reversionIndicator crossover
Updated 1 year ago None stated GitHub repository of Siluman Kambing

RSI WMA EA

by shahadatnovel
2 stars

This MetaTrader 5 expert advisor executes trades based on a combination of Relative Strength Index (RSI) and Weighted Moving Averages (WMA) across two timeframes. It compares indicator values against defined buy and sell thresholds on a primary timeframe, with an optional trend filter from a higher timeframe. Risk mana

MT5 Trading robot Mean reversionIndicator crossover
Updated 1 year ago None stated GitHub repository of RSI WMA EA

MM Cros IFR

by marcosnataqs
2 stars

This MetaTrader 5 expert advisor executes trades based on technical signals from Moving Average crossovers and the Relative Strength Index (RSI). It offers three distinct entry modes, allowing traders to utilize trend-following crossovers, RSI overbought and oversold levels, or a combination of both indicators. The rob

MT5 Trading robot Indicator crossoverMean reversion
Updated 5 years ago None stated GitHub repository of MM Cros IFR

Ray Scalper

by ThePathsOfSaga
2 stars

Ray Scalper is an automated expert advisor for MetaTrader 4 that uses technical indicators to trade both trend-following and counter-trend strategies. It monitors Bollinger Bands, Moving Averages, and Stochastic crossovers to trigger entries. The robot allows users to toggle between trend and anti-trend modes and inclu

MT4 Trading robot ScalpingIndicator crossoverTrend following
Updated 6 years ago None stated GitHub repository of Ray Scalper

Gordon Day Trading

by xcai004
2 stars

Gordon Day Trading is a MetaTrader 4 expert advisor designed for automated intraday trading. It combines signals from multiple Exponential Moving Averages, the Relative Strength Index, and Bollinger Bands to determine trade entries. The software includes visualization features for Fibonacci levels and unretraced zones

MT4 Trading robot Indicator crossoverMean reversion
Updated 7 years ago None stated GitHub repository of Gordon Day Trading

RSI EA

by reysabogal
2 stars

This MetaTrader 4 expert advisor automates trading strategies based on the Relative Strength Index (RSI) and moving average logic. It identifies potential entry points when the RSI reaches specific overbought or oversold levels, supported by a moving average filter. The robot includes essential risk management controls

MT4 Trading robot Mean reversionIndicator crossover
Updated 8 years ago None stated GitHub repository of RSI EA

AntiLatency Sniper EA

by themusafirr
1 stars

This algorithmic scalping robot for MetaTrader 4 and 5 uses a five-factor confluence engine to identify trade entries. It monitors RSI extremes, Bollinger Band breakouts, MACD momentum, EMA ribbons, and volume acceleration. The EA employs percentage-based risk management with a strict stop loss and a flexible take prof

MT4MT5 Trading robot ScalpingTrend followingMean reversion
Updated 5 days ago None stated GitHub repository of AntiLatency Sniper EA

MATE Apex Scalper

by Yamsim-bot
1 stars

MATE Apex Scalper is a MetaTrader 5 expert advisor designed for scalping major forex pairs and gold. It employs a multi-symbol confluence strategy, filtering entries based on triple exponential moving average alignment, RSI levels, and Bollinger Band rejections on the M5 and M15 timeframes. The robot manages trades usi

MT5 Trading robot ScalpingTrend followingMean reversion
Updated 8 days ago None stated GitHub repository of MATE Apex Scalper

Gamble MQL5

by jonasMapuche
1 stars

This MetaTrader 5 expert advisor executes trades based on a time-restricted strategy combined with moving averages and Fibonacci levels. It operates within a specific daily window, opening positions between a defined start and end time and automatically closing them at a designated hour. The system utilizes 21-period s

MT5 Trading robot Indicator crossoverMean reversion
Updated 2 weeks ago None stated GitHub repository of Gamble MQL5

Gold Trading EA

by shamshyder123-oss
1 stars

An automated trading robot for MetaTrader 5 specifically designed for the XAUUSD market. It utilizes a combination of RSI for overbought and oversold levels, MACD for momentum, and Simple Moving Average crossovers for trend confirmation. The EA enters trades when multiple indicators align and manages them using fixed o

MT5 Trading robot Trend followingIndicator crossoverMean reversion
Updated 3 weeks ago MIT GitHub repository of Gold Trading EA

Trend Matrix EA

by Rhett-Q
1 stars

Trend Matrix EA is a multi-model trend-following robot for MetaTrader 5, specifically optimized for Gold trading. It utilizes a scoring matrix based on several technical indicators including Moving Averages, MACD, ADX, and Bollinger Bands to determine entries. The system employs a conservative pyramiding approach, addi

MT5 Trading robot Trend followingBreakoutIndicator crossover
Updated 4 weeks ago None stated GitHub repository of Trend Matrix EA
1 stars

This expert advisor for MetaTrader 5 implements a technical strategy combining MACD, Stochastic Oscillator, and Parabolic SAR indicators. Designed primarily for the five-minute timeframe, it enters trades based on momentum and trend alignment. The system features robust risk controls, including stop loss and take profi

MT5 Trading robot Indicator crossoverTrend followingMean reversion

BTMM Expert Advisor

by FullscopeContractors
1 stars

This MetaTrader 5 expert advisor automates the Breakout-To-Market-Maker (BTMM) strategy, featuring eight distinct intraday setups including M/W patterns, NYC reversals, and EMA200 bounces. It employs a signal arbitration engine to score and prioritize trades based on confluence, liquidity, and regime alignment. Risk ma

MT5 Trading robot SMC / ICT / price actionMean reversionIndicator crossover
Updated 3 months ago None stated GitHub repository of BTMM Expert Advisor
1 stars

This MetaTrader 5 expert advisor implements a multi-timeframe trading strategy across M1, M5, and M15 intervals. It utilizes a seven-period Exponential Moving Average system ranging from EMA 30 to EMA 60 to identify market conditions. When EMAs are aligned, it executes trend-following trades; in consolidated markets, i

MT5 Trading robot Trend followingMean reversionIndicator crossover
Updated 3 months ago None stated GitHub repository of Multi Filter MA MT5

Learn how to use expert advisors

Free, plain-English guides: find an EA, install it, set it up, test it and run it safely.

  1. 1Types of EAsRobots, trade managers, copiers and risk tools, and what each is for.
  2. 2Using this librarySearch, filters, badges and what our checks do and do not mean.
  3. 3Install an EA in MT4 or MT5Data folder, compile, attach to a chart and switch on algo trading.
  4. 4EA settings explainedLot size, stop-loss, magic number, max spread and trading hours.
  5. 5Backtest in the Strategy TesterModelling, spread, the report and the over-fitting trap.
  6. 6Choose a safe EAA checklist for the code, the logic, the evidence and the fit.
  7. 7Run an EA 24/7VPS, forward testing on demo and going live small.
  8. 8Open-source EAs on GitHubLicences, compiling in MetaEditor and editing inputs safely.
  9. 9Forex robots: an honest guideWhat automation can and cannot do for you.

About the EA Library

The ForexR EA Library collects open-source expert advisors for MetaTrader 4 and MetaTrader 5 that are published on GitHub. Each entry links to the original repository, so you always get the author's latest code, issues and licence straight from the source. Star counts, last updates and licences are synced from GitHub every hour, and new repositories are added every week.

Every repository is checked automatically before it is listed: it must contain readable MQL source code for a real expert advisor, and repositories that ship executables, hide downloads behind archive passwords or show signs of bought stars are left out. The summaries and tags are written automatically from each repository's README and code. They describe what an EA does; they are not a recommendation, and nothing here is tested or endorsed by ForexR.

Trading with expert advisors is risky. Backtest any EA and run it on a demo account before you trust it with real money. CFDs and leveraged forex are complex instruments with a high risk of losing money rapidly.

EA Library FAQ

What is an expert advisor (EA)?

An expert advisor is a program that runs inside MetaTrader 4 or MetaTrader 5. It can open and close trades on its own, manage trades you opened (trailing stops, break-even, partial closes), protect the account, or connect MetaTrader to other tools such as Telegram or Python. EAs are written in MQL4 (MT4) or MQL5 (MT5).

Are the EAs in this library free?

Yes. Every EA listed here is published on GitHub with its source code, so you can read, download and compile it at no cost. Check each repository's licence before reusing the code in your own projects: some EAs state no licence at all.

Are these EAs safe to use?

ForexR lists only repositories with readable MQL source code and never hosts files. Repositories that ship executables, ask you to disable antivirus, hide downloads behind passwords or show signs of bought stars are left out automatically. That does not make any EA profitable or bug-free: read the code, backtest it in the Strategy Tester and run it on a demo account first.

How do I install an EA in MT4 or MT5?

Download the source from GitHub, open MetaTrader, choose File, then Open Data Folder, and copy the .mq4 (MT4) or .mq5 (MT5) file into MQL4/Experts or MQL5/Experts. Open it in MetaEditor and press Compile, then drag the EA from the Navigator onto a chart and allow algorithmic trading.

How does ForexR choose which EAs to list?

A crawler searches GitHub every week for MetaTrader repositories, reads their code and keeps those that contain a real expert advisor and pass the safety checks. Stars, updates and licences are refreshed from GitHub every hour. Summaries are written automatically from each repository's README and code, so treat them as a guide and check the source.

What do "High risk", grid and martingale mean?

A grid EA opens a ladder of orders at fixed distances; a martingale EA increases the lot size after losses. Both can show smooth equity curves for a long time and then lose a large part of the account in one strong trend. EAs that use either are marked High risk, and you can hide them with the "Hide grid and martingale" filter.

Run EAs with a broker that supports MT4 and MT5

Compare regulated brokers by platform, spreads, minimum deposit and leverage.

Compare brokers