EA that depends on WebRequest — Market validation and rental metering experience?

 

Hello everyone,

I am preparing to submit an MT5 Expert Advisor to the Market and would like to hear from developers who have already published a product that depends on an external server, before I go through validation blind.

In short: the EA is not a trading robot — it does not open or manage positions. It performs a server-side task for the user and shows the result on the chart. To do that it has to contact my own server over HTTPS with WebRequest . It is planned as a monthly rental.

Four points I am unsure about:

1. WebRequest and the allowed-URL list. The product cannot work without WebRequest , so the buyer has to add my URL in Tools > Options > Expert Advisors > Allow WebRequest. I state this in the description and the EA shows a clear message if the URL is not allowed. Has anyone had such a product accepted, or is this treated as an unacceptable extra requirement on the user?

2. The free demo in the Strategy Tester. WebRequest does not work there, so the demo cannot do its job at all. My EA initialises normally in the tester — panel, buttons and all — and when the user presses the action button it shows a message explaining that the product works only on a live chart. What did validation expect from you in this situation? Was anyone asked to handle the tester differently?

3. Metering the rental. The rental includes a fixed number of operations per month, counted on my server and keyed to the MetaTrader account number the EA reports; the allowance renews one calendar month after first use. The EA itself has no licence check and asks for no registration — MQL5 handles the selling. Has anyone metered a rental this way without problems?

4. Usage diagnostics. The EA also sends two short hashes, derived from the terminal data path and the common data path, so that repeat usage from the same installation can be recognised in my own usage report. No paths, no user names, no personal data — only the hashes, and nobody is ever refused service because of them. Has anything like this passed validation, or is it safer to send nothing beyond the account number?

Any experience — accepted or rejected — would be very useful. Thanks in advance.

Ivan Stefanov

 
Ivan Stefanov:
1. WebRequest and the allowed-URL list. The product cannot work without WebRequest , so the buyer has to add my URL in Tools > Options > Expert Advisors > Allow WebRequest. I state this in the description and the EA shows a clear message if the URL is not allowed. Has anyone had such a product accepted, or is this treated as an unacceptable extra requirement on the user?

Allowed. The on-point Rule is IV(6):

6. The Seller shall not integrate and apply any third-party sales, accounting, license control and update management systems (including the ones using WebRequest features) in Products.

That Rule is a bit fuzzy. In the past, I mistakenly interpreted it to mean that all WebRequests were prohibited. WebRequests are actually generally allowed, except for the specific types stated in the Rule.

Ivan Stefanov:
2. The free demo in the Strategy Tester. WebRequest does not work there, so the demo cannot do its job at all. My EA initialises normally in the tester — panel, buttons and all — and when the user presses the action button it shows a message explaining that the product works only on a live chart. What did validation expect from you in this situation? Was anyone asked to handle the tester differently?

When my company was a registered Seller, the code validator used the process of the Strategy Tester. I was able automatically disable a non-Tester-compliant code block by inserting OnTester() in my code─nothing shady. Some code elements simply don't work in the Tester. When in doubt, OnTester() it out.

Ivan Stefanov:
3. Metering the rental. The rental includes a fixed number of operations per month, counted on my server and keyed to the MetaTrader account number the EA reports; the allowance renews one calendar month after first use. The EA itself has no licence check and asks for no registration — MQL5 handles the selling. Has anyone metered a rental this way without problems?

Prohibited. See Rule IV(6), "third-party sales", above.

Ivan Stefanov:
4. Usage diagnostics. The EA also sends two short hashes, derived from the terminal data path and the common data path, so that repeat usage from the same installation can be recognised in my own usage report. No paths, no user names, no personal data — only the hashes, and nobody is ever refused service because of them. Has anything like this passed validation, or is it safer to send nothing beyond the account number?

Prohibited. See Rule IV(6), "license control", above.

 
Thank you, Ryan!