Synced with GitHub · updated hourly

Expert Advisor Library

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

79 EAs match Clear filters

EA Scalper XAUUSD

by francomascareloai
236 stars

EA Scalper XAUUSD is an automated trading research project for MetaTrader 5 focused on gold. It employs a multifaceted entry strategy using Smart Money Concepts like order blocks and liquidity sweeps, alongside moving average crossovers and Fibonacci zones. The EA includes a self-learning module designed to adapt to di

MT5 Trading robot SMC / ICT / price actionIndicator crossoverScalping High risk
Updated 3 months ago Custom licence GitHub repository of EA Scalper XAUUSD
44 stars

SuperMao is an automated trading robot for MetaTrader 4 that executes trades based on technical indicator configurations. The repository includes variations of the strategy, specifically utilizing Ichimoku Kinko Hyo for trend identification and a combination of Bollinger Bands with MACD crossovers for momentum-based en

MT4 Trading robot Trend followingIndicator crossover
Updated 6 years ago None stated GitHub repository of SuperMao Trading Robot

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

Trillex 10S EA

by NadirAliOfficial
24 stars

Trillex 10S is a MetaTrader 5 scalping expert advisor optimized for Gold (XAUUSD). It executes trades based on the alignment of a three-period Exponential Moving Average (EMA) stack and Parabolic SAR indicators. The system features a proprietary synthetic bar engine that processes price data into 5-second and 10-second

MT5 Trading robot ScalpingIndicator crossover

Tobiah Rex EA

by TobiahRex
17 stars

This MetaTrader 4 expert advisor is an automated trading system designed for technical analysis using trend and momentum indicators. It incorporates multiple exponential and simple moving averages, RSI with integrated smoothing periods, and MACD. The EA manages risk through dynamic lot sizing based on account percentag

MT4 Trading robot Indicator crossoverTrend following
Updated 3 years ago None stated GitHub repository of Tobiah Rex EA

Max Profit

by poluxbrayz
16 stars

Max Profit is a trend-following expert advisor for MetaTrader 4, specifically optimized for the M1 timeframe. It utilizes a combination of technical indicators, including Parabolic SAR and MACD, to identify market trends and execute trades. The software includes dedicated modules for lot management, symbol analysis, an

MT4 Trading robot Trend followingIndicator crossover
Updated 2 years ago AGPL-3.0 GitHub repository of Max Profit

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

Conservative Scalper EA

by NadirAliOfficial
10 stars

Conservative Scalper EA is a MetaTrader 4 robot designed for intraday scalping on major currency pairs such as EURUSD, GBPUSD, and USDJPY. It determines market bias on the M15 timeframe using dual Exponential Moving Averages and enters trades on the M5 chart based on RSI levels and candle breakouts. The system prioriti

MT4 Trading robot ScalpingTrend followingBreakout

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

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

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

Gold Scalper MT5

by autoea-online
5 stars

Gold Scalper is an educational MetaTrader 5 expert advisor designed for scalping XAUUSD on the one-minute timeframe. It is presented as a masterclass tutorial to demonstrate modular coding practices. The system utilizes a 200-period Exponential Moving Average for trend filtering and the Relative Strength Index for entr

MT5 Trading robot ScalpingTrend followingIndicator crossover
Updated 6 months ago MIT GitHub repository of Gold Scalper MT5

This MetaTrader 5 expert advisor is an example implementation designed to trade moving average crossovers on non-standard timeframes, specifically seconds-based charts. It executes trades based on price crossing a moving average or two moving averages crossing each other. The EA includes risk management features such a

MT5 Trading robot Indicator crossoverTrend following
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

Trade Pro 1Min Scalper

by Justin-yzp
4 stars

Trade Pro 1Min Scalper is an automated trading robot for MetaTrader 5 that implements a strategy based on Bill Williams Fractals and a triple moving average system. It identifies market trends using fast, medium, and slow EMA periods and executes entries based on short-term price action. The expert advisor includes a f

MT5 Trading robot Trend followingScalpingIndicator crossover
Updated 2 years ago None stated GitHub repository of Trade Pro 1Min Scalper

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
3 stars

This MetaTrader 5 expert advisor implements a multi-timeframe strategy combining M15 trend direction with M5 trade execution. It identifies entries using Smart Money Concepts like break of structure and order blocks, confirmed by MACD, Stochastic, and Parabolic SAR indicators. Risk management is a primary focus, offeri

MT5 Trading robot SMC / ICT / price actionTrend followingIndicator crossover

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

AutoTrade EA

by liucheng-12-08
3 stars

AutoTrade EA is a scalping robot for MetaTrader 4 and 5 that utilizes a multi-indicator signal scoring system based on Exponential Moving Average crossovers and RSI levels. It employs an aggressive trade management strategy featuring a dynamic grid and a stepped martingale lot scaling system where position sizes increa

MT4MT5 Trading robot ScalpingIndicator crossoverMartingale High risk
Updated 7 months ago None stated GitHub repository of AutoTrade EA

Sentinel EA

by davidtomblin
3 stars

Sentinel EA is a trend-following scalping robot developed for MetaTrader 5, specifically optimized for trading Gold (XAU/USD) on the one-minute timeframe. The strategy utilizes a fast and slow Exponential Moving Average crossover to identify trade entries. It features mandatory risk controls including fixed stop loss a

MT5 Trading robot ScalpingIndicator crossoverTrend following
Updated 9 months ago None stated GitHub repository of Sentinel EA

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

EA 2M Adx

by abimaelbs
3 stars

This MetaTrader 5 expert advisor utilizes a trend-following strategy based on two moving averages and the Average Directional Index (ADX). It enters trades when a short-term moving average crosses a long-term average, provided the ADX indicates sufficient trend strength. Specifically optimized for the Brazilian mini-in

MT5 Trading robot Indicator crossoverTrend following
Updated 1 year ago None stated GitHub repository of EA 2M Adx
3 stars

Adaptive AI Scalper is a modular MetaTrader 5 robot designed for high-frequency scalping. It identifies trade entries using a weighted scoring system that evaluates signals from RSI, Moving Averages, and Bollinger Bands. The EA manages risk through automated lot sizing, ATR-based stop loss and take profit levels, trail

MT5 Trading robot ScalpingIndicator crossover

Forex Pro EA

by hqs-triet
3 stars

This MetaTrader 5 expert advisor serves as an educational repository for various automated trading strategies and capital management techniques. It features a modular architecture allowing users to toggle between multiple entry algorithms, including EMA crossovers, MACD zero-crossings, and a combination of ADX and Boll

MT5 Trading robot Indicator crossoverHedgingTrend following
Updated 2 years ago MIT GitHub repository of Forex Pro EA
3 stars

This MetaTrader 4 expert advisor implements a classic moving average crossover strategy designed for scalping forex pairs and metals. It monitors two exponential moving averages, defaulting to 8 and 21 periods, to identify momentum shifts. When a crossover is detected, the robot places pending stop orders with a specif

MT4 Trading robot Indicator crossoverScalping
Updated 5 years ago None stated GitHub repository of Simple EMA Cross Scalper

Volatility 75 Index Expert

by reussiteforever
3 stars

This Expert Advisor is designed specifically for the Volatility 75 Index on the MetaTrader 5 platform. It employs a multi-timeframe strategy using exponential moving averages across H2 and M5 periods to determine trend direction and entry points. The system identifies long-term trends on the H2 chart and looks for pric

MT5 Trading robot Trend followingIndicator crossover
Updated 5 years ago None stated GitHub repository of Volatility 75 Index Expert

XAUUSD Scalping EA

by AhsanAli013
2 stars

This MetaTrader 5 expert advisor is designed for gold scalping using a multi-timeframe approach. It analyzes price action across M5, M15, and H1 intervals using Exponential Moving Averages, Relative Strength Index, and Average Directional Index for entry confirmation. Trades are managed with ATR-based stop losses, take

MT5 Trading robot ScalpingIndicator crossoverTrend following

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

Swift Algo Bot

by connectfazla
2 stars

This MetaTrader 5 expert advisor provides an automated trading system with two primary operation modes: a multi-confluence signal engine and a Smart Money Concepts strategy. The confluence engine aggregates signals from RSI, MACD, Bollinger Bands, and EMA crossovers, while the Smart Money mode focuses on liquidity swee

MT5 Trading robot SMC / ICT / price actionIndicator crossoverScalping
Updated 5 months ago None stated GitHub repository of Swift Algo Bot

GainzAlgo EA

by saadkhan371
2 stars

This MetaTrader 5 robot is a trend-following expert advisor converted from Pine Script, designed primarily for gold scalping on the one-minute timeframe. It identifies entries using a triple Exponential Moving Average stack combined with Relative Strength Index filters and candle confirmation. The EA manages risk throu

MT5 Trading robot Trend followingScalpingIndicator crossover
Updated 5 months ago None stated GitHub repository of GainzAlgo EA
2 stars

This MetaTrader 5 expert advisor automates a bullish continuation strategy designed primarily for the five-minute timeframe. It identifies long entry opportunities by combining price action with technical trend filters. The robot enters trades when specific candlestick formations, including engulfing or harami patterns

MT5 Trading robot Trend followingIndicator crossover
Updated 1 year ago None stated GitHub repository of Bullish Continuation Bot

Backwater EA

by HERO-FIIFI
2 stars

Backwater EA is a MetaTrader 5 expert advisor that automates trading based on Smart Money Concepts, specifically focusing on Fair Value Gaps and Inversion Fair Value Gaps. The robot monitors price action and market structure to identify entries, filtering signals using a 50-period and 200-period Simple Moving Average c

MT5 Trading robot SMC / ICT / price actionIndicator crossover
Updated 1 year ago None stated GitHub repository of Backwater EA

STO Martin

by crq644
2 stars

STO Martin is a grid-based trading robot for MetaTrader 5 that uses technical indicators to manage entries and recoveries. It employs a Stochastic Oscillator for execution signals and a Moving Average to filter trades according to the prevailing trend. The EA features a martingale lot-scaling system that adds positions

MT5 Trading robot MartingaleGridTrend following High risk
Updated 3 years ago None stated GitHub repository of STO Martin

Ichimoku EA

by anwarminarso
2 stars

This MetaTrader 4 expert advisor executes trades based on the Ichimoku Kinko Hyo indicator. It incorporates four distinct trading methods: the Ideal Strategy, Tenkan-Kijun-Chikou crossing, Kumo breakout, and Chikou Span crossing. The robot manages risk through fixed stop loss and take profit levels, a maximum trade lim

MT4 Trading robot Trend followingBreakoutIndicator crossover
Updated 6 years ago None stated GitHub repository of Ichimoku EA

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

Scalpy Scalping Algorithm

by pedrojespina
2 stars

Scalpy is an automated scalping robot for MetaTrader 4 that utilizes multiple Exponential Moving Averages across different timeframes to identify entry signals. The system analyzes the 8 and 21 EMAs on the H1 timeframe for trend anchoring while using the 8, 13, and 21 EMAs on the M5 chart for execution. It includes a m

MT4 Trading robot ScalpingIndicator crossoverTrend following
Updated 7 years ago None stated GitHub repository of Scalpy Scalping Algorithm

Axole

by mxillo
1 stars

Axole is a MetaTrader 5 expert advisor that implements a classic moving average crossover strategy. It operates specifically on the one-minute timeframe, identifying trends when a fast simple moving average crosses over a slow simple moving average. The robot restricts trading to one open position per symbol at a time

MT5 Trading robot Indicator crossoverScalping
Updated 4 days ago MIT GitHub repository of Axole

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

Moon HFT Pro

by nongsiejmoonshine-collab
1 stars

Moon HFT Pro is a MetaTrader 5 expert advisor that executes trades on the one-minute timeframe using analysis from five-minute and fifteen-minute charts. It identifies entries through a combination of Smart Money Concepts, market structure, and technical indicators including Moving Averages, RSI, and MACD. The system c

MT5 Trading robot SMC / ICT / price actionIndicator crossoverScalping
Updated 11 days ago None stated GitHub repository of Moon HFT Pro

Gold Scalper EA

by hawada850-glitch
1 stars

This automated trading robot for MetaTrader 5 focuses on gold scalping using a multi-timeframe moving average strategy. It identifies entries via EMA crossovers on the one-minute timeframe, while confirming the overall trend using larger periods on the five-minute chart. Risk management includes dynamic stop loss and t

MT5 Trading robot ScalpingIndicator crossoverTrend following
Updated 3 weeks ago None stated GitHub repository of Gold Scalper 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

US30 Systematic EA

by raihaan0308-png
1 stars

This expert advisor implements an automated trend-following strategy for the US30 index on the MetaTrader 5 platform. It identifies entries using a combination of dual Exponential Moving Averages for trend direction, RSI for momentum filtering, and specific candle patterns. Risk is managed through a percentage-based lo

MT5 Trading robot Trend followingIndicator crossover
Updated 5 weeks ago None stated GitHub repository of US30 Systematic EA

Shake EA

by ziadoul25
1 stars

This trend-following expert advisor for MetaTrader 5 implements the SHAKE strategy to trade Bitcoin and Gold. It identifies entries by analyzing the alignment of three moving averages across three distinct timeframes, typically M1, M5, and M15. Positions are opened only when the fast, medium, and slow averages are sequ

MT5 Trading robot Trend followingIndicator crossover
Updated 6 weeks ago None stated GitHub repository of Shake EA
1 stars

This automated expert advisor for MetaTrader 4 and 5 trades forex using a multi-timeframe technical strategy. It identifies H1 trends with moving averages and Ichimoku clouds while timing M5 entries via MACD and RSI convergence. The system incorporates robust risk controls including equity-based lot sizing, daily loss

MT4MT5 Trading robot Trend followingIndicator crossoverMulti-strategy High risk
Updated 7 weeks ago None stated GitHub repository of EA PM Portfolio Management

Bullish Continuation MT5

by andrewkorot
1 stars

This MetaTrader 5 expert advisor executes a long-only bullish continuation strategy. It identifies trade entries by combining specific candlestick patterns, such as bullish engulfing and harami, with trend-following filters. For a buy order to trigger, the price must close above both the 50 and 200 exponential moving a

MT5 Trading robot Trend followingIndicator crossover
Updated 2 months ago None stated GitHub repository of Bullish Continuation MT5

Gold and Bitcoin Scalper Suite

by addotwumnana-eng
1 stars

This MetaTrader 5 expert advisor suite contains two separate robots designed for scalping Gold and Bitcoin. The Gold Scalper functions during specific market sessions, while the Bitcoin Scalper trades continuously. Both tools utilize a moving average crossover system to place buy and sell stop orders at predefined dist

MT5 Trading robot ScalpingIndicator crossover

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