Emerald EA Builder - FAQ (Frequently Asked Questions)

Emerald EA Builder - FAQ (Frequently Asked Questions)

26 June 2024, 03:03
Emanuel Cavalcante Amorim Filho
0
89

Introduction


Emerald EA Builder, as the name states, is an EA Builder (Expert Advisor Builder) that provides a wide set of indicator and price action signals so you can quickly develop your own strategies for Forex, Stocks, Futures, and any other market you wish.

Tired of buying scam EAs in the market? Just easily create your own strategy with a single Expert Advisor. 

By combining the more of 20 available indicators and 10 price action signals, including the possibility to add your own custom indicators, Emerald EA Builder allows the user to create an inifinity of strategies. That is, the EA is helpful for people who don't code, in a sense that you don't need to know MQL5 to create strategies around the built-in or custom indicators. At the same point, the EA is helpful for coders, because it simplifies the process, so you don't need to code a thousand of EAs everytime you build a new strategy.

The main goal is to provide a quick, safe and easy to use Expert Advisor. That's why a 4-year optimization period should normally take around a few minutes to complete (1 minute OHLC or Open Prices modelling), considering a 8-core CPU.

This FAQ will present to you the most frequently asked questions about the EA.


1. How does the EA work?

The EA checks if a condition for entering a long or a short position was met on the first tick of a new candle. Look at the following image:



As you can see, the first tick of a new bar was received. That new bar does not have an index number. The first closed bar before it has index 0; the next one, has the index 1, and so on. The EA is running an example simple two MA cross strategy. At the previous closed bar, the fast moving average crossed downwards the slow moving average. At this point, this strategy gave me a signal to enter a short position.


2. Can I limit the time of operation?

Yes. In the group [1] Trading Settings you can set the start time (time at which the EA starts looking for entry signals), the end time (time at which the EA stops looking for entry signals) and the close time (time at which the EA closes all open positions). If you define a start/end/close time, you need to set the parameter 'Use start/end/close time' to true. If this parameter is false, the time will be ignored.


3. What does the parameter "Reference price for market orders TP/SL" do?

The TP/SL is usually set as an offset from the entry price. For example, if you select 500 points/ticks for your TP, the most common way to place the take profit for a buy position is to sum the position entry price + 500 points. That may be misleading in some backtests.

Imagine that, for any reason, like a moment of high volatility, your order is not executed at the price of the first tick of a new bar, but a few ticks later - some sort of slippage. This may not be cause your TP/SL to also be placed farther away than where it should be, and thus the price would normally have to move more than it should to hit your target. In the backtest, however (especially if you set the modelling to '1 minute OHLC' or 'Open Prices'), this would not occur as it would in live trading.

Due to this condition, you can set the reference price for TP/SL to the first tick of a new bar, ensuring the TP/SL is placed exactly where it should be, as if you were backtesting '1 minute OHLC' or 'Open Prices' modelling prices. Notice that because of that slippage, the results may vary a little bit, but the execution is more real. This is recommended if the spread is low or if the symbol you are trading uses the last price to form a new bar. If it has a high spread and uses the bid line to form a new candle, it is preferred to use the TP/SL from bid/ask as the reference prices, which would be the regular mode.


4. What are the settings defined in [2] Tester Settings group?

Those settings speed up the optimization process by early stopping the passes that hit the defined maximum criteria of:

  • Maximum balance drawdown (in percentage);
  • Maximum trades;
  • Maximum trade by trade drawdown (maximum drawdown in a single trade);
  • Maximum absolute balance loss (money).


5. Can I use multiple timeframes in the EA?

Yes, you can. You can set different timeframes for each indicator; a specific timeframe for a new bar event or a global timeframe. Notice that if you set an indicator timeframe or the new bar timeframe to current, the EA will use the global timeframe instead; if the global timeframe is also set to current, the timeframe selected in the strategy tester will be used instead.


6. I'm trying to use the trailing stop/breakeven/partial close/etc. functions, but they're not working. How do I solve this?

In order to modify a position in any way, you need to set the parameter [Settings] Allow to modify existing positions in the [1] Trading Settings group to Enabled. You also need to be sure the parameters you select are correct.


7. I'm trying to use the pre-defined signals, but the error "genetic pass (x,y) tested with error 'expert removed itself in OnInit function'" pops up on the journal. How do I solve this?

If the Expert is removed during the optimization you either selected two or more parameters that are incompatible with each other or forgot to select/define a parameter required for that run. The most common issues that result in that error are:

  • You selected a pre-defined signal, but didn't load the indicator it requires. Solution: go to the filter group and set the parameter "Use filter" to true. Also define correctly its parameters; for example, setting a moving average period to 0 may result in errors.
  • You selected an indicator as the TP/SL level, but didn't loaded it. Solution: go to the filter group and set the parameter "Use filter" to true.
  • You set the price series of the limit/stop order as an indicator, but didn't loaded it, or it was defined as 'None'. Solution: select a valid value (other than 'None') or go to the filter group and set the parameter "Use filter" to true.
  • You set the TP/SL to "Risk 1:x", but the SL/TP is actually a absolute price level (open, high, low or close prices) or an indicator plotted on the main chart (like an MA). Solution: the "Risk 1:x" only works when the method of the counterpart works as an offset from the current price level. For example, if the TP is set to a Moving Average, this error occurs, because the MA is an absolute price level, thus the SL cannot be set to "Risk 1:x"; however, if the TP is set to "Ticks", the SL can be set to "Risk 1:x", because the TP will be set X ticks from the current reference price, while the SL will be set as Ticks/x. So all you need to do is select a correct method for the TP (in the case of using "Risk 1:x" in the SL) or the SL (in the case of using "Risk 1:x" in the TP);

In order to get better explanation on the error, it's recommended to run simple backtest (with optimizations disabled) with a sample of the parameters used. The error will be better explained in the journal and the test will immediately stop.


8. I'm trying to use multiple timeframes, but the error "genetic pass (x,y) tested with error 'wrong timeframe request in Open Prices mode'" pops up on the journal. How do I solve this?

This error occurs when you're using the 'Open Prices' modelling type for optimizations and you select a timeframe (either in the indicators section, a global timeframe or a new bar timeframe) that is lower than the timeframe selected in the strategy tester settings (i.e., the strategy tester settings are set to the H1 timeframe, but you select in the EA settings the M15 timeframe for an indicator or as a global timeframe). In this case, to solve the error, either set the strategy tester timeframe to M1 or change the modelling type to '1 minute OHLC'.



9. Can you add the feature X/Y/Z?

Yeah, send me your idea and I'll consider adding it to the EA.


This list is still a work in progress and more questions may be added in the future.