Mt4 End of support. - page 36

 
Vitaly Muzichenko:

That's right, that's how you did it definitively, well, or I failed to run your solution correctly.

Have some patience and figure out the code. I explained it again above in detail. Look for the error. I cannot find it yet. Or everything must be spelled out. Are there no programmers here? Are you a bit out of standards and already have your hands up? If language is so important to you, it makes you question your professionalism. (if it exists at all.)
 

Who said anything about professionalism?
You're a pro at trolling, as I see it, but exposing code with a bug that you suggest others look for, and in such a manner... it's too much.
It's weird to see that from the outside.

 
Реter Konow:
Nikolai, to my shame I have no idea how to use the debugger. I've never used it. ((

Well, well...
You're so cool after all! Writing a big project without a debugger! You sure don't take the easy way out.
There's bad news and good news for you.
I'll start with the good news:

If you start using a debugger in your work, but you will save yourself a lot of time. And it's not just finding errors, but a lot more.

Now the bad news:
You can, of course, write to Service Desk and ask them to implement understanding of variables in Russian in the next versions. But I'm afraid they won't agree.
Which means that all your arguments about the advantages of using the Russian language in variable names become insignificant compared with only one disadvantage - the inability to debug this code.

I checked it - it's the same in MQL5 MetaEditor. And if you continue to program and don't use debugger, it will be, how to put it mildly - very unreasonable. It would be even more unreasonable than not using OOP.

And the only way I can check your code now is to change all variable names into Latin alphabet.

 

Where has Artiom disappeared with his new bar function, it's interesting to check it to see if it works correctly.

 
Nikolai Semko:

Wow...
You're so cool after all! Writing a big project without a debugger! You sure don't take the easy way out.
There's bad news and good news for you.
I'll start with the good news:

If you start using a debugger in your work, but you will save yourself a lot of time. And it's not just finding errors, but a lot more.

Now the bad news:
You can, of course, write to Service Desk and ask them to implement understanding of variables in Russian in the next versions. But I'm afraid they won't agree.
Which means that all your arguments about the advantages of using the Russian language in variable names are negligible compared with only one disadvantage - the inability to debug this code.

I checked it - it's the same in MQL5 MetaEditor. And if you continue to program and don't use debugger, it will be, how to put it mildly - very unreasonable. It would be even more unreasonable than not using OOP.

And the only way I can check your code now is to change all variable names into Latin characters.

Nikolai, it's too late for me to change. The project will be shut down soon and renaming will take another year).

I'll manage somehow. I did not know why I needed it and coped with it, but now you'd better not tell me, so I do not regret wasted effort).

The fact that no one wants to program like me, it's even good. I have an advantage that my opponents do not even understand. Let it remain so.

Thanks for the good news, well, better not to think about the bad. Maybe it's not so bad for me.)


Try changing the names. If it helps you find the mistake, I'm all for it.

 
Vitaly Muzichenko:

Where has Artiom disappeared with his new bar function, it's interesting to check it to see if it works correctly.

I was picking up family from Vietnam at the airport. I'll keep an eye out. That's funny.
 
Реter Konow:

Nikolai, it's too late for me to change. The project is about to close, and renaming will take another year.)

I'll manage somehow. Now you'd better not tell me, so that I do not regret wasted effort).

The fact that no one wants to program like me, it's even good. I have an advantage that my opponents do not even understand. Let it remain so.

Thanks for the good news, well, better not to think about the bad. Maybe it's not so bad for me.)


Try changing the names. If it helps find the mistake, I'm all for it.

Have you ever pressed CTRL+H?
 
Artyom Trishkin:
I picked up a family from Vietnam at the airport. I'll keep watching. That's funny.

Artyom, it's not funny, it's a shame to be so religious.

P.S. Did you go to Vietnam for rice?)
 
Реter Konow:

Nikolai, it's too late for me to change. The project is about to close, and renaming will take another year.)

I'll manage somehow. Now you'd better not tell me, so that I do not regret wasted effort).

The fact that no one wants to program like me, it's even good. I have an advantage that my opponents do not even realize. Let it remain so.

Thanks for the good news, well, better not to think about the bad. Maybe it's not so bad for me.)


Try changing the names. If it helps you find the error, I'm all for it.


Got it. The algorithm is fundamentally wrong. There's nothing to fix. We need to rewrite the whole thing.
Sorry - I'll pass. Lazy to bother, especially since I've already implemented my own version. And it works quite well (judging by the fact that all is silent:)).

I will only say that at least - it is more correct to use iTime instead of iBars, because the number of bars does not change with the arrival of a new bar, when the number of maximum number of bars in the history, which each has its own (Service-Settings-Graphs) has been reached. I thought you have a fast loop, but it turns out that only every 2400th entry in OnTimer works. Entry to fill the array wrong well - once every minute, and not from zero seconds, and with the arrival of the bar from which the program started, ie, even on the current symbol is not correct, not to mention other characters. And very incredible way of forming the minute: 2400 times logging every 25 milliseconds to see if our minute has passed. Moreover, your algorithm starts working with the arrival of a new bar in the current timeframe, and if you run it on a day, you can wait all day long until it works (i.e., it is better to use iTime(NULL,1,0) instead of Time[0]). And why should the code be distributed (trash) throughout the entire program, after all the task was to create a function and only call it from the body of the program.

In other words - Dmitry was right that I was wrong when I said that your algorithm is very fast. Of course it is fast - if you update it once a minute, when during a minute so many events occur on all symbols, and all past you.

But you're understandable - you don't work with bars. I, too, like to mess around with canvas more.

Well, Peter, I can only repeat my wishes:

- Complete your mega-project as soon as possible and finally get your "magic kick" (which we all need in life)

- master OOP

- master the Latin alphabet and master the wonderful tool Code Debugger.

- and with this luggage and huge experience in procedural programming you start your new super-project.

 
Реter Konow:
Nikolai, to my shame I have no idea how to use the debugger. I've never used it. ((

Seriously ???