EAsiTrader User Guide

Table of Contents

  1. Introduction
  2. EAsiTrader GUI
  3. The Primary Market And Secondary Markets
  4. Automated Trading With Manual Entry
  5. Manual Trading Mode
  6. Settings Tab
  7. Signals Tab
  8. Trades Tab
  9. Tester Tab
  10. Info Tab
  11. HotKeys Tab
  12. All EAsiTrader Settings
  13. EAsiTrader Preset Files
  14. Rules for Creating Main Preset Files
  15. Statistic Metrics
  16. Terms

1. Introduction

Why settle for one EA when you can have thousands? And now, with AI-powered strategy creation, developing sophisticated trading systems has never been easier. EAsiTrader is a groundbreaking expert advisor that combines traditional algorithmic trading capabilities with cutting-edge AI technology. This revolutionary platform allows traders to not only create, test, optimise, and execute trading scripts manually, but also leverage artificial intelligence to generate complete trading strategies and preset configurations automatically.

Main Features

AI-Powered Strategy Development

  • Utilize artificial intelligence to automatically generate complete trading strategies based on your requirements
  • Create optimised EAsiTrader preset files through AI assistance, eliminating complex manual configuration
  • Leverage AI to identify optimal parameter combinations and market conditions for your strategies
  • Seamlessly integrate AI-generated strategies with manual refinements for superior performance

Automated Trading (EA Mode)

  • Automate trading strategies using customizable EAsiScript scripts for single or multiple symbols and timeframes
  • Develop and execute your own trading strategies with EAsiScript, leveraging its wide range of built-in functions and indicator signals
  • Access 22 built-in indicators, including 8 proprietary indicators and 14 custom variations of popular tools, for advanced strategy development

Strategy Simulation (Tester)

  • Test trading strategies on one or more markets using historical data to evaluate performance
  • Review simulation results with detailed trade lists, equity curve graphs, and statistical metrics

Optimization Tools

  • Optimise trading strategies by defining user variables and running the Optimiser to find the best settings for key metrics
  • Customize optimization by selecting up to two metrics and filtering results to exclude underperforming configurations
  • Schedule automated optimization runs at convenient times, such as weekends

Trade History and Performance

  • Access a detailed trade history, including positions, deals, and orders, filtered by date and symbol
  • Analyze past performance through equity curves and statistical summaries of historical trades

Manual Trading

  • Execute trades manually using Stop Loss (SL) and Take Profit (TP) values set directly on EAsiTrader’s visual trade lines
  • Adjust SL and TP lines by dragging them vertically on the chart to instantly update profit, loss, and risk calculations in currency, pips, account percentage, and risk-reward ratio
  • Utilize the Breakeven line to automatically move trades to breakeven when conditions are met
  • Configure trailing stop and exit strategies to adaptively manage trades before TP levels are reached

System Information

  • Retrieve comprehensive system data, including broker details, price history, account information, symbol properties, and terminal settings

Multiple Versions

  • EAsiTrader.ex5: Includes a graphical user interface (GUI) for intuitive and interactive trading tasks
  • EAsiTraderLite.ex5: A streamlined version without a GUI, optimised for running on systems with limited memory (<16GB) or when trading across multiple markets

Both versions support manual and automated trading modes, providing flexibility to suit different trading styles and system requirements.

Visit NorthenTradingLabs.com to access our community of traders sharing AI-generated and manually crafted trading strategies, and to unlock the full potential of AI-powered trading with EAsiTrader.

2. EAsiTrader GUI

The EAsiTrader GUI is a custom-built interface designed to simplify and enhance the trading experience. It features six primary tabs: Settings, Signals, Trades, Tester, Info, and HotKeys. These tabs provide intuitive controls for managing profiles, configuring EA settings and scripts, monitoring signals and trades, testing strategies, accessing system information, and utilising keyboard shortcuts.

Profiles

The Current Profile dropdown lists all profile files stored in the MQL5\Files\EAsiTrader folder. The profile currently in use is specified by the EA’s “Settings File” input and is marked with an asterisk (*). To switch profiles and load its settings, select the desired profile from the list.

Below the profile dropdown is a Tree View that displays all the settings for the selected profile. You can edit individual setting values directly within this view.

Markets

The Current Market dropdown, located directly below the Current Profile dropdown, lists all markets associated with the selected profile. Each market corresponds to a unique symbol and timeframe combination, with the Primary Market being the one matching the current chart’s symbol and timeframe. All other markets are considered Secondary Markets. A profile cannot contain duplicate markets with the same symbol and timeframe.

Status Bar

At the bottom edge of the GUI is the Status Bar which provides real-time updates on key metrics, such as account balance, profit from open trades, the number of open positions, and the total markets being traded. The status is refreshed every two seconds, ensuring you stay informed during live trading sessions.

Text Editing

To avoid conflicts with the main chart, the Del key is disabled when editing text in text boxes. Please use the Backspace key instead.

Known Issues

Occasionally, tables accessed through the Tree View control may become unresponsive. In such cases, clicking the tree view item again typically resolves the issue.
In some high screen resolutions, the expand/collapse symbol in the Tree View control appears to be unresponsive when clicked. Clicking near the top-left of the symbol should resolve the issue.

3. The Primary Market And Secondary Markets

EAsiTrader is a multi-market capable EA, meaning it can trade not just with the chart’s symbol and timeframe (the Primary Market) but also with other symbols and timeframes (Secondary Markets) simultaneously. However, there are important differences in how EAsiTrader handles the processing of the primary market compared to secondary markets, and these differences could impact trade performance.

Primary Market Processing

The primary market receives symbol updates via the OnTick() event, which is triggered every time the broker sends a price or volume update. The frequency of these updates, or “ticks,” varies based on market activity and could occur multiple times per second. EAsiTrader processes all OnTick() events for the primary market and captures every tick for the symbol, subject to the Refresh Mode setting.

If Refresh Mode is set to Every Tick, EAsiTrader processes logic for every tick received. If set to Every Bar, it processes only the first tick of a new bar for evaluating new trades, reducing computational overhead. However, for open positions, EAsiTrader will still process all ticks to ensure accurate position management and updates.

This ensures that strategies for the primary market can respond to price changes with minimal latency, making it suitable for time-sensitive strategies.

Secondary Market Processing

Secondary markets do not receive OnTick() events for their symbols. Instead, they are processed via the OnTimer() event, which runs at a frequency of once per second. This introduces a potential delay of up to 1 second or more in processing price updates for secondary markets.

Unlike OnTick(), which only processes updates for a single symbol, OnTimer() processes every symbol defined as a secondary market in EAsiTrader. While there is no hard limit on the number of secondary markets that can be added, performance may degrade as the number of markets increases. EAsiTrader’s ability to handle multiple markets depends on factors such as available system resources and the complexity of the strategy logic defined in the scripts.

Excessive secondary markets can lead to delays in processing updates, skipped symbols, or missed trading opportunities due to resource constraints or computational limits.

Recommendations

For strategies requiring sub-1-second accuracy, such as scalping, it is recommended to use the target symbol as the primary market. Scalping relies on fast and precise execution, which is best achieved when processing every tick through the primary market.

Secondary markets are ideal for strategies that can tolerate up to a one-second delay in processing and operate independently of the primary market. These markets are well-suited for less time-critical approaches, allowing EAsiTrader to handle multiple independent symbols effectively.

Chart Data Loading

When selecting a new chart symbol or timeframe, or when the Tester requests historical data, EAsiTrader may freeze for several minutes while displaying “Requesting Price History for…” in the top-left corner of the chart.

During this loading period, the EA cannot process any market updates, which means all trade management functions (stop losses, take profits, trailing stops, etc.) are suspended. This creates significant risk for any open positions.

To minimize this risk:

  • Avoid changing charts during active trading
  • Load new markets during non-trading hours
  • Consider using separate terminals for testing and live trading

The loading duration varies based on the amount of historical data, number of markets, system resources, and network speed. The EA automatically resumes normal operation once loading completes.

4. Automated Trading With Manual Entry

EAsiTrader allows you to automate the management of trades entered manually by leveraging its advanced scripts for stop loss, take profit, breakeven, and exit conditions. This hybrid approach provides the flexibility of manual trade entry combined with the precision of automated trade management.

To enable this feature:

  1. Leave the Long Entry and Short Entry scripts empty.
  2. Configure the remaining scripts (e.g., SL, TP, Breakeven, Exit) as required to manage the trade.
  3. Enable setting Auto Trade Enable.
  4. Tick the “Live” checkbox in the Markets Table for the symbol corresponding to the chart symbol.
  5. Click button Apply in the Settings tab - the EAsiTrader window bar should turn red.

After entering a trade manually (as described in Manual Trading Mode), the EA will automatically apply the defined scripts to manage the trade according to your settings. This allows you to focus on market conditions while the EA handles risk management and exit strategies.

5. Manual Trading Mode

In manual trading mode, you can switch between four order types using the following keyboard shortcuts:

  • Ctrl-Shift-M: Market Order
  • Ctrl-Shift-S: Stop Order
  • Ctrl-Shift-L: Limit Order
  • Ctrl-Shift-P: Stop Limit Order

By default, Market Orders are selected. The order type (Buy or Sell) is determined by the trend of the latest bar when the order lines appear on the chart. Pressing the shortcut key toggles the visibility of the order line along with the associated SL, TP, and Breakeven lines.

Dragging SL, TP and Breakeven Lines

To prevent line dragging interfering with the GUI, the lines can only be dragged when they are in a selected state. A line is in the selected state when a small square appears at each end of the line. Double clicking a line changes its selected state. Minimising the EAsiTrader window automatically puts the lines in the selected state, whilst opening the window puts the lines in the unselected state.

Market Orders (Ctrl-Shift-M)

  • Displays “Buy” if the SL line is below the current ask price or “Sell” if the SL line is above the current bid price.
  • Dragging the SL line above or below the price dynamically switches between Buy and Sell orders.

Stop Orders (Ctrl-Shift-S)

  • Displays “Buy Stop” when the line is above the current ask price or “Sell Stop” when it is below the current bid price.
  • Adjusting the line by dragging it changes the order type accordingly.

Limit Orders (Ctrl-Shift-L)

  • Displays “Buy Limit” when the line is below the current ask price or “Sell Limit” when it is above the current bid price.
  • Dragging the line switches the order type dynamically.

Stop Limit Orders (Ctrl-Shift-P)

  • Displays both “Buy Stop” and “Buy Limit” when the stop line is above the current ask price, or “Sell Stop” and “Sell Limit” when the stop line is below the current bid price.
  • Adjusting the stop line dynamically updates the order type.

Managing SL, TP and Breakeven

  • SL, TP, and Breakeven lines appear at calculated price values based on the settings defined in the Settings tab.
  • Dragging the SL line adjusts the TP, Breakeven, and lot size automatically, ensuring real-time updates to profit and loss values.
  • To lock a TP or Breakeven line at a specific price, drag it to the desired level. Adjusting the SL line afterward will not affect the locked position.

Entering Trades

  • Place a trade by clicking the order line or its label, or by using the shortcut Ctrl-Shift-X.
  • Once placed, live trades display current profit values. Pending orders will show zero profit until executed.

To manage trade visibility:

  • Ctrl-Shift-T: Toggle the visibility of live trade details.
  • Ctrl-Shift-Up Arrow: Cycle profit display between money, pips, points, and account percentage.
  • Ctrl-Shift-Down Arrow: Switch between multiple open trades.

Exiting Trades

  • Close a visible trade by clicking the order line, its label, or by pressing Ctrl-Shift-C.
  • To close all open trades and pending orders, use Ctrl-Shift-Q.

Modifying Open Trades

  • Drag the SL, TP, or Breakeven lines to update their values for an open trade dynamically.

6. Settings Tab

The Settings Tab organizes all configuration options for EAsiTrader, allowing you to customize and manage trading settings efficiently. All settings are saved in custom .set preset files, located in the MQL5\Files\EAsiTrader folder. Each configuration consists of a common settings file, which applies to all markets, and individual market settings files for specific symbol and timeframe combinations. When adding the EA to a chart, the “Settings File” input specifies the common settings file to use. Market-specific settings are stored in subfolders named after the common settings file, without the .set extension. For example, if the common settings file is Defaults.set, the market settings files are stored in Defaults\<Market>.set, where <Market> includes the symbol and timeframe, such as EURUSD_H1.set.

Buttons

  • Save: Save changes made to the current profile’s .set files. Any market specific settings (i.e. Overrides) are automatically saved in the profile’s sub-folder.

  • Delete: Remove the selected profile and all associated files.

  • Apply: Apply changes to the settings of the current profile.
    To trade live markets ensure:

    1. the setting Auto Trade Enable is enabled.
    2. there’s at least one market in the Markets Table enabled for live trading.
    3. Algo Trading is enabled on your Terminal. On your terminal got to Tools->Options-Expert Advisors->Allow algorithmic trading.
    4. Algo Trading is enabled for the EA. On your terminal, Toolbar->Algo Trading (CTRL+E).
    5. Live Trading is enabled in your Broker’s account.

    When live trading is enabled the window bar will have a red background.

  • Reset: Reset the current profile to its default settings, removing all market-specific configurations. After a reset, only the current chart’s symbol and timeframe are retained.

  • Reset: Reset the current profile to its default settings, removing all market-specific configurations. After a reset, only the current chart’s symbol and timeframe are retained.

Note: EAsiTrader maintains two copies of the Current Profile - a Live copy and a Working copy. Changes made to the Working copy do not affect the Live copy until the Apply button is clicked, when the Live copy is overwritten with the Working copy.

Tree View

The left half of the Settings Tab contains the Tree View that displays all the settings for the selected profile. You can edit individual setting values directly within this view. Each setting reflects one InpTradeTool_ setting in the profile’s .set file. The preset file is updated when the profile is saved.

The right half of the Settings Tab displays the value or values for the selected item in the Tree View.

Override Setting

Enable the Override Setting checkbox to apply a specific setting only to the currently selected market. To override, check the box and then update the setting’s value, in that order. Market override settings are stored in their own .set file, in a sub-folder of the main profile.

6.1 Settings -> Markets Table

This item displays the Markets Table which shows all markets in the current profile, along with three checkboxes for managing their behavior:

  • Tester: Include the market in Tester runs.
  • Alerts: Enable signal alerts and mobile notifications for the market when new signals are generated. Signal data is also logged in the signals.sig file for the profile, viewable under EAsiTrader -> Signals.
  • Live: Enable the market for live trading.

Buttons

  • Add: Add a new market to the current profile. A new preset file, named from the symbol and timeframe is automatically added to profile’s sub-folder. The name of the sub-folder is the profile’s name less the file’s extension.
  • Del: Remove the selected market from the profile.
  • Swap: Replace the primary market with the selected market.
  • Reset: Clear all market-specific settings for the selected market. If no market is selected, all market-specific settings for the profile are cleared, but the .set files remain intact.

6.2 Settings -> Scripts

This section contains the settings for all 14 EAsiScript scripts. 7 for long trades and 7 for short trades. See the EAsiScript User Guide for a detailed guide on EAsiScript.

Buttons

  • Run Script
    Use this button to run the script and display the result.

6.3 Settings -> Risk Management

% Risk

(setting name and default value: InpTradeTool_MaxRiskPerTradeInPercent=1.00)

The % Risk setting defines the maximum allowable risk per trade as a percentage of the account equity. This value represents the largest potential loss, including slippage, that a trader is willing to accept on a single trade.

In manual trading mode, the risk is displayed on the SL line of the chart, expressed in currency, pips, percentage of account, and risk-reward ratio. Adjusting the risk level automatically updates the calculated position size, which is capped by the broker’s maximum position size (found under Info -> Symbol -> Volume Max) and the trader’s own limit (set under Settings -> Risk -> Lots).

If % Risk is set to 0, this setting is ignored.

$ Risk

(setting name and default value: InpTradeTool_MaxRiskPerTradeInMoney=0.00)

The $ Risk setting specifies the maximum risk per trade in terms of the account’s base currency. If both % Risk and $ Risk are defined, the EA uses the smaller of the two calculated values when determining position size.

This setting provides an additional layer of control for traders who prefer to set an absolute monetary limit on risk. If $ Risk is set to 0, it is ignored.

Trail Max Loss

(setting name and default value: InpTradeTool_TrailMaxLoss=false)

The Trail Max Loss setting dynamically adjusts the equity threshold for closing trades as profits increase. It works in conjunction with Max Profit Loss % -> Each Market to ensure that as the account’s equity for the market’s open positions grows, the maximum allowable loss is recalculated based on the specified percentage.

This setting helps protect accumulated profits by trailing the loss limit upward, providing a balance between locking in gains and allowing trades to continue running.

Deviation

(setting name and default value: InpTradeTool_DeviationInPoints=0)

The Deviation setting defines the maximum allowable price difference (in points) between the current market price and the order execution price for market execution orders. If the price difference exceeds the specified deviation, the order will not be executed.

This setting helps traders control slippage during order placement. A value of 0 disables the deviation check, allowing orders to execute at any available price.

6.3.1 Settings -> Risk Management -> Max Loss %

  • Each Market

    (setting name and default value: InpTradeTool_MaxLossMarketAsPercentageOfBalance=0.00)

    This setting automatically closes all open positions and pending orders for the current market when the account balance decreases by the specified percentage compared to the balance before any positions were opened for that market. If zero this setting is ignored.

  • All Markets

    (setting name and default value: InpTradeTool_MaxLossAccountAsPercentageOfBalance=0.00)

    This setting automatically closes all open positions and pending orders across all markets when the account balance decreases by the specified percentage compared to the balance before any positions were opened for any market. If zero this setting is ignored.

6.4 Settings -> Position Management

Lots

(setting name and default value: InpTradeTool_MaxLots=0.00)

The Lots setting defines the maximum position size (in lots) allowed per trade. While the EA automatically calculates the position size based on risk, stop size, and available margin, this setting ensures trades do not exceed the specified limit.

The calculated position size is also subject to the broker’s maximum lot size, which can be found under Info -> Symbol -> Volume Max. If Lots is set to 0, this setting is ignored.

In manual trading mode, the position size is displayed on the live price line of the chart.

Magic Number

(setting name and default value: InpTradeTool_MagicNumber=12345678)

The Magic Number is a unique identifier (a ULONG value) assigned to every trade executed by the EA. This number helps distinguish trades taken by EAsiTrader from those placed manually or by other EAs.

Traders can use the Magic Number to track and analyze specific trades or strategies.

6.4.1 Settings -> Position Management -> Max Positions

Each Market

(setting name and default value: InpTradeTool_MaxOpenPositionsMarket=1)

Specifies the maximum number of open positions allowed for each market individually. This limit can be overridden for specific markets. Zero means ignore this setting.

All Markets Same Symbol

(setting name and default value: InpTradeTool_MaxOpenPositionsSymbol=0)

Sets a maximum limit for open positions across all markets with the same symbol. This setting cannot be overridden. Zero means ignore this setting.

All Markets Any Symbol

(setting name and default value: InpTradeTool_MaxOpenPositionsAccount=0)

Sets a global limit for open positions across all markets, regardless of symbol. This setting cannot be overridden. Zero means ignore this setting.

Per Hour

(setting name and default value: InpTradeTool_MaxOpenPositionsHour=0)

Defines the maximum number of positions that can be opened in the same hour for the current market. For example, if this setting is set to 1 and a trade was opened at 11:01, then another trade could not be opened until 12:00 the same day. Zero means ignore this setting.

Per Day

(setting name and default value: InpTradeTool_MaxOpenPositionsDay=0)

Defines the maximum number of positions that can be opened in the same day for the current market. For example, if this setting is set to 1 and a trade was opened on Monday, then another trade could not be opened until 00:00 the next day. Zero means ignore this setting.

Per Week

(setting name and default value: InpTradeTool_MaxOpenPositionsWeek=0)

Defines the maximum number of positions that can be opened in the same week for the current market. For example, if this setting is set to 1 and a trade was opened on Monday, then another trade could not be opened until 00:00 the following Sunday morning. Zero means ignore this setting. The first day of the week is Sunday.

6.4.2 Settings -> Position Management -> Open Rate

Maximum Number

(setting name and default value: InpTradeTool_MaxTradesPerUnitTime=0)

Defines the maximum number of positions that can be opened within the specified time period. Zero means ignore this setting.

Minimum Time

(setting name and default value: InpTradeTool_MaxTradesUnitTimeInSeconds=0)

Sets the minimum period of time (in seconds) within which the maximum number of positions can be opened. Zero means ignore this setting.

Minimum Interval

(setting name and default value: InpTradeTool_MinTradeIntervalInSeconds=0)

Specifies the minimum time (in seconds) required between opening consecutive positions. Zero means ignore this setting.

6.5 Settings -> Trading Rules

Enable Auto Trading

(setting name and default value: InpTradeTool_AutoTradeEnabled=true)

This setting determines whether the EA will automate trading for markets with the Live or Alerts checkboxes enabled - see Markets Table. When disabled, the EA will not perform any automated trading actions.

Refresh Mode

(setting name and default value: InpTradeTool_RefreshMode=1 // SeriesRefreshMode_EveryBar)

The Refresh Mode setting controls how frequently trade entry scripts are executed:

  • Every Bar: Scripts run whenever a new bar is formed for the market’s symbol.
  • Every Tick: Scripts run every time a new price tick is received. For secondary markets, this is managed by the OnTimer event with a resolution of 1 second.

The default and recommended setting is Every Bar, as it ensures efficient operation and avoids potential performance issues. Use Every Tick only for strategies that require tick-level precision, such as scalping.

Allowed Trade Types

(setting name and default value: InpTradeTool_AllowedTradeTypes=0) // AllowedTradeTypes_BuysAndSells

This setting defines the types of trades the EA is allowed to execute when running entry scripts:

  • Buys & Sells: Enables both buy and sell trades, provided valid Long Entry and Short Entry scripts exist.
  • Buys Only: Limits trades to buy positions if a Long Entry script is defined.
  • Sells Only: Limits trades to sell positions if a Short Entry script is defined.

6.6 Settings -> Time Management

6.6.1 Settings -> Time Management -> Trading Hours

Start Time

(setting name and default value: InpTradeTool_StartOfDayTime=00:00)

Sets the earliest time of day (in “hh:mm” format) when the EA can open a trade, subject to the symbol’s session trading hours.

End Time

(setting name and default value: InpTradeTool_EndOfDayTime=00:00)

Sets the latest time of day (in “hh:mm” format) when the EA can open a trade. Trades cannot be opened after this time, subject to the symbol’s session trading hours. When Start Time is equal to End Time these settings are ignored.

6.6.2 Settings -> Time Management -> Session Close

6.6.2.1 Settings -> Time Management -> Session Close -> Positions

  • At End of Day

    (setting name and default value: InpTradeTool_ClosePositionAtEndOfDay=false)

    Enabling this setting ensures that any open positions are automatically closed by the end of the last trading session of the day. This helps limit exposure to overnight market risks.

  • At End of Week

    (setting name and default value: InpTradeTool_ClosePositionAtEndOfWeek=false)

    Enabling this setting ensures that any open positions are automatically closed by the end of the last trading session of the week, reducing exposure to weekend market gaps.

  • Time Offset

    (setting name and default value: InpTradeTool_ClosePositionTimeOffsetInSeconds=0)

    This setting allows you to specify a time offset (in seconds) relative to the end of the trading session for closing open positions. It applies when either Close Open Positions At End of Day or Close Open Positions At End of Week is enabled.

6.6.2.2 Settings -> Time Management -> Session Close -> Orders

  • At End of Day

    (setting name and default value: InpTradeTool_CloseOrderAtEndOfDay=false)

    Enable this setting to automatically close any pending orders by the end of the last trading session of the day. This helps manage risk by ensuring no orders remain active overnight.

  • At End of Week

    (setting name and default value: InpTradeTool_CloseOrderAtEndOfWeek=false)

    Enable this setting to automatically close any pending orders by the end of the last trading session of the week, reducing exposure to weekend market uncertainties.

  • Time Offset

    (setting name and default value: InpTradeTool_CloseOrderTimeOffsetInSeconds=0)

    This setting specifies a time offset (in seconds) from the end of the trading session for closing pending orders. It works in conjunction with Close Open Orders At End of Day and Close Open Orders At End of Week settings.

6.7 Settings -> Stop Management

Initial SL

(setting name and default value: InpTradeTool_InitialStopValue=3.00)

The SL (Stop Loss) setting defines the initial stop loss value for trades, ensuring a predefined limit on potential losses. It applies to both manual and automated trading when no Initial Stop or Trailing Stop script is defined. Zero means ignore this setting.

  • Manual Trading: The SL price is shown as the SL line on the chart, and its value can be adjusted by dragging the line.
  • Automated Trading: The EA calculates the initial SL value using the following priority:
  1. Initial Stop Script (if defined).
  2. Trailing Stop Script (if no Initial Stop Script is defined).
  3. This SL Setting (if no scripts are defined).

SL Units

(setting name and default value: InpTradeTool_InitialStopValueUnits=0) // TradeToolStopUnits_ATR

  • ATR (0): The SL size is calculated by multiplying the specified value by the 14-period ATR (Average True Range) of the last closed bar.
  • HH/LL Bars (1): The SL price is set to the highest high (for sells) or lowest low (for buys) over the specified number of bars, starting from the last closed bar.
  • Points (2): The SL size is measured in points from the entry price.

Soft SL

(setting name and default value: InpTradeTool_UseSoftSLs=false)

The Soft SL (Stop Loss) setting replaces the broker-set hard SL with an EA-monitored stop loss. When enabled, EAsiTrader monitors the price in real time and closes the trade when the soft SL level is reached.

Unlike a hard SL, which is managed by the broker, the soft SL requires EAsiTrader to remain running to execute the stop loss. This can provide greater flexibility but requires constant EA operation.

Min Stop Move

(setting name and default value: InpTradeTool_MinSLTPPriceChangeUnitsInPoints=10)

The Min Stop Move setting defines the smallest allowable adjustment to Stop Loss (SL), Take Profit (TP), or Breakeven (BE) values. If an update is smaller than this specified value, the EA will ignore it. If zero this setting is ignored.

This setting helps prevent constant, minor updates to these values, particularly in volatile or trending markets, ensuring smoother trade management.

6.7.1 Settings -> Stop Management -> Trailing Stop

Trailing Stop

(setting name and default value: InpTradeTool_TrailingStopValue=0.00)

The Trailing SL (Stop Loss) setting enables dynamic adjustment of the stop loss as a trade moves into profit. It applies to both manual and automated trading when no Trailing Stop Script is defined. This feature helps lock in gains and minimize potential losses.

  • Manual Trading: The trailing stop adjusts the SL line on the chart based on price movement.
  • Automated Trading: The EA uses the Trailing Stop Script if defined; otherwise, this setting is applied.

If this setting is enabled and set to 0, the EA defaults to the initial stop loss value (SL) as the trailing stop.

Trailing Stop -> Units

(setting name and default value: InpTradeTool_TrailingStopValueUnits=0) // TradeToolStopUnits_ATR

  • ATR (0): The trailing stop distance is calculated by multiplying the specified value by the 14-period ATR (Average True Range) of the last closed bar.
  • HH/LL Bars (1): The trailing stop price is set to the highest high (for sells) or lowest low (for buys) over the specified number of bars, starting from the last closed bar.
  • Points (2): The trailing stop distance is measured in points from the current price.
  • Risk (3): The trailing stop distance is calculated as the specified value multiplied by the size of the initial SL (the difference between the entry price and the initial SL price).

Trailing Stop -> Enable

(setting name and default value: InpTradeTool_TrailingStopValueEnabled=false)

Enables/disables the Trailing SL setting.

Enable TS After BE

(setting name and default value: InpTradeTool_EnableTrailingStopAfterBreakeven=true)

The Enable TS After BE setting ensures that the trailing stop loss (TS) becomes active only after the position’s Stop Loss (SL) has been adjusted to the breakeven (BE) level. This feature allows the trade to reach a risk-free state before the trailing stop begins to lock in additional profits.

This setting helps manage risk effectively while allowing the trade room to develop before enabling the trailing stop mechanism.

Enable TS After Profit In Percent

(setting name and default value: InpTradeTool_EnableTrailingStopAfterProfitInPercent=0.0000)

The Enable TS After Profit In Percent setting ensures that the trailing stop loss (TS) becomes active only after the position has made the specified profit as a percentage of the account’s equity when the position was opened. Zero means ignore this setting.

6.8 Settings -> Exit Management

The Exit Management settings allow you to define conditions for automatically closing trades that do not meet specific performance criteria. This ensures trades are managed effectively, even under unfavorable conditions.

  • If a trade fails to achieve a specified number of points within a set timeframe, it can be automatically closed.
  • Additional options enable closing trades or orders based on profit or loss thresholds, account performance, or specific times of day or week.

These settings provide robust tools for managing risk and protecting profits in various market scenarios.

6.8.1 Settings -> Exit Management -> Take Profit

Take Profit

(setting name and default value: InpTradeTool_TakeProfitStopValue=2.00)

The Take Profit setting defines the target profit level for trades. It applies to both manual and automated trading when no TP Script is defined.

  • Manual Trading: The TP price is shown as the TP line on the chart and can be adjusted by dragging it.
  • Automated Trading: The EA uses the TP Script if defined; otherwise, this setting determines the take profit level.

Traders can disable this setting by setting its value to 0, which removes the TP for trades.

Take Profit -> Units

(setting name and default value: InpTradeTool_TakeProfitStopValueUnits=3) // TradeToolStopUnits_R

  • ATR (0): The TP distance is calculated by multiplying the specified value by the 14-period ATR (Average True Range) of the last closed bar.
  • HH/LL Bars (1): The TP price is set to the highest high (for buys) or lowest low (for sells) over the specified number of bars, starting from the last closed bar.
  • Points (2): The TP distance is measured in points from the entry price.
  • Risk (3): The TP distance is calculated as the specified value multiplied by the size of the SL (the difference between the entry price and the initial SL price).

Take Profit -> Enable

(setting name and default value: InpTradeTool_TakeProfitStopValueEnabled=true)

Enables/disables the Take Profit setting.

Soft TP

(setting name and default value: InpTradeTool_UseSoftTPs=false)

The Soft TP (Take Profit) setting allows the EA to monitor and close trades when the specified take profit level is reached, instead of relying on a broker-set hard TP. This provides flexibility in trade management but requires EAsiTrader to remain running to execute the soft TP.

Unlike a hard TP, which is enforced by the broker, the soft TP is managed entirely by the EA, making it ideal for strategies requiring custom handling of profit targets.

6.8.2 Settings -> Exit Management -> Breakeven

Breakeven

(setting name and default value: InpTradeTool_BreakevenStopValue=1.00)

The Breakeven (BE) setting moves a trade’s Stop Loss (SL) to the entry price once the market price reaches the specified breakeven level. This feature helps eliminate risk by ensuring the trade can no longer incur a loss, subject to slippage. If zero this setting is ignored.

  • Manual Trading: The breakeven price is displayed as the BE line on the chart for the primary market.
  • Automated Trading: The EA applies the Breakeven Script, if defined. Otherwise, it uses this setting to determine the breakeven value.

BE Units

(setting name and default value: InpTradeTool_BreakevenStopValueUnits=3) // TradeToolStopUnits_R

  • ATR (0): The breakeven distance is calculated as the specified value multiplied by the 14-period ATR (Average True Range) of the last closed bar.
  • HH/LL Bars (1): The BE price is set to the highest high (for buys) or lowest low (for sells) over the specified number of bars, starting from the last closed bar.
  • Points (2): The breakeven distance is measured in points from the entry price.
  • Risk (3): The breakeven distance is calculated as the specified value multiplied by the size of the initial SL (the difference between the entry price and the SL price).

Breakeven -> Enable

(setting name and default value: InpTradeTool_BreakevenStopValueEnabled=true)

Enables/disables the Breakeven setting.

6.8.3 Settings -> Exit Management -> Max Gain %

  • Each Market

    (setting name and default value: InpTradeTool_MaxGainMarketAsPercentageOfBalance=0.00)

    This setting automatically closes all open positions for the current market when the account balance increases by the specified percentage compared to the balance before any positions were opened for that market. If zero this setting is ignored.

  • All Markets

    (setting name and default value: InpTradeTool_MaxGainAccountAsPercentageOfBalance=0.00)

    This setting automatically closes all open positions across all markets when the account balance increases by the specified percentage compared to the balance before any positions were opened for any market. If zero this setting is ignored.

6.8.4 Settings -> Exit Management -> Min Points

Min Points Gain (1/2)

(setting name and default value: InpTradeTool_MinProfitInPoints=0)

Use this setting and setting Settings -> Exit Strategy -> Min Points Time (2/2) to close a position if it hasn’t made the minimum number of points in the specified period of time. This setting specifies the minimum number of points that must be made by a position within the specified period of time. If zero this setting is ignored.

Min Points Time (1/2)

(setting name and default value: InpTradeTool_MinProfitInPointsTimeInSeconds=0)

Use this setting and setting Settings -> Exit Strategy -> Min Points Gain (1/2) to close a position if it hasn’t made the minimum number of points in a specific period of time. This setting specifies the minimum period of time in seconds that the specified minimum number of points must be made for a position. If zero this setting is ignored.

6.9 Settings -> Indicators

The Indicators List allows you to manage the indicators used within your EAsiScript configurations. You can customize indicator settings and define which data buffers are accessible for use in your scripts.

Each indicator in the Indicators List is mapped in the Presets File to a InpTradeTool_CustomIndicator setting by number. The first indicator in the Indicators List will have the setting InpTradeTool_CustomIndicator0 and the second indicator in the Indicators List will have the setting InpTradeTool_CustomIndicator1, etc., etc.

Buttons

  • Edit: Modify the indicator’s creation string and specify the buffer numbers to be made available to your scripts. Note that for chart indicators, only the buffer numbers can be edited; the creation string cannot be changed. Select the indicator you want to edit before clicking Edit.
  • Add: Add a new custom indicator to the current profile.
  • Del: Remove a custom indicator from the Indicators List. Select the indicator you want to delete before clicking Del.

Note: Indicators must be enabled before they can be used in scripts.

6.10 Settings -> UserVARs

(setting name: InpTradeTool_UserVAR[n]=[current value];[comma separated set of values]) // [n]=variable number, 0-99

This control allows you to create, edit and delete your scripts’ user variables, VAR0-VAR99. See the EAsiScript User Guide for details on User Variables.

Controls
Vars = shows the currently selected UserVAR
+ = Creates a new UserVAR
- = Removes the currently selected UserVAR
Value = the currently selected UserVAR’s current value
Values = the currently selected UserVAR’s set of values. The set of values can be entered one by one separated with a comma, or entered in short form by entering [start]-[end]+[increment], e.g. 10,15,20,25,30 or 10-30+5. The short form will be automatically converted to long form when the focus is removed from the control.

6.11 Settings -> Backtesting & Optimisation

The Tester allows you to simulate trading strategies using historical tick data for one or more markets within the current profile. By processing this data over a selected date range, the Tester generates virtual trades based on the rules defined in your scripts and settings. This feature helps you evaluate the effectiveness of your strategies before applying them to live trading.

There are two modes available in the Tester:

  • Single Pass: Runs a single simulation on the selected market(s) using the current values of the UserVARs. The UserVARs are not updated after the simulation.
  • Optimise: Runs multiple simulations using different combinations of UserVAR values for each pass. The combination that achieves the best outcome, based on the selected performance metrics, is applied to the UserVARs. Changes made to the UserVARs affect only the current working profile and are not applied to the current live settings until the Apply button is clicked.

Simulation results can be viewed through the Tester’s sub-tabs, including Trades, Stats, Graphs, and Results, providing comprehensive insights into strategy performance.

Account Type

(setting name and default value: InpTradeTool_TesterAccountType=0) // TesterAccountType_Standard

The Account Type setting specifies whether the backtesting simulator assumes a Standard or Raw Spread account model. It influences how trading costs are applied to simulated trades, and how profit/loss lines for manual trade previews are calculated on the chart.

  • Standard (0): Simulates the wider spreads typically associated with Standard accounts by applying a fixed spread to each tick (see Spread setting below).
  • Raw Spread (1): Assumes interbank-like pricing with tight or zero spreads, and applies trading costs via commission (see Commission setting below).

Note: This setting has no effect on live trading. It is only used for backtesting simulations and SL/TP profit display when preparing manual trades on the chart.

Commission

(setting name and default value: InpTradeTool_TesterCommissionPerLot=0.00)

The Commission setting defines the round-trip commission (i.e. open + close) per standard lot (1.0), expressed in the account’s base currency. It is used to simulate trading costs for Raw Spread accounts, where spreads are tight and cost is charged separately.

  • The simulator subtracts this commission amount from the calculated profit or loss for each trade.
  • The value should reflect your broker’s commission structure for Raw Spread accounts (e.g. 7.00 = $7 per round trip).

Note: This setting is only used in backtesting and chart SL/TP line calculations. It has no effect during live trading, where actual commission is applied by the broker.

Spread

(setting name and default value: InpTradeTool_TesterSpreadInPoints=0.0)

The Spread setting defines a fixed spread (in points) to apply during backtesting. It simulates the cost of trading on a Standard account, where brokers earn via marked-up spreads.

  • The simulator uses raw historical tick data, which contains little or no spread.
  • If this setting is greater than zero, each tick’s bid and ask are adjusted as follows:
    • SimBid = TickBid - 0.5 * Spread * Point
    • SimAsk = TickAsk + 0.5 * Spread * Point

This artificially widens the spread for simulation purposes, ensuring realistic PnL and trade trigger behaviour under Standard account conditions.

Note: This setting is ignored for live trading and only affects simulations.

6.11.1 Settings -> Backtesting & Optimisation -> Tester

Starting Balance

(setting name and default value: InpTradeTool_TesterStartingBalance={ACCOUNT_BALANCE})

The Starting Balance setting specifies the account balance (in your broker’s account currency) at the beginning of a simulation run. By default, it uses your broker’s current account balance (ACCOUNT_BALANCE). Adjusting this value allows you to test strategies under different starting conditions.

Leverage

(setting name and default value: InpTradeTool_TesterLeverage={ACCOUNT_LEVERAGE})

The Leverage setting defines the account’s leverage ratio, such as 100:1. This ratio determines the margin requirement using the formula:
Margin Requirement = 1 / Leverage.

Higher leverage reduces the margin required for trades, allowing for larger positions, while lower leverage increases margin requirements. The Tester uses this setting to calculate the maximum lot size for trades. By default, it uses your broker’s current account leverage value (ACCOUNT_LEVERAGE).

Broker Spread

(setting name and default value: InpTradeTool_TesterBrokerSpreadInPoints={SYMBOL_SPREAD})

The Broker Spread setting simulates the spread (in points) applied to raw tick prices.

  • The ask price is calculated as the raw tick ask price plus half the spread.
  • The bid price is calculated as the raw tick bid price minus half the spread.

By default, the spread is initialized using the current symbol’s spread (SYMBOL_SPREAD) when a profile is reset (Markets->Buttons->Reset).

Filters Table

The Filters Table lists optimization filters applied during Tester or Optimiser runs. Each filter consists of:

  • A metric name (e.g., Balance, Drawdown).
  • Minimum and maximum values to evaluate performance.

After each simulation pass, the results are compared against these filters. Any combination of UserVAR values that falls outside the specified range is discarded, ensuring only high-performing configurations are retained.

6.11.2 Settings -> Backtesting & Optimisation -> Optimiser

The Optimiser allows you to fine-tune your trading strategies by adjusting UserVARs to find the best-performing configurations based on specified performance metrics. This tool helps you maximize the effectiveness of your scripts across different market conditions.

See Statistic Metrics for all possible performance metric values.

Optimiser Table

The Optimiser Table displays the following for each market in the current profile:

  • The results of the most recent optimization.
  • The date and time of the next scheduled optimization.
  • The date and time of the last completed optimization.

Buttons

  • Set Next Date: Specify the next date and time for optimization. If no market is selected, this applies to all markets in the profile.
  • Reset Dates: Reset the next optimization date and time according to the schedule settings.
    For both these buttons, selecting a market in the optimiser table first will apply to just the selected market otherwise it will apply to all markets.

Auto Optimise

(setting name and default value: InpTradeTool_OptimiseEnabled=false)

Enable this setting to schedule regular optimizations of UserVARs. The EA will automatically run the optimization process at the specified times, ensuring strategies remain effective.

Performance Metric 1, 2

(setting name and default value: InpTradeTool_OptimisePerformancsMetric1=1 // PerformanceMetric_Balance)
(setting name and default value: InpTradeTool_OptimisePerformancsMetric2=0 // PerformanceMetric_None)

The Performance Metric settings determine how the optimiser evaluates and selects UserVAR configurations.

  • Specify up to two metrics, such as Balance, Win Rate, or Drawdown.
  • The optimiser prioritizes the first metric when identifying the optimal combination, while also considering the second metric.

Buttons

  • Add: Add a new filter to the optimization process.
  • Edit: Modify an existing filter.
  • Del: Remove an existing filter.

Frequency

(setting name and default value: InpTradeTool_OptimiseFrequencyInWeeks=4)

Defines how often the optimiser runs, in weeks. For example, a frequency of 1 schedules the optimiser to run every week.

Day Of Week

(setting name and default value: InpTradeTool_OptimiseDayOfWeek=6)

Specifies the day of the week the optimiser is scheduled to start. 0=Sun, 1=Mon, 2=Tue, 3=Wed, 4=Thu, 5=Fri, 6=Sat

Hour Of Day

(setting name and default value: InpTradeTool_OptimiseHourOfDay=0)

Specifies the hour the optimiser begins.

Lookback

(setting name and default value: InpTradeTool_OptimiseLookbackInDays=90)

Determines the number of days of price history to use for optimization. A longer lookback period provides more historical data but may increase optimization time.

6.12 Settings -> Debugging

The EA includes several debugging flags that can be enabled or disabled to provide detailed information in the Experts Log. These flags help in diagnosing and troubleshooting various aspects of the EA’s operation. Below is a description of each available debugging flag:

CommonCode:
Description: Logs general information about the EA’s execution, including initialization and deinitialization processes.
Usage: Enable this flag to monitor the overall behavior and flow of the EA.
Series:
Description*: Logs data related to time series, such as price and time information.
Usage*: Useful for tracking how the EA processes and reacts to incoming market data.
Indicator:
Description*: Logs information about the indicators used by the EA, including their calculations and values.
Usage*: Enable this flag to debug issues related to indicator values and their impact on trading decisions.
Script:
Description*: Logs details about script execution within the EA.
Usage*: Useful for debugging custom scripts.
Trade:
Description*: Logs all trading operations, including order placement, modification, and closure.
Usage*: Enable this flag to monitor and debug trading activities and ensure they are executed as expected.
Optimiser:
Description*: Logs information related to the Optimiser.
Usage*: Useful for debugging and analyzing the performance of the EA during optimization runs.
Tester:
Description*: Logs information related to the Tester…
Usage*: Enable this flag to gather insights and debug issues encountered during historical data testing.
File:
Description*: Logs file operations performed by the EA, such as reading from or writing to files.
Usage*: Useful for debugging file I/O operations and ensuring data is correctly handled.

Enabling/Disabling Debugging Flags

To enable or disable a debugging flag, simply set the corresponding flag in the EA’s settings. The flags can be toggled on or off based on the specific debugging needs during the EA’s development and testing phases.

6.13 Settings -> EAsiScript

EAsiScript is a powerful scripting language integrated into EAsiTrader, enabling traders to create, test, and execute custom trading strategies. It provides flexibility and control by allowing traders to define scripts for actions such as opening trades, closing trades, setting stop loss and take profit levels, and managing trailing stops and breakeven points.

EAsiScript includes 14 customizable scripts, each designed for specific trading functions. These scripts can access live and historical price data, utilize indicator buffer data from any symbol and timeframe, and incorporate a wide range of built-in functions to implement sophisticated strategies.

You can manage and edit your EAsiScript configurations through the Settings -> Scripts dialog window. This interface provides tools to customize script behavior, optimise your trading approach, and ensure seamless integration with the EA.

This section lists the Functions, Operators and Variables you can use in your EAsiScript scripts. See the EAsiScript User Guide for instructions on how to create EAsiScript scripts.

Functions

Lists all EAsiScript functions with a description for each.

Operators

Lists all EAsiScript operators.

Variables

Lists all EAsiScript variables.

See the EAsiScript Manual for instruction on using EAsiScript.

7. Signals Tab

The Signals Tab provides a log of all live signals generated by entry scripts for the current profile. These signals are recorded when signal alerts are enabled for a market in EAsiTrader -> Markets. This tab helps you monitor and analyze trading signals in real-time.

Signal Information

The log displays the following details for each signal:

  • Time: The date and time the signal was generated.
  • Symbol: The trading symbol associated with the signal.
  • Timeframe: The timeframe of the signal’s market.
  • Direction: Whether the signal is for a Buy or Sell trade.
  • Price: The entry price of the trade.

Symbol List

Use the Symbol List dropdown to filter the log by a specific trading symbol, making it easier to focus on relevant signals.

Buttons

  • Delete All: Clears all entries from the signal log.

This tab is a valuable tool for tracking and reviewing signals, helping you refine your strategies and respond to market opportunities effectively.

8. Trades Tab

The Trades Tab provides a comprehensive view of all your trades, including those executed by the EA and those placed manually. This tab allows you to analyze your trading activity with detailed filters and breakdowns.

Filters

You can filter the trade list by:

  • Symbol: Focus on trades for a specific trading symbol.
  • Time: Narrow the list to trades executed within a specific time range.

Subsections

Trades -> Positions

Displays details about all your currently open positions, including entry price, stop loss, take profit, and unrealized profit or loss.

Trades -> Deals

Lists details of all completed trades, including entry and exit prices, trade duration, and realized profit or loss.

Trades -> Orders

Shows information about all pending orders, including type (Buy Stop, Sell Limit, etc.), price levels, and expiration times.

Trades -> Stats

Provides a statistical summary of your past trades, including key metrics such as win rate, average profit/loss, and drawdown.

Trades -> Graphs

Displays an equity curve for your trading activity, allowing you to visually analyze performance trends over time.

9. Tester Tab

The Tester allows you to simulate trades using historical tick data for one or more markets within the current profile. It processes the tick data over the selected date range and generates virtual trades based on the user’s rules defined by the the scripts and settings. There are two Tester functions:
Single Pass
The Tester runs a single pass on the selected markets using the UserVARs’ current values, if defined. The UserVAR values are not updated.
Optimise
The Tester runs multiple passes on the selected markets using a different combination of UserVAR values for each pass. After all passes the combination of UserVAR values that achieved the best outcome based on the performance metrics, is chosen and assigned to the UserVAR’s current value.

The results of a simulation can be viewed in the Tester sub-tabs: Trades, Stats, Graphs and Results.

Market-Independent Testing

In the Tester Tab, the optimization process uses Market-Independent Testing. This means:

  • Independent Market Evaluations: Each market is tested separately, and results are generated individually for each market.
  • No Simultaneous Multi-Market Trading: The tester does not execute trades across multiple markets simultaneously under one account, and no aggregated results are produced.

This ensures that performance metrics are specific to each market and remain independent of other markets.

Settings

Start Date

The date of the earliest tick in tick data history to start the simulation. The earliest date depends on the earliest tick data available for the current market. A warning is displayed if you attempt to select a date before the earliest available tick. Note, the Start date determines the start date that should be used in the simulation for all selected markets, regardless of timeframe.

End Date

The date of the latest tick in tick data history to end the simulation.

Optimise for

When choosing the Optimise function you can to select up to 2 performance metrics that determine the variable to use to achieve the best outcome. If two metrics are specified, the optimiser prioritizes the first metric while finding the best combination for both.

See Statistic Metrics for all possible performance metric values.

Buttons

  • Single Pass: Executes a single simulation pass on the selected market(s) using current UserVar values.
  • Optimise: Runs multiple passes, testing combinations of UserVar values to identify the best-performing configuration.
    Single Pass = runs a single pass on the selected market(s) in Settings->Markets.
    Optimise = runs multiple passes on the selected market(s) in Settings->Markets.
    Note: The time taken to complete Single pass and Optimise is subject to the complexity of the scripts, the number of UserVars and their range of values and the number of markets. This process could take many hours or more. It is not advisable to run these operations while trading as it will block all new events until the Tester is finished.

Checkboxes

  • All Selected Markets: Includes all markets listed under Settings Tab -> Markets in the simulation. If unchecked, only the current market is used.
  • Apply Filters: Applies the optimization filters defined under Tester -> Filters to each simulation pass.
  • All Passed Markets: Limits the simulation to markets that have passed their latest optimization run or have not been optimised before.

Note: After a simulation, each market receives an OptimisedState flag:

  • Undefined: No optimization has been performed.
  • Passed: At least one UserVar combination passed the filters.
  • Failed: No UserVar combinations met the filter criteria.

Trades

The Trades subsection lists all simulated trades generated during the last Tester run for the currently selected market. You can view trade details such as entry and exit prices, trade direction, profit or loss, and execution times. To analyze trades from a different market, switch to the desired market in Settings Tab -> Markets -> Current Market.

Stats

The Stats subsection provides a statistical summary of the simulated trades from the most recent Tester run for the selected market. Metrics include win rate, drawdown, average trade profit or loss, and other performance indicators. To view stats for another market, adjust the current market in Settings Tab -> Markets.

Graphs

The Graphs subsection displays an equity curve for the simulated trades from the last Tester run. The equity curve helps you visualize performance trends, showing how account balance evolved over the simulation period. Switch the current market in Settings Tab -> Markets to view equity curves for other markets.

Results

The Results subsection consolidates the stats for simulated trades across all selected markets from the last Tester run. This overview provides a comprehensive evaluation of strategy performance across multiple markets.

10. Info Tab

The Info Tab provides a detailed overview of key system properties, giving you quick access to essential trading environment data. This information is categorized into four sections:

  • Account Settings: Displays account-specific details such as account balance, equity, leverage, and margin.
  • Price Series Settings: Lists historical price data, including the number of available bars, symbol data, and timeframes.
  • Symbol Settings: Shows symbol-specific properties like tick size, contract size, spread, and trading hours.
  • Terminal Settings: Provides information about the terminal’s version, build, and other system-level details.

This tab is invaluable for understanding your trading environment and ensuring your strategies align with current market and system conditions.

11. HotKeys Tab

This tab shows a list of keyboard short cuts and their meanings that are recognised by the EA.

12. All EAsiTrader Settings

This table contains all settings used in EAsiTrader, along with their default values and descriptions.

Section & Setting Name Default Value Description
Header Section
InpTradeTool_Name Defaults Name of the settings profile.
InpTradeTool_Description General description of the profile.
InpTradeTool_Author Name of the preset file author.
InpTradeTool_Comments Author’s comments about the strategy.
InpTradeTool_PresetFile Defaults.set Specifies the preset file name.
InpTradeTool_Market Defines the markets included in this profile.
InpTradeTool_AIGenerated false Generated by an AI.
InpTradeTool_AIModel Defines the AI model that generated the preset file.
InpTradeTool_CategoryType 1 Category type of the trading profile.
InpTradeTool_SettingsVersion 1.000 Version number for the settings profile.
InpTradeTool_ChartImages Comma-separated list of MQL5 chart images for strategy visualisation (the part of the chart url after https://charts.mql5.com/)
Scripts Section
InpTradeTool_ScriptLongEntry Script for long entry conditions.
InpTradeTool_ScriptLongInitialStop Script for initial stop loss of long trades.
InpTradeTool_ScriptLongTrailingStop Script for trailing stop of long trades.
InpTradeTool_ScriptLongLots Script for position size of long trades.
InpTradeTool_ScriptLongTakeProfit Script for take profit of long trades.
InpTradeTool_ScriptLongBreakeven Script for breakeven of long trades.
InpTradeTool_ScriptLongExit Script for exiting long trades.
InpTradeTool_ScriptShortEntry Script for short entry conditions.
InpTradeTool_ScriptShortInitialStop Script for initial stop loss of short trades.
InpTradeTool_ScriptShortTrailingStop Script for trailing stop of short trades.
InpTradeTool_ScriptShortLots Script for position size of short trades.
InpTradeTool_ScriptShortTakeProfit Script for take profit of short trades.
InpTradeTool_ScriptShortBreakeven Script for breakeven of short trades.
InpTradeTool_ScriptShortExit Script for exiting short trades.
Risk Management Section
InpTradeTool_MaxRiskPerTradeInPercent 1.00 Defines the maximum risk per trade as a percentage of the account equity.
InpTradeTool_MaxRiskPerTradeInMoney 0.00 Specifies the maximum risk per trade in terms of the account’s base currency.
InpTradeTool_MaxLossMarketAsPercentageOfBalance 0.00 Automatically closes all open positions for the current market when the account balance decreases by this percentage.
InpTradeTool_MaxLossAccountAsPercentageOfBalance 0.00 Automatically closes all open positions across all markets when the account balance decreases by this percentage.
InpTradeTool_TrailMaxLoss false Dynamically adjusts the equity threshold for closing trades as profits increase.
InpTradeTool_DeviationInPoints 0 Maximum allowable price difference (in points) for market execution orders.
InpTradeTool_MinProfitInPoints 0 Specifies the minimum number of points a position must gain within a set period of time to avoid being closed.
InpTradeTool_MinProfitInPointsTimeInSeconds 0 Specifies the minimum time in seconds within which the specified minimum profit in points must be achieved.
Position Management Section
InpTradeTool_MaxLots 0.00 Defines the maximum position size (in lots) allowed per trade.
InpTradeTool_MaxOpenPositionsMarket 1 Specifies the maximum number of open positions allowed for each market.
InpTradeTool_MaxOpenPositionsSymbol 0 Sets a maximum limit for open positions across all markets with the same symbol.
InpTradeTool_MaxOpenPositionsAccount 0 Sets a global limit for open positions across all markets, regardless of symbol.
InpTradeTool_MaxOpenPositionsHour 0 Defines the maximum number of positions that can be opened in the same hour.
InpTradeTool_MaxOpenPositionsDay 0 Defines the maximum number of positions that can be opened in the same day.
InpTradeTool_MaxOpenPositionsWeek 0 Defines the maximum number of positions that can be opened in the same week. Sunday is the first day of the week.
InpTradeTool_MaxTradesPerUnitTime 0 Defines the maximum number of positions that can be opened within the specified time period.
InpTradeTool_MaxTradesUnitTimeInSeconds 0 Sets the minimum period of time (in seconds) within which the maximum number of positions can be opened.
InpTradeTool_MinTradeIntervalInSeconds 0 Specifies the minimum time required between opening consecutive positions.
InpTradeTool_MagicNumber 12345678 Unique identifier for trades executed by the EA.
Trading Rules Section
InpTradeTool_AutoTradeEnabled true Enables or disables automated trading by the EA.
InpTradeTool_AutoTradeRefreshMode 1 (EveryBar) Controls how frequently trade entry scripts are executed: Every Tick or Every Bar.
InpTradeTool_AllowedTradeTypes 0 Defines the types of trades allowed: Buys, Sells, or Both.
Time Management Section
InpTradeTool_StartOfDayTime 00:00 Sets the earliest time of day when the EA can open a trade.
InpTradeTool_EndOfDayTime 00:00 Sets the latest time of day when the EA can open a trade.
InpTradeTool_ClosePositionTimeOffsetInSeconds 0 Specifies a time offset (in seconds) relative to the end of the trading session for closing open positions.
InpTradeTool_CloseOrderTimeOffsetInSeconds 0 Specifies a time offset (in seconds) relative to the end of the trading session for closing pending orders.
InpTradeTool_ClosePositionAtEndOfDay false Automatically closes any open positions by the end of the last trading session of the day.
InpTradeTool_ClosePositionAtEndOfWeek false Automatically closes any open positions by the end of the last trading session of the week.
InpTradeTool_CloseOrderAtEndOfDay false Automatically closes any pending orders by the end of the last trading session of the day.
InpTradeTool_CloseOrderAtEndOfWeek false Automatically closes any pending orders by the end of the last trading session of the week.
Stop Management Section
InpTradeTool_InitialStopValue 3.00 Defines the initial stop loss value for trades.
InpTradeTool_InitialStopValueUnits 0 Units for initial stop loss (e.g., ATR, HH/LL Bars, Points).
InpTradeTool_TrailingStopValue 0.00 Enables dynamic adjustment of the stop loss as the trade moves into profit.
InpTradeTool_TrailingStopValueUnits 0 Units for trailing stop loss (e.g., ATR, HH/LL Bars, Points).
InpTradeTool_TrailingStopValueEnabled false Enables/disables the trailing stop setting.
InpTradeTool_EnableTrailingStopAfterBreakeven true Enables trailing stop loss only after reaching breakeven.
InpTradeTool_EnableTrailingStopAfterProfitInPercent 0.0000 Enables trailing stop loss only after position makes the specified profit.
InpTradeTool_UseSoftSLs false Replaces broker-set hard SL with an EA-monitored stop loss.
InpTradeTool_MinSLTPPriceChangeUnitsInPoints 10 Minimum price change required between SL and TP adjustments.
Exit Management Section
InpTradeTool_TakeProfitStopValue 2.00 Sets the take profit value for trades.
InpTradeTool_TakeProfitStopValueUnits 3 Units for take profit (e.g., ATR, HH/LL Bars, Points, Risk).
InpTradeTool_TakeProfitStopValueEnabled true Enables/disables the take profit setting.
InpTradeTool_UseSoftTPs false Replaces broker-set hard TP with an EA-monitored take profit.
InpTradeTool_BreakevenStopValue 1.00 Moves the stop loss to breakeven after the specified value is reached.
InpTradeTool_BreakevenStopValueUnits 3 Units for breakeven (e.g., ATR, HH/LL Bars, Points, Risk).
InpTradeTool_BreakevenStopValueEnabled true Enables/disables the breakeven setting.
InpTradeTool_MaxGainMarketAsPercentageOfBalance 0.00 Automatically closes all open positions for the current market when the account balance increases by this percentage.
InpTradeTool_MaxGainAccountAsPercentageOfBalance 0.00 Automatically closes all open positions across all markets when the account balance increases by this percentage.
Custom Indicators Section
InpTradeTool_CustomIndicator0 NTL\ABH(1,14,3).ex5,0,1 Average Bar Height (ABH) indicator.
InpTradeTool_CustomIndicator1 NTL\ADX(1,14).ex5,0,1,2,3 Average Directional Index (ADX) indicator.
InpTradeTool_CustomIndicator2 NTL\ADXW(1,14).ex5,0,1,2,3 Wilder’s Average Directional Index (ADXW) indicator.
InpTradeTool_CustomIndicator3 NTL\ATR(1,14).ex5,0 Average True Range (ATR) indicator.
InpTradeTool_CustomIndicator4 NTL\AutoFib(1,’’,‘0.0,0.236,0.382,0.5,0.618,0.762,1.0’,10,0,4,50,0,0,1.2,20,250,150,‘0.618,0.762’,0,0).ex5,0,1,2,3,4,5 Fibonacci retracement levels indicator.
InpTradeTool_CustomIndicator5 NTL\BB(1,20,2.0).ex5,0,1,2,3 Bollinger Bands indicator.
InpTradeTool_CustomIndicator6 NTL\HLines(1,’’,800,64,‘S2;R2’,2,0.3,0.5,100).ex5,0,1 Horizontal support and resistance indicator.
InpTradeTool_CustomIndicator7 NTL\JCP(1).ex5,0,1 Japanese Candlestick Pattern indicator.
InpTradeTool_CustomIndicator8 NTL\Keltner(1,20,1,2.25).ex5,0,1,2,3 Keltner Channel indicator.
InpTradeTool_CustomIndicator9 NTL\MA(1,50,1,200,1).ex5,0,1,2 Moving Average indicator.
InpTradeTool_CustomIndicator10 NTL\MACD(1,12,26,9).ex5,0,4 Moving Average Convergence/Divergence indicator.
InpTradeTool_CustomIndicator11 NTL\Markets(1).ex5,0 Market Open Times indicator.
InpTradeTool_CustomIndicator12 NTL\OsMA(1,12,26,9).ex5,0,1 Oscillator of Moving Average indicator.
InpTradeTool_CustomIndicator13 NTL\PL(1,16408,4).ex5 Pivot Lines indicator.
InpTradeTool_CustomIndicator14 NTL\PP(1).ex5,0,1,2,3,4,5 Pivot Points indicator.
InpTradeTool_CustomIndicator15 NTL\PSAR(1,0.02,0.2).ex5,0,1 Parabolic Stop and Reverse indicator.
InpTradeTool_CustomIndicator16 NTL\RSI(1,14,1,70,30).ex5,0,1 Relative Strength Index (RSI) indicator.
InpTradeTool_CustomIndicator17 NTL\Scalper(1,10000,0.7,10000,0.3,0.6,10000,0.5,0.3,10000,0.7,10,1,5.0,0.0,5000,1,1,1,26).ex5,0,1,2,3,4,5,6 Scalper indicator.
InpTradeTool_CustomIndicator18 NTL\Stochastic(1,5,3,3,80,20).ex5,0,1,2 Stochastic Oscillator indicator.
InpTradeTool_CustomIndicator19 NTL\ST(1,13,1.5).ex5,0,1 SuperTrend indicator.
InpTradeTool_CustomIndicator20 NTL\TLines(1,10,2,5,400,20,800,0.4,0.2,100,0).ex5,0,1,2,3,4 Trendlines indicator.
InpTradeTool_CustomIndicator21 NTL\TSI(1,13,21,8,25,-25,1).ex5,0,1,2 True Strength Index (TSI) indicator.
User Variables
InpTradeTool_UserVAR[n] [current value];[comma-separated list of all values] Specifies a user variable. [n] is variable number, starting from 0
Backtesting & Optimisation Section
InpTradeTool_TesterAccountType 0 Defines the account type used for backtesting. 0 = Standard, 1 = Raw Spread.
InpTradeTool_TesterCommissionPerLot 0.00 Sets the round-trip commission (in account currency) per standard lot for simulated trades.
InpTradeTool_TesterSpreadInPoints 0 Defines the fixed spread (in points) applied to tick data during simulation.
InpTradeTool_TesterStartingBalance 100000.00 Specifies the starting balance for the simulation.
InpTradeTool_TesterStartDate 0 Defines the start date for the simulation.
InpTradeTool_TesterEndDate 0 Specifies the end date for the simulation.
InpTradeTool_TesterLeverage 500 Sets the leverage used for the simulation.
InpTradeTool_TesterPerformanceMetric1 1 Specifies the primary performance metric.
InpTradeTool_TesterPerformanceMetric2 0 Specifies the secondary performance metric.
InpTradeTool_OptimiseEnabled false Enables automatic optimisation of UserVARs at scheduled intervals.
InpTradeTool_OptimisePerformanceMetric1 1 Specifies the primary performance metric.
InpTradeTool_OptimisePerformanceMetric2 0 Specifies the secondary performance metric.
InpTradeTool_OptimiseFrequencyInWeeks 4 Defines the frequency of optimization runs, in weeks.
InpTradeTool_OptimiseDayOfWeek 6 Specifies the day of the week to start optimization.
InpTradeTool_OptimiseHourOfDay 0 Specifies the hour of the day to start optimization.
InpTradeTool_OptimiseLookbackInDays 90 Specifies the number of days of price history used for optimization.
InpTradeTool_OptimiseLastDate 0 The last date an optimization was performed.
InpTradeTool_OptimiseNextDate 0 The next scheduled optimization date.
InpTradeTool_OptimiseFilter[n] [min];[max] Specifies min and max filter values for optimisation. [n] is the StatType value.
Debugging Section
InpTradeTool_DebugFlags 0 Flags for debugging options.
Other Section
InpTradeTool_ATRPeriod 14 Sets the period for the Average True Range (ATR) indicator.
InpTradeTool_ChartImports 0 Specifies chart imports: 0 for current, 1 for all visible symbols.
InpTradeTool_SymbolImports Defines a comma-separated list of symbols for imports.
Interface Section
InpTradeTool_GuiTabsFlagMask 63 Controls the visibility of GUI tabs in the interface.
InpTradeTool_LineWidth 1 Specifies the width of lines drawn on the chart.
InpTradeTool_LineStyle 2 Defines the style of lines drawn.
InpTradeTool_CPColor 16777215 Specifies the color for chart price lines.
InpTradeTool_SLColor 3487231 Specifies the color for stop-loss lines.
InpTradeTool_TPColor 65280 Specifies the color for take-profit lines.
InpTradeTool_BEColor 16776960 Specifies the color for breakeven lines.
InpTradeTool_SOColor 16777215 Specifies the color for stop-out lines.
InpTradeTool_LOColor 16777215 Specifies the color for limit order lines.
InpTradeTool_FontSize 9 Sets the font size for GUI elements.
InpTradeTool_ChartEdgeAlignment 1 Specifies chart alignment (0=Left, 1=Right).

13. EAsiTrader Preset Files

An EAsiTrader Profile consists of:

  1. One Main Preset File: Stored in the Files\EAsiTrader folder, this file contains settings common to all markets, both primary and secondary.
  2. One or more Overrides Preset Files: Stored in a sub-folder named after the main preset file (excluding its file extension). These files specify settings unique to individual markets (symbol and timeframe). Each overrides file is named based on the market’s symbol and timeframe, e.g., EURUSD_H1.set.

For example, if the main preset file is named Defaults.set, the Overrides Preset Files for specific markets are stored in a folder named Defaults. Each overrides file is named formed from the market’s symbol and timeframe, such as EURUSD_H1.set.

Main Preset File

The Defaults.set file is a main preset file automatically generated by EAsiTrader. It includes all available settings, grouped by functional sections, with their default values. The Defaults.set file is automatically created when EAsiTrader is loaded for the first time or when clicking the Reset button from the GUI. Any changes to this file will be overwritten when the file is reset. Resetting a profile will remove a profile’s overrides preset files.

Important: Defaults.set, shown below, serves as a template for creating customized preset configurations. It is the definitive format for EAsiTrader Preset Files. Adhere strictly to this structure when creating or editing the main preset file. Missing sections or mis-ordered settings may result in improper functioning or errors.

Defaults.set

;
; Section Header
;
InpTradeTool_Name=Defaults
InpTradeTool_Description=
InpTradeTool_Author=
InpTradeTool_Comments=
InpTradeTool_PresetFile=Defaults.set
InpTradeTool_Market=
InpTradeTool_AIGenerated=
InpTradeTool_AIModel=
InpTradeTool_CategoryType=1
InpTradeTool_SettingsVersion=1.000
InpTradeTool_ChartImages=
;
; Section Scripts
;
InpTradeTool_ScriptLongEntry=
InpTradeTool_ScriptLongInitialStop=
InpTradeTool_ScriptLongTrailingStop=
InpTradeTool_ScriptLongLots=
InpTradeTool_ScriptLongTakeProfit=
InpTradeTool_ScriptLongBreakeven=
InpTradeTool_ScriptLongExit=
InpTradeTool_ScriptShortEntry=
InpTradeTool_ScriptShortInitialStop=
InpTradeTool_ScriptShortTrailingStop=
InpTradeTool_ScriptShortLots=
InpTradeTool_ScriptShortTakeProfit=
InpTradeTool_ScriptShortBreakeven=
InpTradeTool_ScriptShortExit=
;
; Section Risk Management
;
InpTradeTool_MaxRiskPerTradeInPercent=1.00
InpTradeTool_MaxRiskPerTradeInMoney=0.00
InpTradeTool_MaxLossMarketAsPercentageOfBalance=0.00
InpTradeTool_MaxLossAccountAsPercentageOfBalance=0.00
InpTradeTool_TrailMaxLoss=false
InpTradeTool_DeviationInPoints=0
InpTradeTool_MinProfitInPoints=0
InpTradeTool_MinProfitInPointsTimeInSeconds=0
;
; Section Position Management
;
InpTradeTool_MaxLots=0.00
InpTradeTool_MaxOpenPositionsMarket=1
InpTradeTool_MaxOpenPositionsSymbol=0
InpTradeTool_MaxOpenPositionsAccount=0
InpTradeTool_MaxOpenPositionsHour=0
InpTradeTool_MaxOpenPositionsDay=0
InpTradeTool_MaxOpenPositionsWeek=0
InpTradeTool_MaxTradesPerUnitTime=0
InpTradeTool_MaxTradesUnitTimeInSeconds=0
InpTradeTool_MinTradeIntervalInSeconds=0
InpTradeTool_MagicNumber=123456789
;
; Section Trading Rules
;
InpTradeTool_AutoTradeEnabled=true
InpTradeTool_AutoTradeRefreshMode=1 // SeriesRefreshMode_EveryBar
InpTradeTool_AllowedTradeTypes=0 // AllowedTradeTypes_BuysAndSells
;
; Section Time Management
;
InpTradeTool_StartOfDayTime=00:00
InpTradeTool_EndOfDayTime=00:00
InpTradeTool_ClosePositionTimeOffsetInSeconds=0
InpTradeTool_CloseOrderTimeOffsetInSeconds=0
InpTradeTool_ClosePositionAtEndOfDay=false
InpTradeTool_ClosePositionAtEndOfWeek=false
InpTradeTool_CloseOrderAtEndOfDay=false
InpTradeTool_CloseOrderAtEndOfWeek=false
;
; Section Stop Management
;
InpTradeTool_InitialStopValue=3.00
InpTradeTool_InitialStopValueUnits=0 // TradeToolStopUnits_ATR
InpTradeTool_TrailingStopValue=0.00
InpTradeTool_TrailingStopValueUnits=0 // TradeToolStopUnits_ATR
InpTradeTool_TrailingStopValueEnabled=false
InpTradeTool_EnableTrailingStopAfterBreakeven=true
InpTradeTool_EnableTrailingStopAfterProfitInPercent=0.0000
InpTradeTool_UseSoftSLs=false
InpTradeTool_MinSLTPPriceChangeUnitsInPoints=10
;
; Section Exit Management
;
InpTradeTool_TakeProfitStopValue=2.00
InpTradeTool_TakeProfitStopValueUnits=3 // TradeToolStopUnits_R
InpTradeTool_TakeProfitStopValueEnabled=true
InpTradeTool_UseSoftTPs=false
InpTradeTool_BreakevenStopValue=1.00
InpTradeTool_BreakevenStopValueUnits=3 // TradeToolStopUnits_R
InpTradeTool_BreakevenStopValueEnabled=true
InpTradeTool_MaxGainMarketAsPercentageOfBalance=0.00
InpTradeTool_MaxGainAccountAsPercentageOfBalance=0.00
;
; Section Custom Indicators
;
InpTradeTool_CustomIndicator0=NTL\ABH(1,14,3).ex5,0,1
InpTradeTool_CustomIndicator1=NTL\ADX(1,14).ex5,0,1,2,3
InpTradeTool_CustomIndicator2=NTL\ADXW(1,14).ex5,0,1,2,3
InpTradeTool_CustomIndicator3=NTL\ATR(1,14).ex5,0
InpTradeTool_CustomIndicator4=NTL\AutoFib(1,’’,‘0.0,0.236,0.382,0.5,0.618,0.762,1.0’,10,0,4,50,0,0,1.2,20,250,150,‘0.618,0.762’,0,0).ex5,0,1,2,3,4,5
InpTradeTool_CustomIndicator5=NTL\BB(1,20,2.0).ex5,0,1,2,3
InpTradeTool_CustomIndicator6=NTL\HLines(1,’’,800,100,‘S2;R2’,35,0.0,0.5,100).ex5,0,1
InpTradeTool_CustomIndicator7=NTL\JCP(1).ex5,0,1
InpTradeTool_CustomIndicator8=NTL\Keltner(1,20,1,2.25).ex5,0,1,2,3
InpTradeTool_CustomIndicator9=NTL\MA(1,50,1,200,1).ex5,0,1,2
InpTradeTool_CustomIndicator10=NTL\MACD(1,12,26,9).ex5,0,4
InpTradeTool_CustomIndicator11=NTL\Markets(1).ex5,0
InpTradeTool_CustomIndicator12=NTL\OsMA(1,12,26,9).ex5,0,1
InpTradeTool_CustomIndicator13=NTL\PL(1,16408,4).ex5,0
InpTradeTool_CustomIndicator14=NTL\PP(1).ex5,0,1,2,3,4,5
InpTradeTool_CustomIndicator15=NTL\PSAR(1,0.02,0.2).ex5,0,1
InpTradeTool_CustomIndicator16=NTL\RSI(1,14,1,70,30).ex5,0,1
InpTradeTool_CustomIndicator17=NTL\Scalper(1,10000,0.7,10000,0.3,0.6,10000,0.5,0.3,10000,0.7,10,1,5.0,0.0,5000,1,1,1,26).ex5,0,1,2,3,4,5,6
InpTradeTool_CustomIndicator18=NTL\Stochastic(1,5,3,3,80,20).ex5,0,1,2
InpTradeTool_CustomIndicator19=NTL\ST(1,13,1.5).ex5,0,1
InpTradeTool_CustomIndicator20=NTL\TLines(1,10,2,5,400,20,800,0.4,0.2,100,0).ex5,0,1,2,3,4
InpTradeTool_CustomIndicator21=NTL\TSI(1,13,21,8,25,-25,1).ex5,0,1,2
;
; Section User Variables
;
;
; Section Backtesting & Optimisation
;
InpTradeTool_TesterAccountType=0 // AccountType_Standard
InpTradeTool_TesterCommissionPerLot=0.00
InpTradeTool_TesterSpreadInPoints=0
InpTradeTool_TesterStartingBalance=10000
InpTradeTool_TesterStartDate=0 // 1970.01.01 00:00
InpTradeTool_TesterEndDate=0 // 1970.01.01 00:00
InpTradeTool_TesterLeverage=100
InpTradeTool_TesterPerformanceMetric1=1 // PerformanceMetric_Balance
InpTradeTool_TesterPerformanceMetric2=0 // PerformanceMetric_None
InpTradeTool_OptimiseEnabled=false
InpTradeTool_OptimisePerformanceMetric1=1 // PerformanceMetric_Balance
InpTradeTool_OptimisePerformanceMetric2=0 // PerformanceMetric_None
InpTradeTool_OptimiseFrequencyInWeeks=4
InpTradeTool_OptimiseDayOfWeek=6
InpTradeTool_OptimiseHourOfDay=0
InpTradeTool_OptimiseLookbackInDays=90
InpTradeTool_OptimiseLastDate=0 // 1970.01.01 00:00
InpTradeTool_OptimiseNextDate=0 // 1970.01.01 00:00
;
; Section Debugging
;
InpTradeTool_DebugFlags=0
;
; Section Other
;
InpTradeTool_ATRPeriod=14
InpTradeTool_ChartImports=0 // IndicatorChartImports_Current
InpTradeTool_SymbolImports=
;
; Section Interface
;
InpTradeTool_GuiTabsFlagMask=63
InpTradeTool_LineWidth=1
InpTradeTool_LineStyle=2 // STYLE_DOT
InpTradeTool_CPColor=16777215 // clrWhite
InpTradeTool_SLColor=3487231 // 255,53,53
InpTradeTool_TPColor=65280 // clrLime
InpTradeTool_BEColor=16776960 // clrAqua
InpTradeTool_SOColor=16777215 // clrWhite
InpTradeTool_LOColor=16777215 // clrWhite
InpTradeTool_FontSize=9
InpTradeTool_ChartEdgeAlignment=1 // ChartEdgeAlignment_Right

Overrides Preset File

The file below is an example of an Overrides Preset File. The settings apply to just one market (symbol, timeframe) of a profile. The file’s name determines the market, e.g. EURUSD_H1 means the override settings apply to the EURUSD Hourly market. The settings listed in this file apply to EURUSD H1 and override the common settings in the main profile. Unlike the Main Presets File which lists all settings, the Overrides Preset File only lists those settings that are different to the Main Presets File.
;
; Section Backtesting & Optimisation
;
InpTradeTool_TesterBrokerSpreadInPoints=15
;
; Other Settings
;
; Section Tester
;
InpTradeTool_Tester=true

14. Rules for Creating Main Preset Files

  1. Include All Sections and Settings:
    • Include all sections and settings from Defaults.set, maintaining the exact order, even if some values are placeholders. Do not invent new sections or settings that are not in the template.
  2. Section Headers:
    • All sections must begin with a clear header (e.g., ; Section Header) to organize the file.
    • Add a blank ; line before and after the section header for readability.
  3. Settings Formatting:
    • Use the exact names, default values, and comments provided in the guide.
    • All settings must begin with InpTradeTool_.
    • If a setting is not required for a specific strategy, include it with a default or placeholder value.
  4. Markets
    • Define multiple markets in InpTradeTool_Market using a comma-separated list of symbol-timeframe pairs, e.g., InpTradeTool_Market=EURUSD H1,GBPUSD H1.
  5. Custom Indicators and Scripts:
    • Specify all custom indicators in the Custom Indicators section using their full path and configuration.
    • List indicators in numerical order, e.g. InpTradeTool_CustomIndicator0=, InpTradeTool_CustomIndicator1=, etc.
    • Prefix indicators that are used in scripts with +, e.g. InpTradeTool_CustomIndicator0=+NTL\MA(1,50,1,200,1).ex5,0,1,2.
    • Indicators that are not used in scripts may be omitted.
    • For scripts, provide a valid expression or leave the setting empty (InpTradeTool_Script...=) if not used.
  6. Units and Flags:
    • Clearly define units (e.g., ATR, Points) and flags (e.g., true or false) as per the example.
    • Always include comments to explain these values where applicable.
  7. Alignment with Strategy Description:
    • Each preset file should reflect the exact details of the trading strategy, ensuring settings such as risk, stop-loss, take-profit, and trading hours match the user’s requirements.
  8. Placeholder Values:
    • For settings that do not apply, use clear placeholders (e.g., 0, false, or a comment like // Not used).
  9. Testing and Optimization:
    • Include default settings for the Tester and Optimise sections, even if not used for the current strategy.
  10. Consistency:
    • Ensure consistent formatting, including equal spacing around = and alignment of comments.

Main Preset File Example

The file below is an example of a main preset file for a real strategy. Observe how it complies with the “Rules for Creating Main Preset Files”.
;
; Section Header
;
InpTradeTool_Name=Full Auto Fibonacci Retracement Strategy
InpTradeTool_Description=A fully automated Fibonacci retracement strategy, designed for optimal performance on most major and minor currency pairs on the 1-hour timeframe. Before running, ensure to optimise for profit and drawdown in Tester > Settings. For a semi-automated approach, you can manually adjust the take-profit levels to align with what we call ‘the most likely area for price to reach next,’ further enhancing your win rate.
InpTradeTool_Author=
InpTradeTool_Comments=
InpTradeTool_PresetFile=NTL-FibonacciRetracement.set
InpTradeTool_Market=Major Pairs, Minor Pairs, H1
InpTradeTool_AIGenerated=
InpTradeTool_AIModel=
InpTradeTool_CategoryType=1
InpTradeTool_SettingsVersion=1.000
InpTradeTool_ChartImages=41/911/usdchf-m30-raw-trading-ltd.png
;
; Section Scripts
;
InpTradeTool_ScriptLongEntry=Signal(‘AutoFib1’) == Bullish && Ask() > FibPrice(‘AutoFib1’,0.762) && Low() <= LL(15) && Ask() < HH(10) ? Ask() : 0
InpTradeTool_ScriptLongInitialStop=Ask() - (ATR1() * VAR0)
InpTradeTool_ScriptLongTrailingStop=
InpTradeTool_ScriptLongLots=
InpTradeTool_ScriptLongTakeProfit=
InpTradeTool_ScriptLongBreakeven=
InpTradeTool_ScriptLongExit=
InpTradeTool_ScriptShortEntry=Signal(‘AutoFib1’) == Bearish && FibPrice(‘AutoFib1’,0.762) > Bid() && High() >= HH(15) && Bid() > LL(10) ? Bid() : 0
InpTradeTool_ScriptShortInitialStop=Bid() + (ATR1() * VAR0)
InpTradeTool_ScriptShortTrailingStop=
InpTradeTool_ScriptShortLots=
InpTradeTool_ScriptShortTakeProfit=
InpTradeTool_ScriptShortBreakeven=
InpTradeTool_ScriptShortExit=
;
; Section Risk Management
;
InpTradeTool_MaxRiskPerTradeInPercent=1.00
InpTradeTool_MaxRiskPerTradeInMoney=0.00
InpTradeTool_MaxLossMarketAsPercentageOfBalance=0.00
InpTradeTool_MaxLossAccountAsPercentageOfBalance=0.00
InpTradeTool_TrailMaxLoss=false
InpTradeTool_DeviationInPoints=0
InpTradeTool_MinProfitInPoints=0
InpTradeTool_MinProfitInPointsTimeInSeconds=0
;
; Section Position Management
;
InpTradeTool_MaxLots=0.00
InpTradeTool_MaxOpenPositionsMarket=1
InpTradeTool_MaxOpenPositionsSymbol=0
InpTradeTool_MaxOpenPositionsAccount=0
InpTradeTool_MaxOpenPositionsHour=0
InpTradeTool_MaxOpenPositionsDay=0
InpTradeTool_MaxOpenPositionsWeek=0
InpTradeTool_MaxTradesPerUnitTime=0
InpTradeTool_MaxTradesUnitTimeInSeconds=0
InpTradeTool_MinTradeIntervalInSeconds=0
InpTradeTool_MagicNumber=123456789
;
; Section Trading Rules
;
InpTradeTool_AutoTradeEnabled=true
InpTradeTool_AutoTradeRefreshMode=1 // SeriesRefreshMode_EveryBar
InpTradeTool_AllowedTradeTypes=0 // AllowedTradeTypes_BuysAndSells
;
; Section Time Management
;
InpTradeTool_StartOfDayTime=00:00
InpTradeTool_EndOfDayTime=00:00
InpTradeTool_ClosePositionTimeOffsetInSeconds=0
InpTradeTool_CloseOrderTimeOffsetInSeconds=0
InpTradeTool_ClosePositionAtEndOfDay=false
InpTradeTool_ClosePositionAtEndOfWeek=false
InpTradeTool_CloseOrderAtEndOfDay=false
InpTradeTool_CloseOrderAtEndOfWeek=false
;
; Section Stop Management
;
InpTradeTool_InitialStopValue=3.00
InpTradeTool_InitialStopValueUnits=0 // TradeToolStopUnits_ATR
InpTradeTool_TrailingStopValue=4.00
InpTradeTool_TrailingStopValueUnits=0 // TradeToolStopUnits_ATR
InpTradeTool_TrailingStopValueEnabled=false
InpTradeTool_EnableTrailingStopAfterBreakeven=true
InpTradeTool_EnableTrailingStopAfterProfitInPercent=0.0000
InpTradeTool_UseSoftSLs=false
InpTradeTool_MinSLTPPriceChangeUnitsInPoints=10
;
; Section Exit Management
;
InpTradeTool_TakeProfitStopValue=1.00
InpTradeTool_TakeProfitStopValueUnits=3 // TradeToolStopUnits_R
InpTradeTool_TakeProfitStopValueEnabled=true
InpTradeTool_UseSoftTPs=false
InpTradeTool_BreakevenStopValue=1.00
InpTradeTool_BreakevenStopValueUnits=3 // TradeToolStopUnits_R
InpTradeTool_BreakevenStopValueEnabled=true
InpTradeTool_MaxGainMarketAsPercentageOfBalance=0.00
InpTradeTool_MaxGainAccountAsPercentageOfBalance=0.00
;
; Section Custom Indicators
;
InpTradeTool_CustomIndicator0=NTL\ABH(1,14,3).ex5,0,1
InpTradeTool_CustomIndicator1=NTL\ADX(1,14).ex5,0,1,2,3
InpTradeTool_CustomIndicator2=NTL\ADXW(1,14).ex5,0,1,2,3
npTradeTool_CustomIndicator3=+NTL\ATR(1,14).ex5,0
IInpTradeTool_CustomIndicator4=+NTL\AutoFib(1,’’,‘0.0,0.236,0.382,0.5,0.618,0.762,1.0’,10,0,4,50,100,0,1.2,20,40,150,‘0.618,0.762’,0,0).ex5,0,1,2,3,4,5
InpTradeTool_CustomIndicator5=NTL\BB(1,20,2.0).ex5,0,1,2,3
InpTradeTool_CustomIndicator6=NTL\HLines(1,’’,800,100,‘S2;R2’,35,0.0,0.5,100).ex5,0,1
InpTradeTool_CustomIndicator7=NTL\JCP(1).ex5,0,1
InpTradeTool_CustomIndicator8=NTL\Keltner(1,20,1,2.25).ex5,0,1,2,3
InpTradeTool_CustomIndicator9=NTL\MA(1,50,1,200,1).ex5,0,1,2
InpTradeTool_CustomIndicator10=NTL\MACD(1,12,26,9).ex5,0,4
InpTradeTool_CustomIndicator11=NTL\Markets(1).ex5,0
InpTradeTool_CustomIndicator12=NTL\OsMA(1,12,26,9).ex5,0,1
InpTradeTool_CustomIndicator13=NTL\PL(1,16408,4).ex5,0
InpTradeTool_CustomIndicator14=NTL\PP(1).ex5,0,1,2,3,4,5
InpTradeTool_CustomIndicator15=NTL\PSAR(1,0.02,0.2).ex5,0,1
InpTradeTool_CustomIndicator16=NTL\RSI(1,14,1,70,30).ex5,0,1
InpTradeTool_CustomIndicator17=NTL\Scalper(1,10000,0.7,10000,0.3,0.6,10000,0.5,0.3,10000,0.7,10,1,5.0,0.0,5000,1,1,1,26).ex5,0,1,2,3,4,5,6
InpTradeTool_CustomIndicator18=NTL\Stochastic(1,5,3,3,80,20).ex5,0,1,2
InpTradeTool_CustomIndicator19=NTL\ST(1,13,1.5).ex5,0,1
InpTradeTool_CustomIndicator20=NTL\TLines(1,10,2,5,400,20,800,0.4,0.2,100,0).ex5,0,1,2,3,4
InpTradeTool_CustomIndicator21=NTL\TSI(1,13,21,8,25,-25,1).ex5,0,1,2
;
; Section User Variables
;
InpTradeTool_UserVAR0=6;1,2,3,4,5,6,7,8,9,10
;
; Section Backtesting & Optimisation
;
InpTradeTool_TesterAccountType=0 // AccountType_Standard
InpTradeTool_TesterCommissionPerLot=0.00
InpTradeTool_TesterSpreadInPoints=0
InpTradeTool_TesterStartingBalance=100000
InpTradeTool_TesterStartDate=0 // 1970.01.01 00:00
InpTradeTool_TesterEndDate=0 // 1970.01.01 00:00
InpTradeTool_TesterLeverage=100
InpTradeTool_TesterPerformanceMetric1=1 // PerformanceMetric_Balance
InpTradeTool_TesterPerformanceMetric2=0 // PerformanceMetric_None
InpTradeTool_OptimiseEnabled=false
InpTradeTool_OptimisePerformanceMetric1=1 // PerformanceMetric_Balance
InpTradeTool_OptimisePerformanceMetric2=0 // PerformanceMetric_None
InpTradeTool_OptimiseFrequencyInWeeks=4
InpTradeTool_OptimiseDayOfWeek=6
InpTradeTool_OptimiseHourOfDay=0
InpTradeTool_OptimiseLookbackInDays=90
InpTradeTool_OptimiseLastDate=0 // 1970.01.01 00:00
InpTradeTool_OptimiseNextDate=0 // 1970.01.01 00:00
InpTradeTool_OptimiseFilter44=1000.00;0.00 // StatType_TotalProfit
;
; Section Debugging
;
InpTradeTool_DebugFlags=0
;
; Section Other
;
InpTradeTool_ATRPeriod=14
InpTradeTool_ChartImports=0 // IndicatorChartImports_Current
InpTradeTool_SymbolImports=
;
; Section Interface
;
InpTradeTool_GuiTabsFlagMask=63
InpTradeTool_LineWidth=1
InpTradeTool_LineStyle=2 // STYLE_DOT
InpTradeTool_CPColor=16777215 // clrWhite
InpTradeTool_SLColor=3487231 // 255,53,53
InpTradeTool_TPColor=65280 // clrLime
InpTradeTool_BEColor=16776960 // clrAqua
InpTradeTool_SOColor=16777215 // clrWhite
InpTradeTool_LOColor=16777215 // clrWhite
InpTradeTool_FontSize=9
InpTradeTool_ChartEdgeAlignment=1 // ChartEdgeAlignment_Right

15. Statistic Metrics

Statistic Metrics Table

This table shows all statistic metrics by their enumeration name, value, statistic name and their corresponding optimisation filter setting name. The optimisation filter settings, if any have been defined, are stored in the Optimise Section of the preset file and specify the metric type in their setting name.

Example
InpTradeTool_OptimiseFilter43=50;0 // StatType_TotalPoints

InpTradeTool_OptimiseFilter: the filter’s setting base name
42: the metric value for Total Points
50;0: the minimum and maximum filter values
StatType_TotalPoints: the metric’s enumeration name

Name Value Statistic Setting Name
StatType_AvAdverseExcursion 0 Av.Adverse Excursion As Percent InpTradeTool_OptimiseFilter0
StatType_AvLosingPoints 1 Av.Loss In Points InpTradeTool_OptimiseFilter1
StatType_AvPointsPerTrade 2 Av.Points Per Trade InpTradeTool_OptimiseFilter2
StatType_AvPointsPerDay 3 Av.Points Per Day InpTradeTool_OptimiseFilter3
StatType_AvPointsPerWeek 4 Av.Points Per Week InpTradeTool_OptimiseFilter4
StatType_AvProfitPerTrade 5 Av.Profit Per Trade InpTradeTool_OptimiseFilter5
StatType_AvProfitPerTradeDay 6 Av.Profit Per Trade Day InpTradeTool_OptimiseFilter6
StatType_AvTradeTimeInSeconds 7 Av.Trade Time InpTradeTool_OptimiseFilter7
StatType_AvTradesPerDay 8 Av.Trades Per Day InpTradeTool_OptimiseFilter8
StatType_AvTradesPerWeek 9 Av.Trades Per Week InpTradeTool_OptimiseFilter9
StatType_AvWinningPoints 10 Av.Win In Points InpTradeTool_OptimiseFilter10
StatType_Balance 11 Balance InpTradeTool_OptimiseFilter11
StatType_BreakevenRate 12 Breakeven Rate InpTradeTool_OptimiseFilter12
StatType_BreakevenTrades 13 Breakeven Trades InpTradeTool_OptimiseFilter13
StatType_ConsecutiveLosses 14 Consecutive Losses InpTradeTool_OptimiseFilter14
StatType_ConsecutiveWins 15 Consecutive Wins InpTradeTool_OptimiseFilter15
StatType_ConsistencyScore 16 Consistency Score InpTradeTool_OptimiseFilter16
StatType_Drawdown 17 Drawdown InpTradeTool_OptimiseFilter17
StatType_DrawdownDaily 18 Daily Drawdown InpTradeTool_OptimiseFilter18
StatType_Equity 19 Equity InpTradeTool_OptimiseFilter19
StatType_ExpectedValue 20 Expected Value InpTradeTool_OptimiseFilter20
StatType_LargestDailyLoss 21 Largest Daily Loss InpTradeTool_OptimiseFilter21
StatType_LargestDailyProfit 22 Largest Daily Profit InpTradeTool_OptimiseFilter22
StatType_LargestLoss 23 Largest Loss InpTradeTool_OptimiseFilter23
StatType_LargestLossInPoints 24 Largest Loss In Points InpTradeTool_OptimiseFilter24
StatType_LargestWin 25 Largest Win InpTradeTool_OptimiseFilter25
StatType_LargestWinInPoints 26 Largest Win In Points InpTradeTool_OptimiseFilter26
StatType_LongPoints 27 Long Points InpTradeTool_OptimiseFilter27
StatType_LosingLongs 28 Losing Longs InpTradeTool_OptimiseFilter28
StatType_LosingPoints 29 Losing Points InpTradeTool_OptimiseFilter29
StatType_LosingShorts 30 Losing Shorts InpTradeTool_OptimiseFilter30
StatType_LosingTrades 31 Losing Trades InpTradeTool_OptimiseFilter31
StatType_LossRate 32 Loss Rate InpTradeTool_OptimiseFilter32
StatType_OpeningBalance 33 Opening Balance InpTradeTool_OptimiseFilter33
StatType_ProfitFactor 34 Profit Factor InpTradeTool_OptimiseFilter34
StatType_RewardRiskRatio 35 Reward/Risk Ratio InpTradeTool_OptimiseFilter35
StatType_RFactor 36 R-Factor InpTradeTool_OptimiseFilter36
StatType_SharpeRatio 37 Sharpe Ratio InpTradeTool_OptimiseFilter37
StatType_ShortPoints 38 Short Points InpTradeTool_OptimiseFilter38
StatType_StandardDeviation 39 Standard Dev. InpTradeTool_OptimiseFilter39
StatType_TotalDays 40 Total Days InpTradeTool_OptimiseFilter40
StatType_TotalLongs 41 Total Longs InpTradeTool_OptimiseFilter41
StatType_TotalLosses 42 Total Losses InpTradeTool_OptimiseFilter42
StatType_TotalPoints 43 Total Points InpTradeTool_OptimiseFilter43
StatType_TotalProfit 44 Total Profit InpTradeTool_OptimiseFilter44
StatType_TotalShorts 45 Total Shorts InpTradeTool_OptimiseFilter45
StatType_TotalTrades 46 Total Trades InpTradeTool_OptimiseFilter46
StatType_TotalTradeTimeRatio 47 Total Trade Time Ratio InpTradeTool_OptimiseFilter47
StatType_TotalWinnings 48 Total Winnings InpTradeTool_OptimiseFilter48
StatType_UnrealizedPL 49 Unrealized P/L InpTradeTool_OptimiseFilter49
StatType_WinningLongs 50 Winning Longs InpTradeTool_OptimiseFilter50
StatType_WinningPoints 51 Winning Points InpTradeTool_OptimiseFilter51
StatType_WinningShorts 52 Winning Shorts InpTradeTool_OptimiseFilter52
StatType_WinningTrades 53 Winning Trades InpTradeTool_OptimiseFilter53
StatType_WinRate 54 Win Rate InpTradeTool_OptimiseFilter54
StatType_WinRatio 55 Win/Loss Ratio InpTradeTool_OptimiseFilter55

Performance Metrics Table

This table shows all performance statistic metrics by their enumeration name, value and statistic name. Up to 2 performance metric values can be specified and appear in the Optimise section of the preset file under the names InpTradeTool_OptimisePerformanceMetric1 and InpTradeTool_OptimisePerformanceMetric2.

Example
InpTradeTool_OptimisePerformanceMetric1=1 // PerformanceMetric_Balance
InpTradeTool_OptimisePerformanceMetric2=16 // PerformanceMetric_Drawdown

Name Value Statistic
PerformanceMetric_None 0 None
PerformanceMetric_Balance 1 Balance
PerformanceMetric_AvAdverseExcursion 2 Av.Adverse Excursion As Percent
PerformanceMetric_AvPointsPerTrade 3 Av.Points Per Trade
PerformanceMetric_AvPointsPerDay 4 Av.Points Per Day
PerformanceMetric_AvPointsPerWeek 5 Av.Points Per Week
PerformanceMetric_AvProfitPerTrade 6 Av.Profit Per Trade
PerformanceMetric_AvProfitPerTradeDay 7 Av.Profit Per Trade Day
PerformanceMetric_AvTradeTimeInSeconds 8 Av.Trade Time In Seconds
PerformanceMetric_AvTradesPerDay 9 Av.Trades Per Day
PerformanceMetric_AvTradesPerWeek 10 Av.Trades Per Week
PerformanceMetric_BreakevenRate 11 Breakeven Rate
PerformanceMetric_BreakevenTrades 12 Breakeven Trades
PerformanceMetric_ConsecutiveLosses 13 Consecutive Losses
PerformanceMetric_ConsecutiveWins 14 Consecutive Wins
PerformanceMetric_ConsistencyScore 15 Consistency Score
PerformanceMetric_Drawdown 16 Drawdown
PerformanceMetric_DrawdownDaily 17 Drawdown Daily
PerformanceMetric_ExpectedValue 18 Expected Value
PerformanceMetric_LargestDailyLoss 19 Largest Daily Loss
PerformanceMetric_LargestDailyProfit 20 Largest Daily Profit
PerformanceMetric_LargestLossInPoints 21 Largest Loss In Points
PerformanceMetric_LargestWinInPoints 22 Largest Win In Points
PerformanceMetric_LosingPoints 23 Losing Points
PerformanceMetric_LosingTrades 24 Losing Trades
PerformanceMetric_LossRate 25 Loss Rate
PerformanceMetric_RewardRiskRatio 26 Reward/Risk Ratio
PerformanceMetric_RFactor 27 R (Risk) Factor
PerformanceMetric_SharpeRatio 28 Sharpe Ratio
PerformanceMetric_StandardDeviation 29 Standard Deviation
PerformanceMetric_TotalPoints 30 Total Points
PerformanceMetric_TotalProfit 31 Total Profit
PerformanceMetric_TotalTrades 32 Total Trades
PerformanceMetric_WinningPoints 33 Winning Points
PerformanceMetric_WinningTrades 34 Winning Trades
PerformanceMetric_WinRate 35 Win Rate
PerformanceMetric_WinRatio 36 Win/Loss Ratio

16. Terms

This section defines key concepts and terms used in EAsiTrader to ensure a clear understanding of its features and functionality.

ABH

Average Bar Height. The ABH values are read from the ABH indicator. The Period of the ABH is determined by the indicator.

Bar Strength

The strength of a bar is determined by counting the number of preceding bars (to its immediate left) that have a higher low (for low bar strength) or a lower high (for high bar strength). The count stops when the first bar with a higher low (for low bar strength) or a lower high (for high bar strength) is encountered.

Primary Market

The symbol and timeframe pair that matches the chart’

Pivot Order

Ordering pivots ranks price highs and lows based on their significance. The higher the order, the more significant the price compared to lower-ordered pivots.

  • a 0 order high pivot is a bar without a lower high bar on its immediate left (older) and right (newer).
  • a 0 order low pivot is a bar without a higher low bar on its immediate left (older) and right (newer).
  • a 1 order high pivot is a bar with a lower high bar on its immediate left and right.
  • a 1 order low pivot is a bar with a higher low bar on its immediate left and right.
  • a 2 order high pivot is a bar with a 1 order high pivot on its left and right.
  • a 2 order low pivot is a bar with a 1 order low pivot on its left and right.
  • a 3 order pivot has a 2 order pivot on its left and right.
  • a 4 order pivot has a 3 order pivot on its left and right, and so on.

Secondary Market

Any symbol and timeframe pair that doesn’t match the chart’s symbol and timeframe.

Shift

The offset in bars from the latest bar. A shift value of zero means the latest bar, or latest unfinished bar. The EA always considers the latest bar to be unfinished (regardless of whether it is or not), i.e. only the open price is unchanging, unlike the high, low and close prices which can change.

A shift value of one means the bar before the latest bar, i.e. the latest finished bar, where the open, high, low and close prices will not change.

All functions, except Open(), Time(), Hour() and Minute() are blocked from accessing the latest bar, i.e. using a shift offset of 0. If 0 is used as a shift offset it is changed to one. The largest shift value is equal to the current total number of bars in the price series minus one.

Rev:15.4.2025 15:25