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.
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.
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.
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.
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.
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.
To avoid conflicts with the main chart, the Del key is disabled when editing text in text boxes. Please use the Backspace key instead.
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.
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.
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 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.
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.
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:
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.
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:
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.
In manual trading mode, you can switch between four order types using the following keyboard shortcuts:
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.
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.
To manage trade visibility:
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
.
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:
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.
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.
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.
This item displays the Markets Table which shows all markets in the current profile, along with three checkboxes for managing their behavior:
signals.sig
file for the profile, viewable under EAsiTrader -> Signals..set
files remain intact.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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(setting name and default value: InpTradeTool_MinTradeIntervalInSeconds=0)
Specifies the minimum time (in seconds) required between opening consecutive positions. Zero means ignore this setting.
(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.
(setting name and default value: InpTradeTool_RefreshMode=1 // SeriesRefreshMode_EveryBar)
The Refresh Mode setting controls how frequently trade entry scripts are executed:
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.
(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:
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(setting name and default value: InpTradeTool_InitialStopValueUnits=0) // TradeToolStopUnits_ATR
(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.
(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.
(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.
If this setting is enabled and set to 0
, the EA defaults to the initial stop loss value (SL) as the trailing stop.
(setting name and default value: InpTradeTool_TrailingStopValueUnits=0) // TradeToolStopUnits_ATR
(setting name and default value: InpTradeTool_TrailingStopValueEnabled=false)
Enables/disables the Trailing SL setting.
(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.
(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.
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.
These settings provide robust tools for managing risk and protecting profits in various market scenarios.
(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.
Traders can disable this setting by setting its value to 0
, which removes the TP for trades.
(setting name and default value: InpTradeTool_TakeProfitStopValueUnits=3) // TradeToolStopUnits_R
(setting name and default value: InpTradeTool_TakeProfitStopValueEnabled=true)
Enables/disables the Take Profit setting.
(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.
(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.
(setting name and default value: InpTradeTool_BreakevenStopValueUnits=3) // TradeToolStopUnits_R
(setting name and default value: InpTradeTool_BreakevenStopValueEnabled=true)
Enables/disables the Breakeven setting.
(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.
(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.
(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.
(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.
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.
Note: Indicators must be enabled before they can be used in scripts.
(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.
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:
Simulation results can be viewed through the Tester’s sub-tabs, including Trades, Stats, Graphs, and Results, providing comprehensive insights into strategy performance.
(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.
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.
(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.
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.
(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.
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.
(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.
(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).
(setting name and default value: InpTradeTool_TesterBrokerSpreadInPoints={SYMBOL_SPREAD})
The Broker Spread setting simulates the spread (in points) applied to raw tick prices.
By default, the spread is initialized using the current symbol’s spread (SYMBOL_SPREAD) when a profile is reset (Markets->Buttons->Reset).
The Filters Table lists optimization filters applied during Tester or Optimiser runs. Each filter consists of:
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.
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.
The Optimiser Table displays the following for each market in the current profile:
(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.
(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.
(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.
(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
(setting name and default value: InpTradeTool_OptimiseHourOfDay=0)
Specifies the hour the optimiser begins.
(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.
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.
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.
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.
Lists all EAsiScript functions with a description for each.
Lists all EAsiScript operators.
Lists all EAsiScript variables.
See the EAsiScript Manual for instruction on using EAsiScript.
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.
The log displays the following details for each signal:
Use the Symbol List dropdown to filter the log by a specific trading symbol, making it easier to focus on relevant signals.
This tab is a valuable tool for tracking and reviewing signals, helping you refine your strategies and respond to market opportunities effectively.
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.
You can filter the trade list by:
Displays details about all your currently open positions, including entry price, stop loss, take profit, and unrealized profit or loss.
Lists details of all completed trades, including entry and exit prices, trade duration, and realized profit or loss.
Shows information about all pending orders, including type (Buy Stop, Sell Limit, etc.), price levels, and expiration times.
Provides a statistical summary of your past trades, including key metrics such as win rate, average profit/loss, and drawdown.
Displays an equity curve for your trading activity, allowing you to visually analyze performance trends over time.
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.
In the Tester Tab, the optimization process uses Market-Independent Testing. This means:
This ensures that performance metrics are specific to each market and remain independent of other markets.
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.
The date of the latest tick in tick data history to end the simulation.
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.
Note: After a simulation, each market receives an OptimisedState flag:
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.
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.
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.
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.
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:
This tab is invaluable for understanding your trading environment and ensuring your strategies align with current market and system conditions.
This tab shows a list of keyboard short cuts and their meanings that are recognised by the EA.
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). |
An EAsiTrader Profile consists of:
Files\EAsiTrader
folder, this file contains settings common to all markets, both primary and secondary.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
.
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.
;
; 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
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
; Section Header
) to organize the file.;
line before and after the section header for readability.InpTradeTool_
.InpTradeTool_Market
using a comma-separated list of symbol-timeframe pairs, e.g., InpTradeTool_Market=EURUSD H1,GBPUSD H1
.Custom Indicators
section using their full path and configuration.InpTradeTool_Script...=
) if not used.true
or false
) as per the example.0
, false
, or a comment like // Not used
).Tester
and Optimise
sections, even if not used for the current strategy.=
and alignment of comments.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
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 |
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 |
This section defines key concepts and terms used in EAsiTrader to ensure a clear understanding of its features and functionality.
Average Bar Height. The ABH values are read from the ABH indicator. The Period of the ABH is determined by the indicator.
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.
The symbol and timeframe pair that matches the chart’
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.
Any symbol and timeframe pair that doesn’t match the chart’s symbol and timeframe.
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