How can I tell if an advisor is being knocked out by the DC? - page 5

 
Mathemat:
Google "OrderSendReliable", it seems to be on the advice of the current leader of the Champ. It's a very decent library.
Thank you!
 
Meat:
Renat:
...it's enough to call IsTradeAllowed() to understand whether there is a right to trade from the EA or not. No exceptions.
You are wrong here. As for prohibiting of Expert Advisors by a broker, you cannot check it with any function! I am speaking from my own experience.
IsTradeAllowed says true, but the order is not sent and, as I have already written above, error 133 is returned and "trading by experts is prohibited" is written in the journal.
It would be good if you would introduce some special function for checking if trading is prohibited by broker. Otherwise we have to check for error 133 after a trade operation has been attempted

It turns out that it is not the terminal that blocks? It means that the terminal sends some kind of indication that the order is opened by the Expert Advisor and not by the user. There is no ambiguity here. To generate an error similar to 133, you need to know that the Expert Advisor is working. So, they know and the terminal provides them with this information. Perhaps, the developers simply hide this fact. We should check what exactly is sent to the server by the terminal when opening an order by Expert Advisor and its manual opening and compare the difference between the data being sent
 
It's very hard to see a black cat in a dark room. Especially if it's not there.
 
timbo:
It's very hard to catch a black cat in a dark room. Especially if it's not there.

But you want to catch it :-) the usual paranoia :-)
 
timbo:
It's very hard to see a black cat in a dark room. Especially if it's not there.

Nothing is impossible
 
timbo:
It's very hard to catch a black cat in a dark room. Especially if it's not there.
You said it was nonsense based on YOUR experience.
 
scorpionk:

So it turns out that it is not the terminal that blocks? It means that the terminal sends some kind of indication that the order is opened by Expert Advisor and not by user's hands. There is no ambiguity here. To display an error similar to 133 you need to know that the Expert Advisor is working. So, they know and the terminal provides them with this information. Perhaps, the developers just hide this fact. We should check what exactly is sent to the server by the terminal when opening an order by Expert Advisor and its manual opening and compare the difference between the data being sent


There is a black cat, but it is in another room.

The broker presses the 'Ban EAs to this Terminal' button. In execution of this control action, the Server sends a special order to the Terminal once:

S - "Listen, Terminal, don't send me any more trade orders generated by EAs working under your patronage!"
T - "What if a user runs an EA?"
S - "And you show him the error code."
T - "Got it! I'll take it."

Everything happens on the Terminal side and the server is not aware of the mess in the Terminal.

And the user may explode with anger, but now he can only complain that he shouldn't have let all kinds of gridders, pipsers and zigzag killer codes offend the Server itself!

 
SK. писал (а):
scorpionk:

It turns out it's not the terminal that's blocking? it means the terminal is sending some kind of indication that the order is being opened by the EA and not by the user's hands. There is no ambiguity here. To make an error similar to 133 one should know that the Expert Advisor is working. So, they know and the terminal provides them with this information. Perhaps, the developers simply hide this fact. We should check what exactly is sent by the terminal to the server when opening an order by Expert Advisor and its manual opening and compare the difference between the data being sent


There's a black cat, but it's in the other room.

The broker presses the button "Ban advisors to this terminal". In order to execute this control action the Server sends a special order to the terminal once:

S - "Listen Terminal, you don't send me any more trade orders generated by experts working under your auspices!"
T - "What if the user runs an EA?"
S - "And you show him the error code".
T - "Bingo! I'll take it."

And then everything happens on the Terminal side, and the Server does not know or care what mess is made in the Terminal.

And user may be bursting with anger, but now he can only complain, that he shouldn't allow different gridders, pipsers and inconsistent killer-codes to be rude to Server itself!

This may well be the case. At least for me the deals open after restarting the terminal.
 

In order not to be rude to a server, one has to write code correctly. I think everyone understands that we are talking about blocking from the position that there are no gross errors in EA code (such as frequent requests, incorrectly passed stop and take parameters, etc.). In spite of all this, autotrading is blocked. This is not correct for brokerage companies

If simple restart helps to start trade again, then you have to restart terminal with error 133. The problem is that they are not so "stupid" that they did it that way. I would make the server tell the terminal not to let you trade with EAs

 
scorpionk:

In order not to be rude to a server, one has to write code correctly. I think everyone understands that we are talking about blocking from the position that there are no gross errors in EA code (such as frequent requests, incorrectly passed stop and take parameters, etc.). In spite of all this, autotrading is blocked. This is not correct for brokerage companies

If simple restart helps to start trade again, then you have to restart terminal with error 133. The problem is that they are not so "stupid" that they did it that way. I would make the server tell the terminal not to let you trade with EAs

I would have made the server tell the terminal not to let you trade with EAs. I think the reasons for turning it off could be different, e.g. the EA is making a profit, frequent requests, etc.
Reason: