Discussion of article "Automata-Based Programming as a New Approach to Creating Automated Trading Systems" - page 4

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
The article does not cover the topic at all, except that there is a switch. It doesn't matter whether it exists or not, it can be switched by if's.
Once I was writing an EA, there was a very complex system with orders. I had to analyse it seriously and make a list of states: no orders, one pending, one market order, two pending orders, one pending and one market order, etc. Only in this way I managed to overcome it. But it turned out to be such a universal, quickly reprogrammable thing. Quite a topic for an article.
Maybe you could write an article then? I think a lot of people would be interested in reading it.
Okay, I will.
I also prefer to use a regular if. In general, there are two approaches: with the help of if and with the help of special functions that are called by the switch state switch. The question is which approach is better/simpler.
It is necessary to look at the subject, the counter is faster in choosing a solution, but if is easier to call.
If there are many nested counters, then if will work faster, because one call to if is cheaper than a call to switch.
But if there are multiple solutions at each level, switch is more appropriate.
This is something new. Just ANY (without exception) TS is based on analysis and clear understanding of TS states. The simplest states: the processing of signals for opening/closing/modifying an order, etc. etc.
If "the current state of the Expert Advisor is not clearly known", then it is definitely not an Expert Advisor, and definitely not a programme, and the word "algorithm" in relation to an Expert Advisor should be crossed out and forgotten forever.
Market information comes late, there can be (and probably are) errors in the software on the server and on the computer, orders may not be executed due to a million reasons, the network - connection to the provider may blink, electricity may be cut off at any moment (remember failures and restarts at the championship). There are more than enough uncertainty factors. And an Expert Advisor or an algorithm should take it all into account. It is impossible to count on the perfect work of the server, software, communication, market, operator, electricity.
So the current state of orders, market, communication, electricity is never known to the Expert Advisor, and the Expert Advisor or algorithm must still work correctly in fuzzy conditions.
market information comes late, there may be (and probably are) errors in the software on the server and on the computer, orders may not be executed for a million reasons, the network - connection to the provider - may blink, electricity may be cut off at any moment (remember the failures and restarts at the championship). There are more than enough uncertainty factors. And an Expert Advisor or an algorithm should take it all into account. It is impossible to count on the perfect work of the server, software, communication, market, operator, electricity.
So the current state of orders, market, communication, electricity is never known to the Expert Advisor, and the Expert Advisor or algorithm must still work correctly in fuzzy conditions.
Nonsense. Mixing everything into one big pile.
- checking of possible quote delays; - broker's refusal to execute an order; - abnormal reboot of the EA - these are clear and definite states of the EA - as a result of identification of each such state - fulfilment of the corresponding function
- if some function is not provided in response to some possible state - it does not mean "fuzzy working condition" - simply the EA does not analyse (according to its clear and unambiguous algorithm) this state.
Any programme (including an Expert Advisor) works according to a clear predetermined algorithm. And there are no fuzzy, undefined actions in the work of any programme. Otherwise, it will be a "freeze" state. And "freezing" of a programme is, as we know, an algorithm error, not a consequence of ethereal vagueness.
For real Expert Advisors it is impossible to define the State unambiguously. The internal state is determined unambiguously, but the state of positions on the server can be unknown, known with a delay, be in an unclear state (some orders and requests are executed, and some are not, and hell knows why).
There are more than enough uncertainty factors. And an Expert Advisor or an algorithm should take it all into account. It is impossible to count on perfect work of server, software, communication, market, operator, electricity. So, the current state of orders, market, communication, electricity is never known to the Expert Advisor in general
There are no uncertainties. There are mistakes of a programmer who did not take something into account.
"Not known", "in an unclear state" are full-fledged states like all the others. Of course, they must be taken into account, otherwise there is no other way.
If you write the line "c = a + b", this is theoretical programming, which is acceptable only at school lessons. But when you program a real industrial plant, one useful operation like "c = a + b" requires 100500 check operations to confirm that one input is really "a", another input is really "b", and you also have to make sure that "a" and "b" have not changed during the addition, and if suddenly "c" did not reach the output, the operation should be recognised as incorrect and everything should be rolled back, etc.etc. Welcome to the real world ))))
There are no uncertainties. There are errors of a programmer who did not take something into account.
"Not known", "in unclear state" - these are full-fledged States like all the others. Of course, they must be taken into account, otherwise there is no other way.
If you write the line "c = a + b", this is theoretical programming, which is acceptable only at school lessons. But when you program a real industrial plant, one useful operation like "c = a + b" requires 100500 check operations to confirm that one input is really "a", another input is really "b", and you also have to make sure that "a" and "b" have not changed during the addition, and if suddenly "c" did not reach the output, the operation should be recognised as incorrect and everything should be rolled back, etc.etc. Welcome to the real world )))).
That's a good analogy. )) But with all this, one must not forget that it is impossible to account for everything anyway. Even nature makes mistakes and misses its mistakes in the form of mutations. But one should strive for perfection, of course. ))
Nature doesn't make mistakes, because it doesn't give a damn. We are the ones who come up with justifying theories.
And nature is an unconscious thing, and therefore does not follow who is right and who is guilty.
...
And nature is unconscious and therefore ...