Errors, bugs, questions - page 1435

 

At first I thought it was a problem with my indicators, but then I realized - everything is glitchy.

When I load the terminal, the quotes history remains the same (as if the previous session didn't exist) and the history is not updated automatically.

The price is old, but for some reason the indicator buffers show the previous calculation (new prices).

When the market is open, the "shit" updates (apparently on a new tick) and everything becomes normal.

When the market is closed, you can contemplate the "rubbish" from the buffers "for the weekend" unless you forcefully update the quotes.

For illustration I am attaching the chart with standard SMA from MT5 indicator set:

Standard indicator for example

Bild 2010, and it was the same on the old ones.

 

What happened to MT5?

got up in the morning and no EA in the strategy tester is working... no positions open...

Last night they all worked ... today over 10 EAs stopped working

both old and new

 

Compilation error: code generation error

class A { public:
        void g() {}
};
struct B {
/**/    virtual void f() { g(); }
        virtual void g() {}
};
A *f() export { return new A(); }
void OnStart()
{
        f().g();
}
For example, if you remove export or comment out the /**/ line, the error will disappear, which means that the compiler needs improvement.
 

What is the habit of web creatives here to change file names in attachments?

I send a compiled indicator with the required name IndicatorCAF.ex4. In attachment, "clever site" rewrites the name as he needs: Indicator0AF_01.ex4.

Tell me why? What is the practical sense in this? What is the truth? Well, okay does not understand the Russian names and renames them as he pleases - there's still understandable. But why change the name of a file written in English to something else? It's a name, not a number...

I select IndicatorCAF.mq4


The name attached to this message is correct: IndicatorCAF.mq4


I send a message and voila.

For some reason I added _01 to my previous ex4-file (that's why I have questions)...

Ok, I've already attached such a file with such name - it's understandable, but this is the first file. I haven't found such names in our correspondence yet.


And what's funny is that ex4 file compiled in my MetaEditor Version: 5.00 build 1214 12 Nov 2015 doesn't display graphical objects in the terminal of the person I give this file to. He also has MT4 terminal, build 910 and MetaEditor Version: 5.00 build 1214 12 Nov 2015.

The indicator source file compiled by him normally creates an executable that works correctly in his terminal.

What are these errors?

And then the obvious question arises: how will the programs compiled in my editor behave for the marketplace? The terminal's build is 910, but it's incompatible with earlier versions because of the new compiler. Will programs compiled in my editor work on the marketplace?

 

Why is the quality of this terminal.exe icon so poor ? It is used to display all .ex5s in the file system

(3rd from terminal.exe, if numbering from 1)

The other icons are of normal quality, e.g.

(1st) and(last)

 

Compile error: tree optimization error

#property library
class A {};
A *f() export { return new A; }
void g() {}
int h( int a, int b ) { return b; }
class B {
       virtual int function() { return h( int(g()), 1 ); }
};

But if you remove the keyword virtual

class B {
              int function() { return h( int(g()), 1 ); }
};
then it's fine. What effect did it have?
 
A100:

Compile error: tree optimization error

And if you remove the keyword virtual

then it's fine. What effect did it have?
??? I overslept something? Can methods be exported now too? Are the classes available for export as well?
 
coderex:
??? Did I miss something? Can methods be exported now too? And classes for exporting are available as well?

Which line indicates that the method has been exported? The pointer could always be returned. f() is not a class method - it's a function in itself.

Besides, we mean the abstract 'tree optimization error' not related to a particular string, which is an error in itself. Besides, if it can be solved by simply "rearranging strings" (removing the key word virtual), this is a double error.

 
A100:

Which line indicates that the method has been exported? The pointer could always be returned. f() is not a class method - it's a function in itself.

Besides, we mean the abstract 'tree optimization error' not related to a particular string, which is an error in itself. Besides, if it can be solved by simply "rearranging strings" (removing the key word virtual), this is a double error.

I misprinted, about the method, I meant to write a class object (it's night after all :) )

A *f() export { return new A; }

and i'm not disputing what you wrote, i'm just surprised, because in help it says about export only for functions, and it turns out you can export objects too.

 
BaTTLeBLooM:

What happened to MT5?

got up in the morning and no EA in the strategy tester works... no positions open...

Last night they all worked ... today over 10 EAs stopped working

both old and new

Describe the problem in more detail. What build, what OS, bit rate ? What's in the tester logs?