HMM FEATURES
Latest version: v1.30
Buy or rent from the MQL5 market
User Manual, Guide, and set files are attached at the end of this blog.

- HMM uses the famous Hidden Markov Model to predict the price trend.
- It uses the algorithms of Baum-Welch and Viterbi to train the model and predict price trend.
- This implementation of Hidden Markov Models is a self-adjusting online learning algorithm that processes up to 160 bars from the latest data to readjust its parameters at the arrival of every new bar.
- It trades ANY Forex symbol, ANY metal symbol. We recommend major ones: combinations of USD,GBP,JPY,EUR,AUD,CAD,XAU.
- User may run any number of symbols in parallel.
- It does not use grid, martingale, or hedging strategies.
- Account type: Netting or Hedging. It always use Netting rules.
- User level required: from beginner to expert traders. It requires user to know the MetaTrader 5 Optimization tools as we recommend to optimize parameters before running live.
- All other time frames are also available.
- All trades are opened with a Stop Loss automatically. Never lose more than what you risked in a given trade.
- User may select which days of the week the EA trades.
- User may select a time window for trades (start/end hours).
- Multiple methods for opening Take Profit (TP) calculation, including no TP.
- Multiple methods for the opening and trailing Stop Loss (SL) calculation.
- Multiple methods to handle large changes in price (positive or negative).
RISK MANAGEMENT
- Multiple ways to calculate money at risk, and lot size. You don’t need to calculate anything.
- Proprietary Firm friendly: at every tick, it checks max daily loss and max account loss limits.
- It closes positions and suspends trading until next day if daily loss limit is approaching.
- It closes positions and stops trading if account loss limit is approaching.
- It stops trading when Prop. Firm target is achieved (optional).
HANDLING NEWS and WEEKENDS
- It handles high importance news (it ignores low and medium priority news).
- It handles open positions and pending orders before and after the news.
- It handles open positions and pending orders before weekend starts.
OPTIMIZATION
- We recommend to run the MT5 optimization tool on the symbol of your interest. This optimization is to adjust the Stop Loss parameters.
- We recommend to use the "Custom max" objective and optimize with the Generic Optimization Formulation (GOF) explained in this article: https://www.mql5.com/en/articles/14365
THE TRADER’S ENVIRONMENT: A CRITICAL FACTOR IN BACKTESTING
Every trader operates within a unique environment, defined by three key components:
1. Broker : Prices, spreads, leverage, fees, and commissions vary across brokers, impacting trading outcomes.
2. Network : Local internet connection speeds influence execution speeds, affecting entry and exit prices.
3. Computer : Processing power and internet connection speed combine to determine delays and slippage.
These environmental differences mean that two traders using the same:
- Expert Advisor (EA)
- Input set file
- Symbol
- Time frame
- Dates
will never achieve identical backtest results. While results may be similar, variations in environment ensure that outcomes will always differ. Therefore, running optimization of the input parameters before you start trading in your environment is critical. This step helps ensure that your trading strategy is tailored to your unique environment, maximizing its potential for success.


