ESB doesn’t open positions?

1- Make sure you read and fully understand how to prepare ESB requirements. Please study them here:

2- make sure the history center has enough data. if you are testing your strategy for Date1 to Date2 in M15, make sure history center shows enough data for M15 in that date range.

3- MT4 doesn’t support multi-timeframe. so, if your strategy uses multiple timeframes for different indicators or expressions, use the smallest one for your tests. Let’s assume you have a few indicators for M30, H1, H4. so you have to set M30 in strategy tester, otherwise you will get wrong results.

4- Make sure your custom indicators are copied in Indicators folder of the Meta Trader. Learn more about custom indicators from here:

5- Check the internet and connections. make sure the server at the bottom left shows connection.

6- if you use an expression like RSI>30 it can trigger all the time RSI is greater than 30. So, let’s say RSI is 29, and it goes to 31, this expression will trigger. But, if RSI goes from 31 to 32 still same, from 32 to 40 also same. If you need trigger only on cross, use “CrossDown” and “”CrossUp” expressions. for ex:
RSI1 Crossup 30

7- Is all of the conditions are really met? Maybe you should double check the entry conditions and expressions.

8- Use “(” and “)” to prioritize expressions. See the examples below:
ex1: ma1 crossup ma2 and rsi1 crossdown 50 or close[1]>close[2]
ex2: (ma1 crossup ma2 and rsi1 crossdown 50) or close[1]>close[2]
ex3: ma1 crossup ma2 and (rsi1 crossdown 50 or close[1]>close[2])

these 3 examples have same expressions with different priority using parenthesis. They give totally different results.

9- don’t trust your eyes when you are looking at the chart. Check actual value of indicators and the double check entry conditions.

10- make sure your defined indicators and oscillators shows correct value. Double check them from Indicators panel (

11- Make sure the balance and margin are enough to open positions. Please take a look at risk management part from here:

12- make sure there is no errors in journal and ESB isn’t complaining about anything there.

13- Some indicators are repaint which means they keep changing the previous values. The popular one is ZigZag. These kind of indicators don’t have fixed value. So, as any spike or sharp change on price, they will update the previous values as well. ESB uses current value but when you look at the chart, you may think it’s wrong because indicator is showing different value. Please never trust repaint indicators.