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.

185 EAs match Clear filters

SP2L

by farsosta-jpg
1 stars

This MetaTrader 5 expert advisor executes trades based on price action and momentum patterns, specifically identifying strong candles relative to their recent average range. The logic incorporates Fair Value Gap (FVG) detection and moving averages to filter entries. It includes automated risk management with percentage

MT5 Trading robot SMC / ICT / price actionTrend following
Updated 3 months ago None stated GitHub repository of SP2L

Smart Trader Forex

by joseph8848
1 stars

Smart Trader Forex is an automated expert advisor for MetaTrader 5 that employs dual strategies for trend following and mean-reversion scalping. It monitors over 15 currency pairs simultaneously using a multi-symbol scanner and a signal quality filter. Risk management includes ATR-based stop losses, trailing stops, and

MT5 Trading robot Trend followingScalpingMean 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

Gartal Inc

by bsAmirHeydar
1 stars

Gartal Inc is a modular trading automation framework and strategy development template for MetaTrader 4. It provides a structured environment for testing various entry and exit logic, including Fair Value Gaps, moving average crossovers, and Donchian channels. The repository focuses on backtesting workflows, featuring

MT4 Framework & template SMC / ICT / price actionIndicator crossoverTrend following
Updated 3 months ago None stated GitHub repository of Gartal Inc

ZoneTrader Pro

by Valenteeno
1 stars

ZoneTrader Pro is an automated trading robot for MetaTrader 5 that identifies and trades supply and demand zones based on price context. It features a granular session filter allowing users to enable or disable trading for specific hours of the day. The EA manages risk through a daily profit and loss protector, a news

MT5 Trading robot SMC / ICT / price action
Updated 3 months ago Custom licence GitHub repository of ZoneTrader Pro

Advanced KT Trader

by Valenteeno
1 stars

Advanced KT Trader is a price action robot for MetaTrader 5 that specializes in trading the Kangaroo Tail candlestick pattern. It employs a sophisticated scoring system to filter entries based on tail-to-body ratios and candle positioning. The strategy integrates support and resistance zone confluence alongside 200 EMA

MT5 Trading robot SMC / ICT / price actionMean reversionTrend following
Updated 3 months ago Custom licence GitHub repository of Advanced KT Trader

Conquest Platinum SMC EA

by MunchonGithub
1 stars

This MetaTrader 5 expert advisor implements a comprehensive Smart Money Concepts strategy, detecting market structure shifts through Break of Structure and Change of Character events. It monitors Fair Value Gaps and liquidity sweeps to identify entry points across multiple timeframes. The system offers several executio

MT5 Trading robot SMC / ICT / price actionScalpingTrend following
Updated 3 months ago Apache-2.0 GitHub repository of Conquest Platinum SMC EA

SMC Telegram Signal EA

by shanto9333
1 stars

This MetaTrader 5 expert advisor automates trading based on Smart Money Concepts (SMC). It analyzes market structure across multiple timeframes, specifically looking for liquidity grabs, order blocks, and fair value gaps. The robot includes risk management features such as percentage-based lot sizing and multiple take-

MT5 Trading robot SMC / ICT / price actionMulti-strategy
Updated 3 months ago None stated GitHub repository of SMC Telegram Signal EA

Gold Liquidity Hunter Pro

by eaglenight37
1 stars

Gold Liquidity Hunter Pro is a MetaTrader 5 expert advisor designed for trading gold and indices using Smart Money Concepts and ICT principles. It determines market direction using a daily 200 EMA bias and identifies entries based on H4 order blocks. The system includes multiple volatility and trend filters, such as AD

MT5 Trading robot SMC / ICT / price actionTrend following
Updated 3 months ago None stated GitHub repository of Gold Liquidity Hunter Pro

This MetaTrader 5 expert advisor is a multi-layered trading system specifically designed for BTCUSD. It utilizes a hierarchical decision logic that analyzes macro bias on the H4 timeframe, maps support and resistance on the H1 timeframe, and confirms structure changes on M15 before executing trades on the M5 timeframe.

MT5 Trading robot SMC / ICT / price actionBreakoutTrend following

Universal MTF EA

by Huthayfa-Alomari
1 stars

This MetaTrader 5 expert advisor implements a multi-timeframe trading strategy across H4, M15, and M5 intervals. It executes trades based on confluence between Fibonacci levels, liquidity zones, and market regime analysis. The robot manages risk through defined per-trade percentages, daily loss limits, and weekly drawd

MT5 Trading robot SMC / ICT / price actionMulti-strategyTrend following
Updated 3 months ago None stated GitHub repository of Universal MTF EA

Goldmine EA Series

by brandonboyd203-byte
1 stars

This collection of MetaTrader 5 expert advisors is designed for trading Gold and Silver using Smart Money Concepts. The EAs identify entries through Fair Value Gaps, Order Blocks, and session sweeps, filtered by market structure shifts like BOS and CHoCH. It features sophisticated risk controls including multi-layered

MT5 Collection SMC / ICT / price action
Updated 4 months ago Custom licence GitHub repository of Goldmine EA Series

DevyyTrades Webhook EA

by fynnelsner
1 stars

This MetaTrader 5 Expert Advisor functions as a bridge for TradingView alerts, processing signals through a Python-based webhook server. It executes a mechanical strategy involving trend following, Fair Value Gaps, and structural changes like Break of Structure. The EA includes sophisticated risk management such as dyn

MT5 Trading robot Trend followingSMC / ICT / price actionNews
Updated 4 months ago None stated GitHub repository of DevyyTrades Webhook EA

Price Action Master

by fikribuoy-droid
1 stars

This MetaTrader 5 expert advisor automates several price action strategies, including pin bar reversals at support and resistance levels, trendline bounces, and break-and-retest patterns. The robot employs multi-timeframe analysis to align entries with higher timeframe trends. Risk controls include percentage-based pos

MT5 Trading robot SMC / ICT / price actionBreakoutTrend following
Updated 4 months ago None stated GitHub repository of Price Action Master

Smart Consensus Pro

by tripleonesoft-design
1 stars

This MetaTrader 5 expert advisor collection employs institutional trading concepts to execute trades across forex, commodities, and cryptocurrency markets. It utilizes a dual-timeframe approach, analyzing the H1 chart for trend direction and M15 for execution. Entry signals require multiple confirmations from RSI, MACD

MT5 Trading robot SMC / ICT / price actionIndicator crossoverTrend following
Updated 4 months ago None stated GitHub repository of Smart Consensus Pro
1 stars

This collection for MetaTrader 5 provides a suite of trading algorithms and risk management utilities. The primary expert advisor features an adaptive machine learning system using a neural network and evolutionary genetic algorithms. It analyzes market structure, volume profiles, and candlestick patterns to execute tr

MT5 Collection AI / machine learningSMC / ICT / price action

Oddioybek7 MQ5 Collection

by oddioybek7-beep
1 stars

This MetaTrader 5 repository contains a collection of automated trading systems, including SignalRobot, OrderBlockRobot, and Smart HHMA Robot. The primary SignalRobot expert uses Triple Exponential Moving Average (TEMA) and noise filters to generate trade signals. It includes a risk management module that calculates lo

MT5 Collection Trend followingIndicator crossoverSMC / ICT / price action
Updated 5 months ago None stated GitHub repository of Oddioybek7 MQ5 Collection
1 stars

This MetaTrader 5 expert advisor implements core Inner Circle Trader (ICT) concepts including Fair Value Gaps (FVG), liquidity sweeps, and Market Structure Shifts (MSS). It executes trades based on price imbalances and displacement, utilizing session-based filters for London and New York kill zones. Risk management fea

MT5 Trading robot SMC / ICT / price action
Updated 5 months ago None stated GitHub repository of ICT Trading Strategy EA
1 stars

This repository is a collection of MetaTrader 5 expert advisors focusing on quantitative research and price action strategies. It includes implementations of Smart Money Concepts and Inner Circle Trader methods, such as Order Blocks, Fair Value Gaps, and liquidity sweeps. Other components feature Ichimoku Kinko Hyo tre

MT5 Collection SMC / ICT / price actionTrend followingMean reversion

Pro Trader AI

by salmanrki
1 stars

This MetaTrader 5 expert advisor integrates Large Language Models such as OpenAI and Anthropic Claude with technical analysis to automate trading across forex, gold, crypto, and indices. It utilizes a confluence scoring system based on Smart Money Concepts, Ichimoku Cloud, and standard indicators like RSI and MACD. The

MT5 Trading robot SMC / ICT / price actionAI / machine learningNews
Updated 5 months ago None stated GitHub repository of Pro Trader AI
1 stars

This repository contains a collection of MetaTrader 5 expert advisors focusing on various automated strategies. Notable files include a liquidity sweep scalper, an opening range breakout tool, and an index arbitrage EA. The primary liquidity sweep EA uses price action filters like candle size and wick ratios alongside

MT5 Collection ScalpingBreakoutSMC / ICT / price action
Updated 5 months ago None stated GitHub repository of VSendra MT5 EA Collection
1 stars

This collection of MetaTrader 5 expert advisors focuses on breakout strategies influenced by Smart Money Concepts. The primary tool, Super Breakout SMC, utilizes a multi-timeframe approach with M15 market structure analysis and M5 entry triggers. It features session-specific trading filters, often referred to as killzo

MT5 Collection BreakoutSMC / ICT / price actionTrend following
Updated 5 months ago None stated GitHub repository of Super Breakout SMC Collection

P4 Pattern Strategy

by junthy-me
1 stars

This MetaTrader 5 expert advisor identifies and trades a proprietary geometric P4 swing pattern. It scans for a multi-point price skeleton using historical data and triggers entries at P4 when specific price ratios and time constraints are met. The system requires an account in hedging mode to manage trade-specific sna

MT5 Trading robot SMC / ICT / price actionHedging
Updated 5 months ago None stated GitHub repository of P4 Pattern Strategy

SMC Liquidity Sweep EA

by mavickohmc-beep
1 stars

This MetaTrader 5 expert advisor automates a Smart Money Concepts strategy focused on liquidity sweeps of previous session highs and lows. It identifies sweeps on a higher timeframe and seeks entries on a lower timeframe using Inversion Fair Value Gaps. The robot monitors the Asian and London trading sessions to establ

MT5 Trading robot SMC / ICT / price action
Updated 6 months ago None stated GitHub repository of SMC Liquidity Sweep EA

AIME

by H3NST7
1 stars

AIME is a MetaTrader 5 Expert Advisor that automates trading using Inner Circle Trader (ICT) methodologies. The robot enters trades by evaluating smart money concepts such as fair value gaps, order blocks, and liquidity levels during specific session killzones. It features distinct strategies including the Unicorn mode

MT5 Trading robot SMC / ICT / price action
Updated 7 months ago None stated GitHub repository of AIME
1 stars

This MetaTrader 5 expert advisor implements a multi-layer Smart Money Concepts strategy across twelve currency pairs and gold. It utilizes a weighted scoring engine to evaluate setups based on market structure, liquidity sweeps, fair value gaps, and technical indicators like RSI and VWAP. The robot identifies break of

MT5 Trading robot SMC / ICT / price actionMulti-strategyTrend following
Updated 7 months ago None stated GitHub repository of Confluence Trading System

Liquidity Scalper

by torOxO
1 stars

Liquidity Scalper is an automated expert advisor for XAUUSD (Gold) on MetaTrader 4 and 5. It executes trades based on institutional order flow and Smart Money Concepts, specifically targeting liquidity sweeps followed by market displacement. The system identifies order blocks and enters on either retests or momentum-ba

MT4MT5 Trading robot SMC / ICT / price actionScalpingBreakout
Updated 7 months ago None stated GitHub repository of Liquidity Scalper
1 stars

This MetaTrader 5 expert advisor performs comprehensive Smart Money Concepts (SMC) and ICT-style analysis. It identifies market structure elements such as Break of Structure (BOS) and Change of Character (CHOCH) based on candle body closes. The tool visualizes order blocks, fair value gaps, and liquidity levels includi

MT5 Trading robot SMC / ICT / price action
1 stars

This collection of MetaTrader 5 expert advisors focuses on automated trendline breakout strategies integrated with Elliott Wave theory and Fibonacci levels. The system identifies trendline breaks on the H4 timeframe and uses H1 and M15 intervals for entry confirmation. It employs RSI filters for divergence detection an

MT5 Collection Trend followingBreakoutSMC / ICT / price action

SMC FVG EA

by trenddaytrader
1 stars

This MetaTrader 5 expert advisor automates trading strategies based on Smart Money Concepts (SMC), specifically focusing on Fair Value Gaps (FVG) and Order Blocks. The robot identifies market structure using swing highs and lows, rejection blocks, and a Simple Moving Average filter. Positions are managed through fixed

MT5 Trading robot SMC / ICT / price action
Updated 7 months ago None stated GitHub repository of SMC FVG EA

Gold Dual Engine Scalper

by MithunCyDev
1 stars

Gold Dual Engine Scalper is an MT5 expert advisor designed for XAUUSD trading. It utilizes a regime-based state machine to navigate market conditions, employing two distinct engines: one for volatility burst continuations and another for liquidity sweep reversals. The EA monitors for price compression and market exhaus

MT5 Trading robot ScalpingBreakoutSMC / ICT / price action
1 stars

This repository is a collection of experimental MetaTrader 5 trading systems focused on price action and technical indicators. The primary expert advisor utilizes Fair Value Gaps to identify entries, incorporating multi-timeframe analysis. It manages risk through percentage-based lot sizing, daily loss limits, and auto

MT5 Collection SMC / ICT / price actionMulti-strategy
Updated 8 months ago None stated GitHub repository of Systematic Trading Lab MT5

Mushashi Murphy EA

by dammajid
1 stars

Mushashi Murphy EA is an automated trading robot for MetaTrader 5 that utilizes Smart Money Concepts to identify entries via Order Blocks and Fair Value Gaps. The system validates signals using a volume-ratio filter and operates within specific UTC time windows. Risk management features include percentage-based lot siz

MT5 Trading robot SMC / ICT / price action
Updated 9 months ago None stated GitHub repository of Mushashi Murphy EA

ICT CRT Gold System

by Design-Arena-Gens
1 stars

This MetaTrader 5 expert advisor is designed to trade Gold (XAUUSD) by integrating Inner Circle Trader (ICT) concepts with technical indicators. It identifies market structure shifts and order blocks while utilizing EMA crossovers and oscillators for signal confirmation. Risk controls include percentage-based position

MT5 Trading robot SMC / ICT / price actionIndicator crossoverTrend following
Updated 10 months ago None stated GitHub repository of ICT CRT Gold System

ICT SMC EA

by katxarra
1 stars

This MetaTrader 5 expert advisor executes trades based on Smart Money Concepts and Inner Circle Trader methodologies. It identifies institutional price patterns such as Fair Value Gaps, Order Blocks, and Liquidity Sweeps to find entry points. The robot requires market structure alignment and uses a higher timeframe tre

MT5 Trading robot SMC / ICT / price action
Updated 10 months ago None stated GitHub repository of ICT SMC EA

Gold Rush 25

by kevoking
1 stars

Gold Rush 25 is a multi-strategy day trading robot for MetaTrader 5. It integrates several trading styles including trend continuation, support/resistance bounces, and session breakouts. The system employs multi-timeframe analysis to coordinate entries across various chart periods. It features institutional-grade risk

MT5 Trading robot Trend followingBreakoutSMC / ICT / price action
Updated 10 months ago None stated GitHub repository of Gold Rush 25

Ultimate FX Mafia

by HanyaniJJMarivate28
1 stars

This MetaTrader 5 expert advisor executes trades based on the first valid pullback following a significant ZigZag swing. It incorporates Smart Money Concepts by utilizing Fair Value Gap filters and searching for specific price action patterns. Risk management is comprehensive, featuring percentage-based lot sizing, aut

MT5 Trading robot SMC / ICT / price actionTrend following
Updated 11 months ago None stated GitHub repository of Ultimate FX Mafia

SMC ICT EA

by anhnguyen123312
1 stars

This expert advisor for MetaTrader 5 implements a trading strategy based on Smart Money Concepts and Inner Circle Trader principles. It automates trade entries by identifying price action structures such as Break of Structure, Order Blocks, and liquidity sweeps. The system features a multi-window session manager for As

MT5 Trading robot SMC / ICT / price action
Updated 11 months ago None stated GitHub repository of SMC ICT EA
1 stars

This collection of MetaTrader 5 expert advisors provides experimental trading strategies focused on session breakouts and Smart Money Concepts. The primary robot monitors the opening ranges of the London and New York sessions on the M5 timeframe to identify entry signals. It incorporates several risk management tools,

MT5 Collection BreakoutSMC / ICT / price action
Updated 11 months ago None stated GitHub repository of Joseph Akaro Mql5 Trading Bots

XAUUSD Zones Trading

by savilla17
1 stars

This Expert Advisor for MetaTrader 5 automates supply and demand zone trading, specifically designed for XAUUSD on five-minute charts. It identifies zones based on directional streaks of five or more consecutive candles and executes trades when the price retests these newly formed areas. Risk is managed via fixed lot s

MT5 Trading robot SMC / ICT / price action
Updated 12 months ago None stated GitHub repository of XAUUSD Zones Trading

Liquidity Sweep Reversal

by logiccrafterdz
1 stars

This MetaTrader 5 expert advisor implements a reversal strategy based on institutional trading concepts and liquidity sweeps. It identifies fake breakouts at swing high and low levels, waiting for price rejection patterns like pin bars or engulfing candles to enter trades. The robot manages risk through equity-based po

MT5 Trading robot SMC / ICT / price actionMean reversion
Updated 1 year ago Custom licence GitHub repository of Liquidity Sweep Reversal

Kaisara Gold Scalping

by zulmusthafa1961-kaisara
1 stars

This expert advisor for MetaTrader 5 is designed to automate trading strategies based on the Kaisara Legacy and AProfitFX indicators. It primarily focuses on gold scalping by analyzing rectangular chart zones across multiple timeframes, specifically M5 and H1. The EA includes modules for scanning chart objects, managin

MT5 Collection ScalpingSMC / ICT / price actionTrend following
Updated 1 year ago None stated GitHub repository of Kaisara Gold Scalping

Price Action Bot

by logiccrafterdz
1 stars

Price Action Bot is a technical Expert Advisor for MetaTrader 5 that executes trades based on market structure shifts, specifically Break of Structure (BOS) and Change of Character (CHoCH) signals. It supports two entry modes: waiting for a price retest of broken levels or entering immediately on a breakout candle clos

MT5 Trading robot SMC / ICT / price actionBreakoutTrend following

Price Action EA

by Covenantmondei
1 stars

This MetaTrader 5 robot executes trades based on price behavior and technical indicators. It utilizes the Relative Strength Index to identify overbought and oversold conditions while incorporating breakout and candle pattern logic. The expert advisor includes flexible risk management, offering fixed lot sizes or percen

MT5 Trading robot Mean reversionBreakoutSMC / ICT / price action
Updated 1 year ago None stated GitHub repository of Price Action EA

ICT London Kill Zone EA

by trenddaytrader
1 stars

This MetaTrader 5 expert advisor automates trading strategies based on Inner Circle Trader concepts, specifically focusing on the London Kill Zone. The robot identifies the Asian trading range and monitors the market for Fair Value Gaps, liquidity sweeps, and swing points to determine entry signals. It features customi

MT5 Trading robot SMC / ICT / price action
Updated 1 year ago None stated GitHub repository of ICT London Kill Zone EA
1 stars

This MetaTrader 5 expert advisor serves as an educational framework for developing trading robots using object-oriented programming. It demonstrates how to organize trading logic into modular classes for symbol handling, order execution, and strategy management. The EA incorporates two distinct price action strategies

MT5 Framework & template SMC / ICT / price actionHedging

Rhythm Ultra

by AlgoIndustriesCompany
1 stars

Rhythm Ultra is an automated price action strategy constructor for MetaTrader 5. It enables traders to automate entries based on Smart Money Concepts and ICT principles, including Order Blocks, Fair Value Gaps, breakers, and liquidity sweeps. The EA manages risk through multi-timeframe trend synchronization, partial ta

MT5 Trading robot SMC / ICT / price actionTrend followingMulti-strategy
Updated 1 year ago MIT GitHub repository of Rhythm Ultra

Draco Bot

by Dracobot-1
1 stars

Draco Bot is an automated trading system for MetaTrader 5, specifically designed for trading gold (XAUUSD). It utilizes Smart Money Concepts to identify market entries and exits. The expert advisor includes integrated risk management tools, such as percentage-based lot sizing and a fixed risk-to-reward ratio. It execut

MT5 Trading robot SMC / ICT / price actionScalping
Updated 1 year ago None stated GitHub repository of Draco Bot

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