The Adam Robot
Adam is a sophisticated algorithmic expert advisor (EA) designed for automated trading on the MetaTrader 5 (MT5) platform. It integrates advanced technical indicators with a custom-built neural network to analyze market conditions, identify favorable trading opportunities, and make optimal trading decisions. The neural network is trained using historical data, enhancing its predictive accuracy over time.
Adam is tailored for traders seeking to automate their trading strategies, thereby reducing human error and optimizing the trading process. It utilizes various technical indicators such as Bollinger Bands, ADX, CCI, TMA, and QQE to detect key entry and exit points in the market. The neural network enables precise decision-making, even under fluctuating market conditions.
How the Adam Works
Upon its initial launch, the Adam Robot automatically creates a database, setting up a table to store training data. This database is critical, as it holds the results from each training session of the neural network. Over time, the robot uses this stored data to refine its decision-making process, leading to more accurate and effective trading strategies.
Additionally, the Adam Robot systematically scans all available data to identify optimal parameters and conditions for trading. It meticulously searches for the best data points and configurations and then uses these to execute the most advantageous trades. This process ensures that the robot is always operating with the most relevant and effective information.
How to Use the Adam
The Adam Robot can be easily deployed on any MT5 platform. To effectively utilize it, you need to configure the following input parameters according to your trading strategy:
Money Management
- Lots (0.9): Fixed lot size for trading. Adjust this value according to your risk tolerance and overall capital.
Exit Rules
- ProfitTarget (4.5): Coefficient for calculating the profit target (Take Profit) based on market volatility.
- StopLoss (3.5): Coefficient for calculating the stop loss level, also based on market volatility.
- ProfStpATR (14): ATR indicator period used for calculating the profit target and stop loss.
Trailing Stop Rules
- TrailingStop (0.5): Coefficient for the trailing stop. This value allows automatic adjustment of the stop loss as the price moves favorably.
- TrailingActivation (0.0): Activation level for the trailing stop, based on a specific step.
- TrailingStopATR (5): ATR indicator period used for the trailing stop.
- TrailingActATR (6): ATR indicator period for activating the trailing stop.
Break-Even Rules
- MoveSL2BE (0.19): Coefficient for moving the stop loss to the break-even level when a trade becomes profitable.
- SL2BEAddPips (0.37): Additional pips are added when moving the stop loss to the break-even level.
- MoveSL2BEATR (3): ATR indicator period for break-even stop loss.
- SL2BEAddPipsATR (2): ATR indicator period for adding pips at break-even.
Auxiliary Settings
- TradeMode (buy_sell): Trading mode, with options for buy only, sell only, or both.
- OrdType (market): Type of order used for opening positions—market, stop, or limit orders.
- SetOrderExpiration (1): Time in bars for order expiration.
- MaxTradesPerDay (0): Maximum number of trades per day; zero means no limit.
- MagicNumber (5003): A unique identifier for the robot, helping to track all orders opened by this robot.
- CustomComment (Adam): Comment added to each order for easier tracking in trade history.
Entry Signal Settings
- BollingerBandsPeriod (10): Period for the Bollinger Bands indicator.
- BPChangesPeriod (21): Period for the BULLBEAR indicator.
- TEMAPeriod (91): Period for the TMA indicator.
- QQEVle1CrsVle2RSIPrd (16): Period for the QQE indicator.
- QQEValue1CrossVle2sF (1): Period for the QQE filter.
- DIPlusPeriod (46): Period for the ADX indicator.
Exit Signal Settings
- WoodiesTrendPeriod (16): Period for the CCI indicator.
How Adam Robot Uses Indicator Data to Make Decisions
Adam Robot doesn't make decisions randomly – it carefully analyzes market data before deciding whether it's the right time to trade. This data comes from various indicators, which are specialized tools that track price movements and trends in the market.
What Are Indicators?
Indicators are like little helpers that monitor what's happening in the market. For example:
- Bollinger Bands: This indicator measures how "volatile" the market is – whether prices are fluctuating a lot or staying stable.
- ADX (Average Directional Index): Helps determine how strong the current trend is – whether the market is moving up, down, or staying flat.
- CCI (Commodity Channel Index): Tracks price changes relative to its average movement.
How Does the Robot Use This Information?
Data Collection: First, Adam Robot gathers data from all the indicators it uses. For instance, it might take the current value of the Bollinger Bands or ADX.
Data Analysis: Next, the robot uses a specific part of its code to analyze this data. It combines all this information and then multiplies it by the weights it received earlier from its neural network. These weights act like values that tell the robot how important each indicator's signal is.
Making a Decision: Based on this analyzed data, the robot sums up all the crucial information. If the result of this sum exceeds a certain threshold, the robot concludes that the conditions for trading are met and takes action, whether it's buying or selling.
Why Is This Important?
This process ensures that the robot doesn't make decisions based on just one indicator or one signal from the market. Instead, it uses multiple sources of information and carefully evaluates everything before acting. This reduces risk and increases the chances that the decisions will be correct.
For example, when the robot sees that the ADX indicates a strong trend, but the Bollinger Bands show high volatility, the robot might decide to wait for a better trading opportunity. This is what makes Adam Robot smart and effective in trading.
Adam Neural Network Input Parameters
- Epoch
- Sessions
- T: High/Low increases/decreases decisions
- Global factor (from -1.0 to -10)
- Enable Database log messages
Number Of Epochs (1000): Number of Epochs during Neural Network Training
Description: The number of epochs determines how many times the entire dataset will be used to train the network. Each epoch represents one full pass through the dataset.
Impact: A higher number of epochs allows the network to adjust its weights more thoroughly, potentially leading to better learning but also increasing the risk of overfitting. The optimal number of epochs depends on the nature of the data and the specific market conditions.
Number Of Sessions(5): Number of Sessions during Neural Network Training
Description: This parameter determines the number of training sessions the robot will perform when it starts.
First Run: During the first run, the Number Of Sessions must be set to a value greater than zero to allow the robot to gather the necessary training data. The larger this value, the more opportunities the neural network has to learn and optimize its performance.
Subsequent Runs: After the initial run, if further training is unnecessary, set this parameter to zero. When the Number Of Sessions is zero, the robot uses existing data from previous sessions to make decisions without additional training.
Impact: The number of sessions directly influences the depth and extent of training. More sessions lead to a more thoroughly trained model, while fewer sessions may result in faster execution but less refinement in decision-making.
Threshold (1.0): Decision-Making Threshold within the Neural Network
Description: The threshold is a critical parameter used for decision-making within the neural network. It represents the value against which the sum calculated by the network (based on its weights and inputs) is compared.
Functionality: If the threshold exceeds the sum produced by the network, the robot will not execute a trade, as conditions are deemed unfavorable. If the threshold is lower than or equal to the sum, the robot will proceed with a trade.
Effect of Threshold: A higher threshold reduces the frequency of trading, requiring stronger signals to initiate trades. Conversely, a lower threshold increases the frequency of trading, as conditions are more easily met.
Global Factor (-2.5): Global Factor Influencing Neural Network Decisions
Description: The global factor is an additional parameter that influences the decisions made by the neural network. It can amplify or dampen the signals generated by the network.
Impact: A negative global factor, as in this case, reduces the likelihood of trading by decreasing the overall value of the network’s signals. A positive factor would increase the likelihood of trading.
Print Log Messages (false): Option to Enable or Disable Log Messages Related to Database Operations
Description: This parameter controls whether the robot will display log messages related to database operations. These log messages can help monitor performance and diagnose issues.
Recommendation: If set to true, the robot will output additional information regarding database operations, which can be valuable for understanding its workings and troubleshooting errors.
Conclusion
The Adam Robot is a powerful tool for automated trading, combining technical indicators with a neural network to enable informed and optimized trading decisions. By carefully adjusting its parameters, Adam can significantly enhance your trading performance, helping you capitalize on the best market opportunities. Additionally, its automatic database creation, thorough data scanning, and training data logging provide a robust system for continuous improvement and refinement of trading strategies.
- Adam EA: LINK
- All my Expert Advisors on the MQL5 Market Store: LINK
- Algorithmic Trading System Official MQL5 Channel (subscribe): LINK
- Algorithmic Trading Systems Official Telegram Channel (subscribe): LINK
- Telegram Grupa "AlgoReader Hub": LINK