Can a broker disable expert advisors?

 

Can a broker disable expert advisors?

Does IsExpertEnabled() check whether the broker has enabled or disabled expert advisors? Or does it only check whether the user has enabled it in the terminal?

Similarly, does IsTradeAllowed() check whether the broker has enabled or disabled trading in the account, or only check whether the user has enabled trading in the terminal?

If those functions are only for checking the user settings in the terminal, what are the possible ways to check whether the broker has disabled expert advisors or disallowed trading? The only way I can think of is by submitting an order as a test in an expert advisor.

 
hyperdimension:

Can a broker disable expert advisors?

Does IsExpertEnabled() check whether the broker has enabled or disabled expert advisors? Or does it only check whether the user has enabled it in the terminal?

Similarly, does IsTradeAllowed() check whether the broker has enabled or disabled trading in the account, or only check whether the user has enabled trading in the terminal?

If those functions are only for checking the user settings in the terminal, what are the possible ways to check whether the broker has disabled expert advisors or disallowed trading? The only way I can think of is by submitting an order as a test in an expert advisor.


>Can a broker disable expert advisors?

Yes, it happened to me today

https://www.mql5.com/en/forum/133757

>Similarly, does IsTradeAllowed() check whether the broker has enabled or disabled trading in the account, or only check whether the user has enabled trading in the terminal?

https://docs.mql4.com/check/IsTradeAllowed

Local function, nothing to do with broker.


I don't think you can check before getting an Error 133.

 
dabbler:

>Can a broker disable expert advisors?

Yes, it happened to me today

https://www.mql5.com/en/forum/133757

I think ERR_TRADE_DISABLED means that you cannot trade maually either. So the broker has disabled all trading, not just experts.


So are the functions IsExpertEnabled() and IsTradeAllowed() only checking the user's terminal settings, and not what the broker has allowed?

 
hyperdimension:

I think ERR_TRADE_DISABLED means that you cannot trade maually either. So the broker has disabled all trading, not just experts.


So are the functions IsExpertEnabled() and IsTradeAllowed() only checking the user's terminal settings, and not what the broker has allowed?

>So are the functions IsExpertEnabled() and IsTradeAllowed() only checking the user's terminal settings, and not what the broker has allowed?

I believe so, yes.

In my case I was able to trade manually, to close positions but not to open new ones.

So perhaps I am saying that trade can be dissallowed rather than the EA itself being stopped. I seem to recall the broker having software to stop the account trading if an EA seems to have gone crazy and placing too many orders, but I wouldn't know where to find a comment on this or at what point an EA is considered errant.

 
dabbler:

.... I seem to recall the broker having software to stop the account trading if an EA seems to have gone crazy and placing too many orders, but I wouldn't know where to find a comment on this or at what point an EA is considered errant. 

 
blb8mql4:
Pls see the list if Err Codes in Help. There are codes for Err like Trade context busy, Too many requests etc..
 
it will disable the account from opening a trade not only from the EA but also in manual trading. the reason maybe excessive opening of trade ,bad coding logic such as wrong parameters in modifying order in trailing stop/Stop loss. placing stop order inside the spread value "Buy Stop below the Current Ask, Sell Stop Above the Current Bid".
Reason: