User wants to buy unlimited copy of my EA, but i am affraid of unlicensed copying.
If i could check if the user is logged on his account on MQL5.com, then EA would have protection against using it by other users.
Is it possible?
i want to do a single check at EA start (recheck every x seconds, if user not logged in to avoid problems while mql5 is down)
You can't do that, but the built-in protection is good enough so you should not worry about copying. Any new copy will require activation, and the number of activations is limited (5 by default, you can change it).
I think it is possible. Check this out:
https://www.mql5.com/en/docs/constants/environment_state/terminalstatus
TERMINAL_COMMUNITY_ACCOUNT should do the job.
Andrey.

- www.mql5.com
I think it is possible. Check this out:
https://www.mql5.com/en/docs/constants/environment_state/terminalstatus
TERMINAL_COMMUNITY_ACCOUNT should do the job.
All these statuses are about your terminal instance status, not statuses of some one else terminal.
I think it is possible. Check this out:
https://www.mql5.com/en/docs/constants/environment_state/terminalstatus
TERMINAL_COMMUNITY_ACCOUNT should do the job.
Andrey.
almost. i need to check the username of logged in user. there i can only check bool values if user is logged in and balance. None of this information us useful to confirm username. (it can be in some other manner)
almost. i need to check the username of logged in user. there i can only check bool values if user is logged in and balance. None of this information us useful to confirm username. (it can be in some other manner)
true.
I think in your case you better use
https://www.mql5.com/en/docs/constants/environment_state/accountinformation
and this one: ACCOUNT_NAME
Which will give you the NAME of the owner of trading account. I think it provides the same level of protection as MQ login name.
Hope this helps.
Andrey.

- www.mql5.com
Correct. But all these stats are available FROM THE EA running in that particular terminal. So, if EA is sold to someone else whose login is known, it can be coded to run on THAT particular terminal only. And this is the answer to the question from the first post in this thread.
TERMINAL_COMMUNITY_ACCOUNT is just a flag indicating that current terminal is logged in into some MQL5 account, but the information about this account is not available. You can't check from EA if terminal is connected to a predefined MQL5 account. The OP asked even more - to identify a situation when MQL5 account is already logged in from some other terminal and if so - prevent execution.
What you suggested next - to bind EA to a specific trader account - this is indeed one of commonly used protection scheme. But bear in mind that it limits the user significantly in the sense that the user may have many accounts, and the developer may want to provide the user with a single sign on. This is why he asked about MQL5 account to my undestanding (this could allow running the same EA on all user's accounts). And this all is impossible at the moment.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
User wants to buy unlimited copy of my EA, but i am affraid of unlicensed copying.
If i could check if the user is logged on his account on MQL5.com, then EA would have protection against using it by other users.
Is it possible?
i want to do a single check at EA start (recheck every x seconds, if user not logged in to avoid problems while mql5 is down)