Problem with EA validation on the Market - page 9

 
test on EURUSD,H1 (netting) there are no trading operations

What should I do if my EA does not trade?

Tried putting it as a utility, no use.

 
Alik Dmitriev:

So the utility must be an indicator or script. That is, you need to compile the code as an indicator or script (not as an EA) and publish it in the Utilities section.

 
Ihor Herasko:

So the utility must be an indicator or script. That is, you need to compile the code as an indicator or script (not as an EA) and publish it in the Utilities section.


Thanks for the tip, I will give it a try.

 
Ihor Herasko:

So the utility must be an indicator or script. That is, you have to compile the code as an indicator or script (not as an EA) and publish it in the Utilities section.

Why such limitations on the choice of the product form?
There are known limitations in indicators (for example, you can't use Sleep Webrequest, etc.), a script will be reset when you switch timeframe...
Is this the official position on utilities?
Why can't the utility be designed as an expert?

 
Mikhail Dovbakh:

Is this the official position on utilities?

No. I'm just sharing my experience of placing products in the Market.

Why such restrictions on the choice of product form?

I'm based on elementary logic. If the program does not trade, why make it an Expert Advisor? It is much easier to make it an indicator. You can attach more than one indicator to the chart.


The indicators have well known limitations (for example, you can't use Sleep Webrequest, etc.), a script will be reset when you switch timeframe...

  1. You should not use Sleep in your programs. The presence of such an operator in a program indirectly indicates that the program architecture is defective.
  2. The developers of the terminal have promised to think about WebRequest in indicators. In MT4 it is unlikely to appear in indicators, but in MT5 it may appear.

What other limitations do the indicators have that are absent for the non-trading Expert Advisors? Nothing comes to my mind yet.


Why cannot the utility be designed as an Expert Advisor?

For now I'll just answer on the fact: because a non-trading Expert Advisor does not pass the validation process. Perhaps another solution could be to ask Service Desk to place the utility specifically as a non-trading Expert Advisor.
 

The test ended with errors

  • Number of errors1
  • Started2017.12.20 04:59:59
  • Completed2017.12.20 05:05:19
  • TypeExpert
  • Spread0
test on EURUSD,H1 (netting) there are no trading operations test on XAUUSD,D1 (netting) there are no trading operations test on GBPUSD,M30 (netting) there are no trading operations test on EURUSD,M1 (netting) there are no trading operations How to avoid this error. Please advise. What does it mean?
 
Ihor Herasko:

  1. It is necessary to avoid using Sleep in your programs. The presence of such an operator in a program indirectly indicates that there are some defects in the program architecture.

You bet! :)

For example, you can efficiently implement saving of computational resources by using Sleep - the load on the CPU.

Or one more example: you can implement waiting for downloading of necessary timeseries.

Or another example: you can also implement animation of graphics.

In the script, it is impossible to implement timer without it.

You can think of a lot of other things that can be done using Sleep ;)

 
Sergey Makarkin:

The test ended with errors

  • Number of errors1
  • Started2017.12.20 04:59:59
  • Completed2017.12.20 05:05:19
  • TypeExpert
  • Spread0
test on EURUSD,H1 (netting) there are no trading operations test on XAUUSD,D1 (netting) there are no trading operations test on GBPUSD,M30 (netting) there are no trading operations test on EURUSD,M1 (netting) there are no trading operations How to avoid this error. Please advise. What does it mean?


This is a special conundrum for developers. Everyone gets around them in their own way.

 
Marat Sultanov:

I bet! :)

For example, you can effectively use Sleep to save computing resources - the load on the CPU.

Or one more example: you can implement waiting for required timeseries to be downloaded.

Or another example: you can also implement animation of graphics.

In the script, it is impossible to implement timer without it.

Yes, there are a lot of things that can be done using Sleep ;)


Please )))

Признаки плохого программиста
Признаки плохого программиста
  • 2021.10.11
  • habrahabr.ru
«Рассуждать о коде» значит понимать порядок исполнения инструкций («исполнять программу в голове»), зная, каково предназначение кода. Симптомы Наличие «волшебного», «вуду» кода или кода, который не имеет никакого отношения к целям программы, но всё равно тщательно поддерживается (например, инициализация переменных, которые никогда не...
 
Ihor Herasko:

You're welcome ))

It's a bit abstract... We're talking about a specific thing and a specific environment.

Can you give us specific arguments why the Sleep we're discussing is bad for program architecture in our context, of course?

I've given some arguments... And I don't see any flaws in the architecture when using Sleep to solve these tasks.

Maybe I'm misunderstanding your statement? If so, please correct it.

I just want to understand: what am I missing? I personally find this function very useful and often use it for some tasks in MQL and I can't even imagine that it can solve such important tasks more elegantly.