Plan Maker

5%

What ESB Plan Maker does?

Plan Maker helps to automate your Forex Strategy. It creates a set file which you can feed it to EasyStrategyBuilder. There are couple of options which you need to set to tell ESB how your plan exactly works. In fact, Plan Maker is a kind of helper for build a set file for ESB. If you know ESB settings, you should be totally familiar with all settings here. Actually, all questions here are exactly same as ESB settings.

If it’s same as ESB settings, why I should use this?

In Meta Trader, the user interface is very rigid and making dynamic interface is impossible. We made plan maker to make the life easier to build and automate your Forex strategy and using a simple mobile phone also you can make a Forex auto trading robot.

What Plan Maker builds at the end?

It makes a zip file which includes two SET files, one for MT4 and one for MT5. you need to download the zip file and unzip the files and copy them somewhere in your computer. No Compile or anything else is needed. Open Meta Trader and open ESB settings and load the SET file and leave the rest to ESB.

Any other options?

You can also Order Your Forex Strategy and we will implement it using ESB and will send a set file to you.

If you are ready to make a Forex Robot, click on Next!

The name of your robot. Choose unique name and preferably less than 6 characters.
Magic number of your robot. Try to choose a unique number. In case of duplicated magic numbers, may be robot consider other robot’s orders as its own orders!

Main Settings

If your strategy requires checking the entering conditions for every price tick, then choose the “per tick” option. And if your strategy is per candle for entering point, then choose “per Candle”
if your strategy is per candle for checking entry points, then you should choose your “Checking Timeframe” in the this option. For example, if you set it on M5 it will check entering conditions every time an M5 candle is closed.
For marking or checking the entry points instead of running an expert, you can set “No Action” or “Indicator Mode” option which acts just as an indicator (in indicator mode, ESB doesn’t care to any limitation like time limitations or sessions or news and mark all entries on chart). For marking entry points just set the relating setting (Buy/Sell, Martingale, Grid) to true. In “Logger Mode” ESB just logs the signals and indicators in log files without any trading. You’ll normally need your strategy to work via a VPS in order to be safe 24/7.

Mark all entry points on the chart. You can set mark object style and graphical options in advanced settings

Notify (directly in your phone or by alarm or message box) when entering a new position or rally

Set this option true, ESB predicts ticks for updating indicators value and by this way, the volume of computations decreases and the backtest will be faster but, a little bit lower accuracy depending on plans. This option affects results only in the backtest.

Maximum number of open positions and open rallies for martingale and grid can be set by this option. Suppose you select “Buy and Sell” as type of action and you set 2 for this parameter and suppose we have two open trades now. If ESB get a new entry signal, rejects it! You must check this option every time implement a plan. Suppose you write a candle based plan that opens trade every time RSI is bigger than 70. If RSI goes up and crosses 70, ESB enters new trade. If you don’t set “Max Open Positions”, when new candle is received, ESB checks RSI again and if RSI is still greater than 70, opens a new trade again. Now, imagine your plan is “Tick Based”, ESB can open hundreds of trades per hour!

STEP 1 – Set Indicators

name of the indicator. Name have to use only alphabets, numbers and underline sign. It must start with alphabet letter and can not be a keyword.
type of the indicator.
Symbol that indicator is applied on. If you leave this field empty, it automatically works on the pair that the expert is working on, and in back test it works on your selected currency pair.
Time frame of the symbol that indicator is applied on
Number of candle for indicator value. This field is different with indicator’s shift caz indicator’s shift can be set in custom parameters. The shift of current candle is zero. The previous candle with shift number 1 and the one before that 2 and then 3 and so on. for example, if you need value of RSI for 3th candle, just set shift to 3. ESB also supports another type of shift that can be useful for gathering indicator value for a group of candles. In this case, you can set shift by this format: Start, End, [min | max | ave | sum | pi | and | or] That means you want minimum or maximum or average or sum or multiply or “and” of them or applied “or” of candle values from start candle number to end candle number. For example, if you create a moving average and set shift to “1,10,max”, this returns maximum of moving average from candle 1 to candle 10. “1,10,ave” returns average of moving average from candle 1 to candle 10 and “1,10,sum” returns their sum and so on. Note that if use shift for expressions, you must add “[SHIFT]” everywhere in expression that need to check. For example if you want to be ensure that MA1 is less than MA2 for last 10 candles, create expression and set shift by “1,10,and” and write expression like this: MA1[SHIFT]<MA2[SHIFT]. This type of expression checks conditions from shift 1 to shift 10 and then get result by calculating like this: (MA1[1]<MA2[1] and MA1[2]<MA2[2] and MA1[3]<MA2[3] and … and MA1[10]<MA2[10]) You can also write expressions as Start and End. For example "3*ind1-10 , exp3 , MAX". This is very useful for creating complicated plans.
Period of the indicator. Your indicator may have a period number for example you can set the period of your moving average to 14.
determines the applied price which can be open, median, closed, low or high of a candle.
In bottom of the parameters you can see all required parameters. set your preferred numbers in order, according to their fields. And they are separated from each other by commas. For example if you create a MACD indicator, the parameters are “fast ema,slow ema,macd sma”. That means it has 3 parameters. For setting these parameters, just write like “12,26,9” in “Parameters” field. This mean you set: fast ema=12 and slow ema=26 and macd sma=9. All parameters have a default value; ESB uses its default values in case you don’t set them manually. In case you want to give value to some of the parameters for an expression, you write the “parameter name=value” for the ones you want to change its value and keep in default values for rest of them. For example, you can write “slow ema=26” in parameters field. This mean you want to update only “slow ema” parameter to 26 and other parameters use their default values. You also can write “fast ema=12,macd sma=9” for updating two of them.

Valid Keywords for Parameters (start time and end time)

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

STEP 2 - Set Entry Expressions

the conditions for entering a buy position. the expression have to be logical.
the conditions for entering a sell position. the expression have to be logical.

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

STEP 3 - Set TP/SL

Take Profit Settings

If your plan doesn't set Takeprofit leave this on "Not Set" value. Otherwise, you have set on other types includes: Fixed Distance: It means that your TP has fixed distance to open price. Set by Candle High/Low: As it sounds, Set TP by High or Low of Nth previous candle. The ESB decides to using High or Low. Set by Candle Open/Close: Set TP by open or close of Nth previous candle. Set by Expression: If TP of your plan operates different, set it using "Buy/Sell Expression".
TP has fixed distance to open price. This parameter must set to desired distance in points.
The index of previous candle for get Open/Close or High/Low (shift of the current candle is zero, one candle before is one and so on). The ESB decides to using which property as TP
ESB calculate this expression and set TP for buy positions by its result. Note that this is function expression not logical expression. Write like a formula and ESB uses its result. For example: MA1 – 10pips or Close[2] or IND2 or anything else
ESB calculate this expression and set TP for sell positions by its result. Note that this is function expression not logical expression. Write like a formula and ESB uses its result. For example: MA1 – 10pips or Close[2] or IND2 or anything else

Stop Loss Settings

If your plan doesn't set Stoploss leave this on "Not Set" value. Otherwise, you have set on other types includes: Fixed Distance: It means that your SL has fixed distance to open price. Set by Candle High/Low: As it sounds, Set SL by High or Low of Nth previous candle. The ESB decides to using High or Low. Set by Candle Open/Close: Set SL by open or close of Nth previous candle. Set by Expression: If SL of your plan operates different, set it using "Buy/Sell Expression".
SL has fixed distance to open price. This parameter must set to desired distance in points.
The index of previous candle for get Open/Close or High/Low (shift of the current candle is zero, one candle before is one and so on). The ESB decides to using which property as SL
ESB calculate this expression and set SL for buy positions by its result. Note that this is function expression not logical expression. Write like a formula and ESB uses its result. For example: MA1 – 10pips or Close[2] or IND2 or anything else
ESB calculate this expression and set SL for sell positions by its result. Note that this is function expression not logical expression. Write like a formula and ESB uses its result. For example: MA1 – 10pips or Close[2] or IND2 or anything else

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

Current Order Functions

STEP 4 - Money Management

For calculating position volume, first of all, ESB needs to know what is the base of its calculations. This can be determined here. If you select "Automatic" the ESB chooses the lowest amount as base of its calculations because of safety and lowering risk. For example, if total of current positions are in loss, uses equity and if we are in profit, it uses balance for money management and calculation of volume!
There are three modes for calculation of volume: Fixed Volume: A fixed lottage for all positions that can be set by "Fixed Lottage" parameter. Compound: A percentage is set by "Risk" parameter. The volume of position is adjusted so that if the stop is reached your account draw-down will be about this percentage. Suppose you set balance as base of calculations and your account balance is 10000$ and Stoploss of position is 10pips. If you set risk on 2% (200$) the volume is set to 0.02 lot. Therefore, if Stoploss reaches, balance is reduced by 2%. Note that if position doesn't have Stoploss, the volume is calculated by a percentage of base balance. Compound by balance: The volume of position is adjusted by a percentage of account (balance, equity or free margin) that is set by "Risk" parameter. By Expression: ESB calculates the "Lottage Expression" and uses it as lottage of order. If result is zero it uses Compound Lottage and if it was also zero, then ESB uses Fixed Lottage as volume of trade.
A fixed lottage for all positions
A percentage is set by "Risk" parameter. The volume of position is adjusted so that if the stop is reached your account drawdown will be about this percentage. Suppose you set balance as base of calculations and your account balance is 10000$ and Stoploss of position is 10pips. If you set risk on 2% (200$) the volume is set to 0.02 lot. Therefore, if Stoploss reaches, balance is reduced by 2%. Note that if position doesn't have Stoploss, the volume is calculated by a percentage of base balance. if you select auto, the volume of position is adjusted by a percentage of account (balance, equity or free margin) that is set by "Risk" parameter.
ESB calculates this Expression and uses it as lottage of order. If result is zero or less than zero, it uses Compound Lottage and if it was also zero, then ESB uses Fixed Lottage as volume of trade.

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

STEP 5 - Close Expressions

The mode of checking for close conditions. This means that ESB have to check close conditions per each candle or per each tick.
if close condition must be checked per candle, set time frame for checking desired conditions
write a logical expression for buy positions. The ESB checks this conditions for every tick or every candle as you set, and if the result of expressions is true closes those buy positions. leaving empty, ESB don't check any condition.
write a logical expression for sell positions. The ESB checks this conditions for every tick or every candle as you set, and if the result of expressions is true closes those sell positions. leaving empty, ESB don't check any condition.

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

Current Order Functions

STEP 6 - Break Even Options

Half Break Even

In terms of price action, half break-even is the level at which the risk on the trade is reduced by half. Here you can set when ESB does half break-even. The ESB supports different type of half break-even. After Fixed Distance: if this mode is selected, ESB will do HBE after a fixed distance that is set by "Fixed Distance" parameter that must be set in points. By SL Ratio: In this case ESB moves Stoploss after price moves in profit by a proportion of Stoploss. This proportion can be set by "SL Ratio" parameter. By TP Ratio: Like previous mode but by proportion of Takeprofit. This proportion can be set by "TP Ratio" parameter. By Expressions: If HBE of your plan operates in different condition, set it using "Buy/Sell Expression".
Set ESB check conditions of HBE per every candle or per every tick.
time frame for Checking condition of half break-even
ESB will do HBE after a fixed distance that is set by this parameter. This parameter must be set in points.
In this case ESB moves Stoploss after price moves in profit by a proportion of Stoploss. This proportion can be set here. for example if stoploss is 200 points and you set ratio on 0.5 then after 100 points it will triggered.
In this case ESB moves Stoploss after price moves in profit by a proportion of Takeprofit. This proportion can be set here. for example if TP is 200 points and you set ratio on 0.5 then after 100 points it will triggered.
ESB check this condition and as it will be true, move stoploss of the those buy positions to half of its origin.
ESB check this condition and as it will be true, move stoploss of the those sell positions to half of its origin.

Break Even

In terms of price action, break-even is the level at which the risk on the trade is zero. Here you can set when ESB does break-even an open position. The ESB supports different type of break-even. After Fixed Distance: if this mode is selected, ESB do BE after a fixed distance that is set by "Fixed Distance" parameter that have to set in points. By SL Ratio: In this case ESB moves Stoploss after price moves in profit by a proportion of Stoploss. This proportion can be set by "SL Ratio" parameter. By TP Ratio: Like previous mode but by proportion of Takeprofit. This proportion can be set by "TP Ratio" parameter. By Expressions: If BE of your plan operates in different condition, set it using "Buy/Sell Expression".
Set ESB check conditions of BE per every candle or per every tick.
time frame for Checking condition of break-even
ESB will do BE after a fixed distance that is set by this parameter. This parameter must be set in points.
In this case ESB moves Stoploss after price moves in profit by a proportion of Stoploss. This proportion can be set here. for example if stoploss is 200 points and you set ratio on 0.5 then after 100 points it will triggered.
In this case ESB moves Stoploss after price moves in profit by a proportion of Takeprofit. This proportion can be set here. for example if TP is 200 points and you set ratio on 0.5 then after 100 points it will triggered.
In breakeven, ESB moves Stoploss to exactly open price. Offset sets the number of the points for distance between open price and Stoploss. For example, if it is a buy position and offset is 19, then ESB moves Stoploss to 19 points higher than open price. This helps to not lose even a few cents. If offset is set on -1, ESB automatically adds the spread and commission to find the offset. Offset accepts expression as well
ESB check this condition and as it will be true, move stoploss of the those buy positions on open price.
ESB check this condition and as it will be true, move stoploss of the those sell positions on open price.

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

Current Order Functions

STEP 7 - Trailing Stop Settings

General Options

Set ESB check conditions of trailing start,step,stop per every candle or per every tick.
time frame for Checking condition of trailing start,step,stop
the minimum distance of stoploss to current price. ESB will keep stoploss on this distance if SL wants to be closer than this to current price

Trailing Start

Every time this condition is met, the trailing process will start.

There are many modes for determining conditions of start trailing. Start After Fixed Distance: Start trailing after price moves fixed number of points in profit that is determined by "Fixed Distance" parameter. Start After Fixed Profit: Start trailing after price moves fixed profit (in account currency) that is determined by "Fixed Profit" parameter Start After N SL: In this case ESB starts trailing after price moves in profit by a proportion of Stoploss. This proportion can be set by "SL Ratio" parameter. Start After N ATR Ratio: ESB starts trailing after price moves in profit by a proportion of ATR indicator. This method is very popular between traders. The proportion can be set by " ATR ratio(N)" parameter. There is also a parameter for set "ATR Period". Start When Expressions: If any above modes can't handle your condition of trailing start, you can define "Buy/Sell Expression". The ESB checks this conditions and as them will be true, starts trailing.
ESB will start trailing after a fixed distance that is set by this parameter. This parameter must be set in points.
ESB will start trailing after a fixed amount of profit that is set by this parameter. This parameter must be set in account currency like usd.
ESB will start trailing after a ratio of SL. In this case ESB starts trailing after price moves in profit by a proportion of Stoploss.
This is ATR Period if you want to start trailing by a ratio of ATR
ESB starts trailing after price moves in profit by a proportion of ATR indicator. This method is very popular between traders. The proportion can be set by " ATR ratio(N)" parameter.
The ESB checks this conditions for buy positions and as them will be true, starts trailing.
The ESB checks this conditions for sell positions and as them will be true, starts trailing.

Trailing Step

Suppose trailing is started; Now, how ESB must check the condition of trailing? Every time or after price moves enough in profit again?

If trailing process need to be continuous, then select "Continuous (No Step)" mode. But, if you want after ESB reduces distance of Stoploss, wait until price moves a step, using another modes includes: Fixed Step: In this case, ESB wait to price moves fixed number of points in profit and then moves Stoploss again. The size of step can be determined by "Fixed distance" parameter. Stoploss Ratio: In this mode, the size of trailing steps is determined by a ratio of Stoploss. Suppose Stoploss is 40 pips and you set "SL Ratio" on 0.2, then step size is 2 pips that means every time price moves 2 pips in profit the ESB moves Stoploss and wait for next 2 pips. N ATR: This mode determines size of steps by a ratio of ATR indicator. ATR parameters are "ATR period" and "ATR ratio(N)". Custom Step Expressions: As mentioned before, you can define custom steps by writing "Buy/Sell Expressions". ESB calculate these expressions and uses its values as size of step.
ESB will move next step after a fixed distance from previous SL. In this case, ESB wait to price moves fixed number of points in profit and then moves Stoploss again. This parameter must be set in points.
The size of trailing steps is determined by a ratio of Stoploss. Suppose Stoploss is 40 pips and you set "SL Ratio" on 0.2, then step size is 2 pips that means every time price moves 2 pips in profit the ESB moves Stoploss and wait for next 2 pips.
If you set size of steps calculated by a ratio of ATR indicator here you can set ATR period
If you set size of steps calculated by a ratio of ATR indicator here you can set ratio.
ESB calculates this expression and uses its values as size of step for buy positions.
ESB calculates this expression and uses its values as size of step for sell positions.

Trailing Stop

Just as trailing started and price moves one step in profit, the ESB moves Stoploss. In this block, you can set how ESB should move Stoploss.

ESB supports all types of trailing as described here. Fixed Distance: Like other parts, ESB can move the Stoploss to a fixed distance from current price. You can set it by "Fixed Distance" parameter in points. Profit Lock: In this case you can set a percentage to "Profit Lock" parameter and ESB move Stoploss to save that percentage of profit. Suppose you set profit lock on 70%. In every step Stoploss is changed to lock 70% of profit. In this case if Stoploss hit, you lose only 30% of profit. By Moving Average: This is a popular method for tracking price movements. You can set a moving average indicator by "Mode", "Applied Price", "Shift" parameters and ESB moves Stoploss in relation on this moving average. Note that the shift is candle number and should not be confused with MA shift. N ATR: In this method ESB uses a ratio of ATR indicator for trailing Stoploss. You can set ATR parameters by "ATR period" and "ATR ratio". In every step ESB moves Stoploss to reach the distance of a ratio of ATR. For example, if ATR value is 0.00150 and price is 1.16500 and ATR ratio is set to 2.0 then for buy position Stoploss is set on 1.16500-2.0*0.00150=1.16200 and for sell position 1.16800. By Expressions: If any above modes can't handle your method of trailing stop, you can define "Buy/Sell Expression". The ESB calculates this expression and uses its result for value of Stoploss.
ESB will move SL to a fixed distance from current price. This parameter must be set in points.
In this case you can set a percentage to "Profit Lock" parameter and ESB move Stoploss to save that percentage of profit. Suppose you set profit lock on 70%. In every step Stoploss is changed to lock 70% of profit. In this case if Stoploss hit, you lose only 30% of profit.
Here you can set Period of MA if you want to move SL using MA
Here you can set Mode of MA if you want to move SL using MA
Here you can set Applied Price of MA if you want to move SL using MA

Here you can set Shift of MA if you want to move SL using MA

Here you can set Period of ATR if you want to move SL using MA
Here you can set Ratio of ATR if you want to move SL using ATR
The ESB calculates this expression and uses its result for value of Stoploss for buy positions.
The ESB calculates this expression and uses its result for value of Stoploss for sell positions.

Valid Keywords for Using in Expression

Operations and Operands

Get Last Value or Do Nothing

Fixed Values

Shift

Checking Crosses

Tick Functions

Candle Value Functions

Candle Type Functions

Candle Time Functions

Get Indicator Candle Number

Math Functions

Time Functions

Signal Functions

Prev Order Functions

Open Orders Functions

Account Functions

Current Order Functions

Default Advanced Options

ADVANCED SETTINGS - Broker and Order Settings

Broker Settings

check this if you want to use your robot on ECN account

check this if your robot target account is with a FIFO broker

Entry Settings

When selecting this option, you can get rid of the Doji candles in the entry points. The ESB ignores all Doji candles for checking entry conditions.

Use this option for set a limitation for number of signals for each candle. If number of signals in candle is reached to maximum, ESB rejects new signals on that candle. You can consider this as maximum orders for each candle in Buy/Sell mode and maximum rallies in one candle for martingale or grid mode.
This option allows you to adjust maximum allowing spread for trading.
As its name sounds, allows you to adjust maximum allowing deviation for trading. Deviation means difference between open of current candle and close of previous candle.

Order Settings

The Slippage of Orders can be set by this options.
ESB can send multiple requests for get position. For example, if first request fails, the second one is sent and so on. You can set maximum number of requests for enter position by this option.
When an orders not accept by broker or was failed in any reason, ESB waits for some seconds and then send order again. The number of waiting seconds can be set by this option. Note that if this option set to zero, ESB uses smart algorithm to check broker status and as it be normal, send order again. We recommend that set this option to zero.

Stoploss and Takeprofit

This option allows you to adjust your minimum distance of Stoploss for each trade. If you select "Compound" for money management, this option can improve risk controlling! Suppose in 10000 USD account, your Stoploss is near open price, for example, 2 pips and you select "Compound" with 4% risk in EURUSD. ESB will enter position by 20 lots! This is very risky situation.
This option allows you to adjust your minimum distance of Takeprofit for each trade.

ADVANCED SETTINGS - Trade in News Options

One of the important items of risk management in forex is news risks and trading in news-times. The ESB has an advanced news module that helps you trade safely even in news-times. Just set "Care to News" to true to enable this module.

Trade in News Settings

select a minimum number of warn hours to trade before high impact news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade after a high impact news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade before medium impact news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade after a medium impact news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade before low impact news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade after low impact news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade before central bank news. Note that just news that affected current pair is taken into account.
select a minimum number of warn hours to trade after central bank news. Note that just news that affected current pair is taken into account.

Using News in Backtest

if you want use news engine in backtest and you already designed your own database, you can set a time shift for your file here

ADVANCED SETTINGS - Trading Times

Trading Times

This option defines the reference of time calculations. You can choose "Broker Time", "Local Time" or "GMT" as base of time calculations.
This is the beginning hour of the Friday that ESB considers Friday after this hour. Suppose you set a martingale plan and you set 5 for this option and profit is set to 10% and Friday profit is set to 5%. Before Friday 05:00 AM, ESB uses 10% and after that uses 5% as profit percentage.

When selecting this option, you can get rid of the risk of the weekend gap. Just select this option, the ESB closes all open positions in the last hours of the week.

On the weekends, if you want to close only positions which are in profit and remained negative ones, enable this option.

In weekends the closing hour can be set by this option. Set this option in 24h format.
Warn hours of weekend that ESB must not enter to any new position.
The market in the beginning hours of Monday is very risky with big spreads. This option allows you to set hour which the ESB starts its working in the beginning of Monday.
In some brokers with variable spread, sometimes spread is wide in nights. Some traders don't like to enter new positions in nights. Just set warn hours of night here. For example, if you set this option on 2, the ESB don't enter any new position from 22:00 PM to 02:00 AM in next day.

In some cases, traders like to close positions in warn hours of nights that are set by previous options. Just enable this option, ESB closes all open positions at the beginning of warning hours.

Just enable this if you don't like to enter positions from the last days of December to the beginning days of January. There are two fields for setting a desired range of days.

At the first Friday of every month, the U.S. Bureau of Labor Statistics releases the numbers for new job creation in the US. The Nonfarm Payrolls (NFP) are among the biggest market movers in the Forex markets, together with central bank events or interest rate decisions. This option allows you to set warn hours before and after NFP news that ESB don't enter to any new position.

If you like to don't have any open positions in NFP warn hours, just enable this option. The ESB closes all open positions at the beginning hours of NFP warn hours.

In some cases, you like to have time out for reaching target profit. Set time out by this option. After that, ESB try to close position in positive profit. For example, if you set this option to 10 hours and the target profit is not reached in 10 hours, if current profit of position is bigger than zero, ESB close it Immediately but, if current profit is less than zero, wait till profit crosses zero and then ESB will close it.
This option allows you to set maximum hours that a position can be open. After this time, ESB close it Immediately even in loss.

Trading Days

This section allows you to determine the activation days of the week. Simply enable/disable trading for five days of the week. If you disable a day, ESB doesn't enter any new position on that day.

No Trading Hours

In some cases, it’s better to not enter new positions in specific hours of the day. You can determine three time ranges in ESB (Range1, Range2, and Range3). Just set the start and end of the range. For example, if you want to disable hours between 3 to 8 pm just set range start to 15 and range end to 20. This means ESB rejects all buy and sell signals from 3 pm to 8 pm.

Trading Sessions

In this section, you can select the sessions that you wish to trade on. Simply enable/disable trading for the desired session. In common hours of the sessions, If one session is disabled, the ESB doesn't enter any position in that hour.

ADVANCED SETTINGS - Graphical Options

Graphical Options

Check this to show buy/sell buttons on the main panel for activating manual trading as well.

This option shows also indicators window at the same time as the main window is up. This is very useful in strategy tester because of the lack of graphical events in the backtest.

ESB can draw Indicators on the chart. This is especially useful if you are working with many indicators in the strategy tester and want to check them for reviewing your strategy or improve it. Set up your plan by ESB and enable this option and run strategy tester and wait until the back-test is finished. Click on the "Open Chart" button to see the indicators.

This option shows news feeds in the panel. You can see the next news time and title and its impact on top of the panel.

left position of the main panel on chart
Top position of the main panel on chart

Mark Entries Settings

In this section, you can change the properties of signs for mark entries. ESB shows an arrow and a price rectangle for mark entries. You can enable or disable these signs and change its type, colors or thickness.

ADVANCED SETTINGS - Notification and Log Options

Notification Options

In this block, you can setup entries notification settings. you can easily enable or disable any type of notifications. ESB has a smart module for your safety that can detect some dangerous conditions and can notify them. ESB notify you every entry point and some critical messages about its status or market failures or every time need that something must be manually done!

If you want to get notification directly on your phone, set up MT4 on your phone and then go to Settings > Messages and write your MetaQuotes ID on a paper. Then in the MT4 trading platform in your PC or VPS, go to Tools > Options > Notifications menu and then check the "Enable Push Notifications" and enter your MetaQuotes ID there. After you have completed this step restart MetaTrader 4. Your settings won’t work until you restart the platform.

If you want to get E-Mails, first set up your email. In MT4 trading platform go to Tools -> Options or simply click CTRL+O. Check the "Enable" checkbox and complete your mailbox data. After you have completed, it is absolutely imperative that you restart MetaTrader 4. Your settings won’t work until you restart the platform.

Show message box for each signal or important event

Show alert box for each signal or important event

Log Options

ESB can log everything from actions, errors, warnings and even indicators data. You can use ESB as a data logger by simply using these options. ESB is the simplest and fastest method for creating a complicated forex data logger.

This option log everything in the journal. Every time an error or failure will happen or new action is done, just check the journal to find its complete information about that.

This is like the previous option but logs everything in a log file named "your robot name_type_symbol_timeframe_magicnumber_ actions.log" that can be found in MQL data folder. Go to the "File > Open Data Folder" menu. If you are in strategy tester go to the "Tester > Files" folder and if you are in live mode (real or demo) go to the "MQL4 > Files" folder.

Just set your desired indicators and enable this option. Some of the items that you can log are as follows: - Every tick data like Ask, Bid, TIME, Spread or any combinations of these - All supported indicators and any combinations of those - The result of any formula or expression - All account information - All orders information - All market information

This one logs all signals in a log file named "your robot name_type_ symbol_timeframe_magicnumber_signals.csv"

MARTINGALE SETTINGS

Type Settings

The ESB supports martingale and anti-martingales and can manages both in same time. set "Martingale Type" to your desired one.
The ESB can create a martingale rally instantly as price moves enough inversely or uses pending orders and place all martingale orders as signal received. Simply can determine your method of order placing by this option. Some traders prefer instant orders and have their reasons for example, they like to have hidden positions and brokers don’t have any information about their levels of trading. Therefore, doesn't like to use pending orders.
Each level of martingale attempts can have a tolerance that can be set by "Level Slip" parameter. For example, if next sell attempt must be placed at 1.31400 and level slip was set on 10 points, this attempt can be placed at 1.31390. This can help in some situations that spread is wide or market don't have enough movement.

Minimum Profits

Set a "Minimum Profit to Risk" for target. This means you set a percentage of risk as profit target. On doing this the ESB will automatically trigger a clean close only when the profit target is reached. For example, suppose your account is in USD and your martingale are at risk R% and you set the minimum profit/risk parameter to P%. Then minimum profit of a martingale rally is P% from R% of balance for common rallies. suppose you set "P" to 20% and Martingale risk (R) is 10%. User’s Manual Page 42 In this case if balance is 10000$ then every stop is equal to 1000$ loss and min profit is 200$.
If maximum of attempts number is reached, profit engine uses this parameter for check closing profit.
You can set profit of every step manually. Just fill this field in comma separated format. In this case ESB doesn't use "Minimum Profit to Risk" and "Min Profit/Risk If Max Orders" any more. For example, if you set Manual Profits like this: 5,10,15,8,4,0. This mean the profit of first position of rally is 5% of risk and profit of first attempt is 10% of risk. Next attempt 15% and next 8% and next 4% and last attempt profit is 0% of risk. In case you don't enter enough numbers, they will be 0% by default.
The market is not stable in Mondays and Fridays and this is the reason that some traders like to have less risk. There are also two ratio numbers for Mondays and Fridays: "Monday Profit Ratio" and "Friday Profit Ratio". ESB multiply these ratio numbers to profit for calculation profit in Mondays and Fridays. Suppose you set Friday ratio on 0.7. If target profit in other days of week is 200$, in Fridays this target will be 0.7*200$=140$.
The market is not stable in Mondays and Fridays and this is the reason that some traders like to have less risk. There are also two ratio numbers for Mondays and Fridays: "Monday Profit Ratio" and "Friday Profit Ratio". ESB multiply these ratio numbers to profit for calculation profit in Mondays and Fridays. Suppose you set Friday ratio on 0.7. If target profit in other days of week is 200$, in Fridays this target will be 0.7*200$=140$.

Core Settings

The distance of first attempt in points. Suppose a sell rally is started at price 1.52300. if you set this parameter on 50 points, next positions will be placed at 50 points upper that is 1.52350.
ESB calculate level of next attempt by a ratio of previous attempt distance. Suppose ESB started a sell rally and you set first attempt distance on 50 points and multiplier on 2. If price is 1.52300 Next attempt will be open at 1.52350 and next one is 1.52450 and next one is 1.52650 and so on.
you can set maximum number of attempts for a rally by this number. Note that the first position of martingale does not count. Therefore, if you set this parameter on 5, your martingale rally has 6 positions.
In a rally, every time a new position is placed, its volume is a ratio of previous position volume. This ratio can be set by this parameter.
You can set manually distance for attempts. Just fill "Manual Attempts" field for buy and sell in comma separated format. In this case ESB doesn't use "Distance for first Attempt" and " Distance Multiplier" and "Max Attempts" Parameters. For example, if you set Manual Attempts like this: 50,90,130,190. This mean the number of attempts is 3 and d1 is 50 points and d2 is 90 points and d3 is 130 points and last attempt Stoploss is 190 points. You can also use price levels by adding "L:" before each attempt. for example: L:1.12100, L:1.12150, L:1.12200, L:1.12250 that means the ESB will open first attempt at price 1.12100 and next attempt will open at 1.12150 and so on. Mix of both styles is also applicable like: L:1.12100, 50, L:12200 ,... that means first attempt will be on price level 1.12100 and then next attempt after 50 points and third attempt at price 1.12200 and so on. The most interesting part is you can use expressions here. For example: L:MA1, ATR1/POINTS, L:MA1+50points, ... Just be careful that you have to write expressions that has output in points. For example, if you use ATR1 output is like 0.00020 that is not correct format. Use ATR1/POINTS to get 20 instead of 0.00020.
You can set manually distance for attempts. Just fill "Manual Attempts" field for buy and sell in comma separated format. In this case ESB doesn't use "Distance for first Attempt" and " Distance Multiplier" and "Max Attempts" Parameters. For example, if you set Manual Attempts like this: 50,90,130,190. This mean the number of attempts is 3 and d1 is 50 points and d2 is 90 points and d3 is 130 points and last attempt Stoploss is 190 points. You can also use price levels by adding "L:" before each attempt. for example: L:1.12100, L:1.12150, L:1.12200, L:1.12250 that means the ESB will open first attempt at price 1.12100 and next attempt will open at 1.12150 and so on. Mix of both styles is also applicable like: L:1.12100, 50, L:12200 ,... that means first attempt will be on price level 1.12100 and then next attempt after 50 points and third attempt at price 1.12200 and so on. The most interesting part is you can use expressions here. For example: L:MA1, ATR1/POINTS, L:MA1+50points, ... Just be careful that you have to write expressions that has output in points. For example, if you use ATR1 output is like 0.00020 that is not correct format. Use ATR1/POINTS to get 20 instead of 0.00020.
if you want to set some conditions for each attempt (in your own risk) just fill this field in comma separated format. Every time ESB wants to open new attempt first it checks these conditions. For example, MA1>MA2, RSI<30, ASK<1.12100, ... that mean ESB can open first attempt if MA1 is greater than MA2 and can open second attempt if RSI is less than 30 and can open third attempt only if ASK is less than 1.12100 and so on. Leave these field empty if you don't want to check some conditions before opening new attempts. If you write condition for some attempts, other attempt conditions by default will be set on true.
if you want to set some conditions for each attempt (in your own risk) just fill this field in comma separated format. Every time ESB wants to open new attempt first it checks these conditions. For example, MA1>MA2, RSI<30, ASK<1.12100, ... that mean ESB can open first attempt if MA1 is greater than MA2 and can open second attempt if RSI is less than 30 and can open third attempt only if ASK is less than 1.12100 and so on. Leave these field empty if you don't want to check some conditions before opening new attempts. If you write condition for some attempts, other attempt conditions by default will be set on true.

Anti Martingale Settings

The anti-martingale settings are just like martingale core settings.

the distance of first attempt of anti-martingale in points.
distance multiplier for calculating level of next attempt by a ratio of previous attempt distance.
maximum number of attempts for anti-martingale
each anti-martingale position volume is a ratio of previous position volume. This ratio can be set by this parameter.

Failing and Exiting

If a rally fails and reaches to maximum allowed loss, the ESB can do different actions that can be set by this option. Leave Rally: If you set this, a rally with maximum loss is leaved open to manage it manually. Maybe traders want to they decide to close after analyzing market. Close Rally: The ESB closes all positions of rally after it reaches maximum allowed loss. Wait to Close in Zero Profit: The ESB doesn't close rally but, waits for rally to crosses zero profit to up and then closes it immediately! Exit Expert: The ESB is closed and leaves rally open. You need to run ESB again after this action.
If your plan checks some conditions to deciding about closing rally, you can set these conditions separately for buy and sell by defining an expression. The target profit can be set here by defining it using buy or sell expressions. ESB checks this conditions and as them met, close all positions immediately!
If your plan checks some conditions to deciding about closing rally, you can set these conditions separately for buy and sell by defining an expression. The target profit can be set here by defining it using buy or sell expressions. ESB checks this conditions and as them met, close all positions immediately!

Lottage Calculations

Easy risk settings keep you in full control. Take as much or as little risk as you want by adjusting the trading volumes. You can set volume of the first position and ESB calculates other volumes automatically. There are two modes for calculating base lottage that can be set by "Lottage Mode". The modes are as follows: Fixed Base Lot: As its name sounds, the first position has fixed volume that can be set by "Fixed Base Lottage" parameter. Dynamic Base Lot: Other option is calculating base lottage dynamically with a risk percentage that can be set by "Risk" parameter. Suppose you set "Risk" parameter on R%. The ESB calculates such amount of base lottage that if your rally is reached to maximum attempts only R% of your balance is dropped.
Calculating base lottage dynamically with a risk percentage can be set by this parameter.
The first position has fixed volume that can be set here.

Break-Even Settings

You can enable the BE engine. If the price moves enough in direction of rally and will be larger than a percentage of target profit, ESB breaks rally. It means if the price will come back again before any loss ESB closes rally.

The percentage of profit for half break-even
The percentage of profit for break-even

Graphical Lines

Draw lines on a chart that show the TP, SL, and Zero profit levels.

GRID SETTINGS

Type Settings

ESB can start grid for buy signals only or just for sell signals. ESB also can start grid for buy signal and do its inverse for sell signals and vice versa. This can be set by this parameter.

Create a grid system only by upper orders

Create a grid system only by lower orders

Upper Price Order Settings

type of upper orders orders
ESB places the first order of network at a fixed distance to current price. This distance can be set by this parameter.
After first order, other orders have a fixed distance from each other. Here you can determine the distance between orders in points.
You can define a ratio for distances. In this case, distance to next orders is a ratio of previous distance. If multiplier is set by a number larger than one, distance between orders is increased in each step.
number of upper orders
You can set volume of the first position and ESB calculates other volumes automatically. There are two modes for calculating base lottage that can be set by "Base Lottage Mode". The modes are as follows: Fixed Base Lot: As its name sounds, the first position has fixed volume that can be set by "Fixed Base Lottage" parameter. Auto Base Lot by Balance/Equity/Free Margin Percentage: Other option is calculating base lottage dynamically with a percentage that can be set by "Percent for Auto Base Lot" parameter. The dynamic base lot calculations can be in the base of balance, equity or free margin.
the first position has fixed volume that can be set here.
Calculating the lottage of first order dynamically with a percentage that can be set here
In grid system, every time a new position is placed, its volume is a ratio of previous position volume. This ratio can be set by this parameter. If this parameter is set to one, all positions will have same volume.

Lower Price Order Settings

type of upper lower orders
ESB places the first order of network at a fixed distance to current price. This distance can be set by this parameter.
After first order, other orders have a fixed distance from each other. Here you can determine the distance between orders in points.
You can define a ratio for distances. In this case, distance to next orders is a ratio of previous distance. If multiplier is set by a number larger than one, distance between orders is increased in each step.
number of lower orders
You can set volume of the first position and ESB calculates other volumes automatically. There are two modes for calculating base lottage that can be set by "Base Lottage Mode". The modes are as follows: Fixed Base Lot: As its name sounds, the first position has fixed volume that can be set by "Fixed Base Lottage" parameter. Auto Base Lot by Balance/Equity/Free Margin Percentage: Other option is calculating base lottage dynamically with a percentage that can be set by "Percent for Auto Base Lot" parameter. The dynamic base lot calculations can be in the base of balance, equity or free margin.
the first position has fixed volume that can be set here.
Calculating the lottage of first order dynamically with a percentage that can be set here
In grid system, every time a new position is placed, its volume is a ratio of previous position volume. This ratio can be set by this parameter. If this parameter is set to one, all positions will have same volume.

Profit | Loss TP/SL mode

ESB has two ways for managing target profit and maximum loss for grid systems. MODE1->Every Position has its own TP/SL: In this mode, every position has its own Takeprofit and Stoploss. This means that ESB sets a fixed TP and SL for every position and then waits for all positions to get TP or SL. MODE2->Check Total Profit/Loss: In this mode, ESB uses a target overall profit and maximum loss of all positions. ESB closes grid as overall profit reaches target of maximum loss is reached.

Mode 1 - Separate TP/SL for each order

TP of upper positions that must be set in points.
SL of upper positions that must be set in points.
TP of lower positions that must be set in points.
SL of lower positions that must be set in points.

Mode 2 -> Minimum Total Profits|Loss

You can set a "Minimum Profit" for target. This means you set a percentage of balance as profit target. The ESB will automatically close all positions when the profit target is reached. For example, suppose your account is in USD and you set the minimum profit parameter to 1%. In this case if balance is 10000$ then as overall profit reaches 100$ all positions will be closed.
The market is not stable in Mondays and Fridays and this is the reason that some traders like to have less risk. You can set minimum profits on Fridays here.
The market is not stable in Mondays and Fridays and this is the reason that some traders like to have less risk. You can set minimum profits on Mondays here.

Close Expressions

If your plan checks some conditions for the closing grid, you can set these conditions separately for upper and lower positions. The target profit or maximum loss can be set here by defining these expressions. ESB checks these conditions and as they met, close all positions immediately!

Break Even Settings

Enable BE engine. If profit will be larger than a fixed amount of account currency, ESB breaks rally. It means if the price will come back again before any loss ESB closes grid.

The fixed amount for break-even can be set by this parameter. The unit of this parameter is currency of your account.

Almost done!

CAPTCHA image

This helps us prevent spam, thank you.