Group Parameter Description
[0] Expert Advisor Magic Defines the expert advisor magic number, which uniquely identifies deals/trades executed by this EA.
[0] Expert Advisor Trading symbol Symbol in which trades will be executed. If no value is set, the defined strategy tester or chart symbol is defined. This is useful when operating on non-tradeable futures historical series or if your strategy demands acquiring data from one symbol (defined in the ST or in the chart), but trades on another one.
[0] Expert Advisor Get underlying symbol Gets the underlying symbol for the brazilian futures series (WIN and WDO). Only works in brazilian market. Should be set to false in ANY other case to avoid errors.
[0] Expert Advisor Note N Set observations to this specific EA. This is not used for the stategy and has no effect in the EA whatsoever.
[1] Trading Settings Trading mode Defines if the EA will have only one position at time or if it is allowed to open multiple positions whenever a new buy/sell signal is received. 
[1] Trading Settings Indicators timeframe Defines the global timeframe for indicators. This can be overriden in the specific indicator timeframe settings.
[1] Trading Settings Use start time Defines if Start time condition is allowed to be checked.
[1] Trading Settings Use end time Defines if End time condition is allowed to be checked.
[1] Trading Settings Use close time Defines if Close time condition is allowed to be checked.
[1] Trading Settings Start time Sets the start time so the EA can operate. This does include the time set (if you set it to 09h00 and you're operating on the M1 timeframe, the first candle evaluated will be the 09h00 candle).
[1] Trading Settings End time Sets the end time so the EA cannot open any new positions. This does not include the time set (if you set it to 15h00 and you're operating on the M1 timeframe, the EA will still be able to open new positions at 15h00; not anymore at 15h01).
[1] Trading Settings Close time Sets the close time so the EA cannot open any new positions and closes all open positions. This does not include the time set (if you set it to 17h00 and you're operating on the M1 timeframe, the EA will still be able to open new positions until 17h00 if the end time is not set otherwise; not anymore at 17h01, time at which all positions will also be closed).
[1] Trading Settings Ignore first day bar The EA will not evaluate the last candle of the day before. This means that the first buy/sell condition will be evaluated after the first candle of the day is closed.
[1] Trading Settings Indicator buffer update bars Defines how much data (in bars) shall be retrieved from the indicators. The default value is pretty much enough for most cases, but if you need to retrieve values older than the last 8 bars (including the current opening one), increase this value.
Setting a value lower than the required by the conditions you specify may return an Array out of range error.
[1] Trading Settings Show indicators on live chart If true, loads the indicators on live chart
[1] Trading Settings Show indicators while testing If true, shows indicators on the strategy tester visual mode
[1] Trading Settings Allow to modify existing trades If Enable, allows the EA to modify TP and SL levels. This is valid for any modification of take profit or stop loss, including trailing stops (not implemented) or breakeven (later section).
If
Disabled, even if any modification option is set, the EA will not modify the defined TP or SL when the position was opened.
[1] Trading Settings Reference price for TP/SL Defines the reference price to define take profit/stop loss in the Fixed mode. This is important to assure that strategy tester results are closer to the expected in real trading.
- TP/SL from current open states that take profit/stop loss is calculated from the current open price (default; this ensures the better results, because the position is always executed at the first tick of a new candle, i.e., the current open price);
- TP/SL from last close states that take profit/stop loss is calculated from the last close price (may be misleading, since the current open may not be equal to the last close in certain cases, specially in swing trading);
- TP/SL from bid/ask states that take profit/stop loss is calculated from the bid/ask (this would be the best option; however, bid/ask may differ a lot in strategy testing. Also, in real trading, this can put your tp/sl levels way above/below the desired level in a way that the order would be executed in the backtesting, but not in a real trading).
[2] Tester Settings Test type If the strategy tester optimization criteria is Custom Max, it returns the defined value in this variable. Always prefer Custom Max and define the optimization method this way, so the optimizing tests are faster.
[2] Tester Settings Allow functions on mode Allows Max Drawdown, Max trades, Max trade by trade drawdown and Max absolute balance loss on the specified testing mode.
[2] Tester Settings Max drawdown (%) Defines the maximum drawdown. If the EA detects a bigger drawdown, it immediately stops testing, significantly increasing the test speed.
[2] Tester Settings Max trades Defines the maximum number of trades. If the EA detects more trades, it immediately stops testing, significantly increasing the test speed.
[2] Tester Settings Max trade by trade drawdown Defines the maximum trade by trade drawdown (i.e., consecutive losses drawdown). If the EA detects a bigger trade by trade drawdown, it immediately stops testing, significantly reducing the test speed.
[2] Tester Settings Max absolute balance loss Defines the maximum balance loss. If the EA detects an absolute drawdown more than the specified value, it immediately stops testing, significantly reducing the test speed.
[2] Tester Settings Withdrawal condition If the user wants to simulate withdrawals while testing, set this condition to any value except None.
-
Withdraw Daily, Weekly and Monthly makes withdrawals every defined period;
-
Withdraw when balance is bigger/lower than makes withdrawals if balance is bigger/lower than the value in the variable Reference money to withdraw.
[2] Tester Settings Reference money to withdraw Defines the reference money to start withdrawing (example: if Withdrawal condition is Withdraw when balance is bigger than and Reference money to withdraw is 10.000, withdrawals will be made once a day, in the first candle, before the first trade, whenever the balance is bigger than 10.000).
[2] Tester Settings Withdrawal amount Defines the amount to withdraw.
[2] Tester Settings Deposit condition If the user wants to simulate deposits while testing, set this condition to any value except None.
- Deposit Daily, Weekly and Monthly makes deposits every defined period;
-
Deposit when balance is bigger/lower than makes deposits if balance is bigger/lower than the value in the variable Reference money to deposit.
[2] Tester Settings Reference money to Deposit Defines the reference money to start deposition (example: if Deposit condition is Deposit when balance is lower than and Reference money to deposit is 10.000, deposits will be made once a day, in the first candle, before the first trade, whenever the balance is lower than 10.000).
[2] Tester Settings Deposit amount Defines the amount to deposit.
[3] Indicators [3.N] Indicator Desired indicator from the list. The N indicates the index of the indicator which will be used in the signals/profit levels/trailing stops (0 = index 0, 1 = index 1, etc., up to 9 = index 9).
[3] Indicators [3.N] Path to custom indicator Sets the path to the custom indicator (it must be at MQL5\Indicators).
[3] Indicators [3.N] Indicator timeframe Timeframe at which the indicator will be launched. If this value is other than current, it overrides in the global Indicators timeframe input defined in the [1] Trading Settings section.
[3] Indicators [3.N] Param 1 1st indicator parameter. If it's a custom indicator, this parameter MUST be the amount of buffers in the indicator, and the 2nd parameter is actually the 1st parameter of the indicator and so on.
[3] Indicators [3.N] Param 2 2nd parameter.
[3] Indicators [3.N] Param 3 3rd parameter.
[3] Indicators [3.N] Param 4 4th parameter.
[3] Indicators [3.N] Param 5 5th parameter.
[3] Indicators [3.N] Param 6 6th parameter.
[3] Indicators [3.N] Param 7 7th parameter.
[3] Indicators [3.N] Param 8 8th parameter.
[3] Indicators [3.N] Param 9 9th parameter.
[4] Entry signals Allow buy signals Allow open buy positions. If false, no buy positions will be opened.
[4] Entry signals Allow sell signals Allow open sell positions. If false, no sell positions will be opened.
[4] Entry signals Buy signals filling mode Filling mode for buy signals.
If Fill all conditions, all defined conditions must be simultaneously met to open a new buy position;
If
Fill any conditions, any of the defined conditios must be met to open a new buy position, regardless of the others.
[4] Entry signals Sell signals filling mode Read the documentation for Buy signals filling mode.
[4] Entry signals Common signals filling mode Specifically for this parameter, if there are no common signals, this should be set to Fill any condition, otherwise, no position will be opened.
Read the documentation for
Buy signals filling mode. 
[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Series to compare Indicates the first series used for comparation. The X indicates the number of the signal (since there are the possibility to set 5 signals, it ranges from 1 to 5), mainly used for organization. The Y means the value to be compared; there are 2 values per signal, so it ranges from 1 to 2, and value 1 will be compared against value 2. If it results to true, and all other conditions are fullfiled according to the set filling mode, a buy signal is returned.
The series are defined as followed:
- Open, High, Low and Close return the defined series;
- Amplitude returns the amplitude (distance between high and low) of the candle;
- Amplitude (open-close) returns the open-close distance (candle body);
- Fixed returns no series, but a pre-defined user input value set in following variable;
- Indicator returns an indicator buffer, whose parameteres are defined in following variables;
- Tick volume returns the tick volume series;
- Real volume returns the real volume series.

[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Math operation to series Apply a mathematical operation to the series value with the value set in the variable Value. It can be one of the following:
- None: no operation is applied;
- Add: adds the series value to the value defined in Value;
- Sub: subtract the series value by the value defined in Value;
- Mult: multiply the series value by the value defined in Value;
- Div: divide the series value by the value defined in Value;
- Highest: gets the highest value. The start value is defined in the parameter Series Shift, while the count to search the highest value is defined by the variable Value (example: if Series Shift is 1 and Value is 7, it will search for the highest value, starting from the bar of index 1 to the bar of index 7, i.e., 7 bars back). If the series is specifically defined as Indicator, Series shift shall not be higher than the Indicator buffer update bars input, nor the sum of Series Shift and Value should be bigger than Indicator buffer update bars, otherwise, an Array out of range error may raise.
- Lowest: gets the lowest value. Behaves exactly as Highest parameter.
- Average: gets the simple average of the series. Behaves exactly as Highest and Lowest.
[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Value Value to be applied by a mathematical operation, according to the desired input Math operation to series.
[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Indicator index If Series to compare is set to Indicator Buffer, sets the indicator index from which to retrieve data (read [3.N] Indicator input for more info.). Has no effect otherwise.
[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Indicator buffer If Series to compare is set to Indicator Buffer, retrieves data from the buffer indicated by this input. Has no effect otherwise.
If
Indicator buffer is set to a value bigger than the amount of buffers of the selected indicator, it may result in an Array out of range error.
[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Series shift/Fixed price The bar to retrieve data, ranging from 0 to Indicator buffer update bars if Series to compare is set to Indicator; it ranges from 0 to the maximum amount of bars otherwise.
If
Series to compare is set to Fixed, this input defines the fixed value. This is particularly useful when the user wants to check if the data is under or above a certain level, like the common RSI 30 or 70 levels, Slow Stochastic 20 or 80 levels, etc.
[4.1] Buy signals
[4.2] Sell signals
[4.3] Common signals
[X.Y] Comparison method Defines the comparison method to evaluate the condition. If X.1 compares true against X.2, it may result in a buy signal.
[5.1] Order Type ----------------- Order type is not implemented yet and only orders at market are allowed. Changing input parameters shall have no effect.
[5.2] Take Profit
[5.3] Stop loss
Take profit calculation mode  Defines how take profit is calculated. It can be one of the following values:
[5.2] Take Profit
[5.3] Stop loss
Update take profit levels If true, it allows the recalculation of take profit levels.
If the next
Take profit series on both buy/sell is set to Fixed, this has no effect.
Otherwise, the take profit level will be updated to the new data of the selected series data.
Example: suppose you the order is opened with take profit on a moving average. Every candle, if this input is true, the take profit will be set to the new moving average value. If this is false, the take profit will remain the same as initially set.
[5.2] Take Profit
[5.3] Stop loss
Take profit series on both buy/sell Read the documentation for [X.Y] Series to compare.
Here there is the possibility to set this input to
Fixed bars, which corresponds to closing the position after N bars (defined by the input Fixed take profit/bars) have passed. N represents the number of closed bars after a position is opened.

Also, a few more options are added:
- Tick: tp/sl shall be a fixed value defined by the parameter Series shift/Fixed price. The value is represented by ticks (minimum price variation). So, if a price movements every 0.01, a tick represents 0.01, and 10 ticks representes 0.1, and so on;
- Balance %: tp/sl is calculated by a percentage (defined in the parameter Series shift/Fixed price) of the current balance. If you have a balance of U$ 10,000.00, take profit will be calculated so that if you win the trade, you win U$ 100.00, taking into account the current volume if you set this parameter at 1%;
- Price %: tp/sl is calculated by a percentage of the current price (defined in the parameter Series shift/Fixed price). If you are trading a stock that trades at U$ 10.00, the take profit will be set at U$ 0.10 cents from the price if you set this parameter at 1%.
- Money: tp/sl is calculated so that it is equal a certain money value (defined in the parameter Series shift/Fixed price);
- Absolute points: absolute price variation (defined by Series shift/Fixed price).

If this is set to
None, then the EA will ignore the next inputs and will search the specific inputs for buy and sell defined right afterwards.
[5.2] Take Profit
[5.3] Stop loss
Math operation Read the documentation for [X.Y] Math operation to series.
[5.2] Take Profit
[5.3] Stop loss
Value Read the documentation for [X.Y] Value.
[5.2] Take Profit
[5.3] Stop loss
Indicator index Read the documentation for [X.Y] Indicator index.
[5.2] Take Profit
[5.3] Stop loss
Indicator buffer on both buy/sell Read the documentation for [X.Y] Indicator buffer.
[5.2] Take Profit
[5.3] Stop loss
Series shift/Fixed price Read the documentation for [X.Y] Series shift.
[5.4] Trailing Stop ----------------- Trailing stop is not implemented and has no effect whatsoever.
[5.5.1] Volume Calculation type Method to set the volume for trades. It can be either:
- Fixed: volume the same as defined in Default lot size. It can be changed if you define operations to change volume on a profitable or losing operation. Otherwise, it is always the same.
- Balance percentage %: volume is calculated based on the stop loss level and a percentage of your balance defined by the input Default lot size. Say you have a balance of U$ 10,000.00 and sets the balance percentage volume as 1% of it. That means you want the stop loss to be 1% of your balance. If a tick corresponds, for example, to U$ 1.00 and the stop loss is 10 ticks away from the price, it means you would be risking U$ 10.00 as per minimum volume (let's say 1 lot). If 1% of your balance is U$ 100.00, then you could trade 10 lots in this operation, so you would risk 1% of your account.
[5.5.1] Volume Default lot size Parameter set according to the chosen Calculation type input.
[5.5.1] Volume Operation on loss Mathematical operation in case the last trade is a losing trade. This is ignored in case Calculation type is set as Balance percentage %.
[5.5.1] Volume Volume operation value on loss Value of the mathematical operation on loss.
[5.5.1] Volume Operation on profit Mathematical operation in case the last trade is a profitable trade. This is ignored in case Calculation type is set as Balance percentage %.
[5.5.1] Volume Volume operation value on profit Value of the mathematical operation on loss.
[5.5.1] Volume Maximum volume Maximum volume possible after mathematical operations.
[5.5.1] Volume Minimum volume Minimum volume possible after mathematical operations. If 0, the minimum volume is the minimum for the instrument.
[5.5.1] Volume Reset to init volume on loss Resets the volume set by a mathematical calculation to the initial volume originally defined by Default lot size after a losing trade. Has no effect in case Calculation type is set as Balance percentage %.
[5.5.1] Volume Reset to init volume on profit Resets the volume set by a mathematical calculation to the initial volume originally defined by Default lot size after a profitable trade. Has no effect in case Calculation type is set as Balance percentage %.
[5.5.2] Money Stop calculation type Defines the method to calculate the values to stop trading in the period. Currently only Money is available, which means that after a certain level of profit/loss is reached, it stops trading until the condition is renewed.
[5.5.2] Money Stop trading period Defines the period to stop trading. It can be Daily, Weekly or Monthly.
[5.5.2] Money Max profit in the period Sets the maximum profit to stop trading in the period defined by Stop trading period input. If set to 0, this parameter is ignored.
[5.5.2] Money Max loss in the period Sets the maximum loss to stop trading in the period defined by Stop trading period input. If set to 0, this parameter is ignored.
[5.6] Breakeven Percent from price Breakeven will trigger if the price reaches a certain % from the entry price. The calculation is the following: (Absolute(close-entry_price)/(Absolute(tp-entry_price) * 100) > Percent from price. If this expression resolves to true, breakeven is triggered.
Make sure the parameter Allow to modify existing trades in the section [1] Trading Settings is set to true, otherwise the EA will not be able to modify the existing positions and thus the stop loss will not be moved to breakeven.