MT4 Build 600 "Declaration without type" error

 


fter I upgraded to the new build 600 my custom indicator stopped working! I am using Twiggs MOney Flow ORG, but when I try to compile it in the metaeditor it is giving me the following errors. Somebody told me that this is a bug in the new build 600 and I must put an init function but I don't know how to do it, anyone can help?

 

5ko: fter I upgraded to the new build 600

it is giving me the following errors.

Somebody told me that this is a bug in the new build 600

and I must put an init function but I don't know how to do it, anyone can help?

  1. Build 600 is irrelevant.
  2. You can NEVER put function calls on the global scope.
  3. Has nothing to do with build 600.
  4. learn to code it, or pay someone. We're not going to code it FOR you. We are willing to HELP you when you post your attempt (using SRC) and the nature of your problem.
#property ...



SetLEvelValue(...);
#property ...

int OnInit(){

   SetLEvelValue(...);

   return(INIT_SUCCEEDED);
}
 
WHRoeder:
  1. Build 600 is irrelevant.
  2. You can NEVER put function calls on the global scope.
  3. Has nothing to do with build 600.
  4. learn to code it, or pay someone. We're not going to code it FOR you. We are willing to HELP you when you post your attempt (using SRC) and the nature of your problem.


Thank you very much! I made it work. Anyway, I think that the problem is in the build 600 - I've never had any problems with this indicator in the previous versions, the problem occured when I reinstalled my MT4 a few days ago, before that it was working just fine for years.


Thank you again.

 
 Anyway, I think that the problem is in the build 600
If you say something like that, means that you have been under the hood and failed in noticing of what had happened actually. Basically, there are some homeworks you may need to do.
 
Anyway, I think that the problem is in the build 600
SYED NAUFAL GADDAFI:
If you say something like that, means that you have been under the hood and failed in noticing of what had happened actually. Basically, there are some homeworks you may need to do.
whroeder1:
  1. Build 600 is irrelevant.
  2. You can NEVER put function calls on the global scope.
  3. Has nothing to do with build 600.
  4. learn to code it, or pay someone. We're not going to code it FOR you. We are willing to HELP you when you post your attempt (using SRC) and the nature of your problem.

I also had the same issue, but, once whroeder1 said the above text in red, I knew what to do, apparently, the OP didn't get the true solution for his/her issue. Guys, you need to put that "comment" function inside something such as

int start()
{
 
 Comment(StringFormat ...

}
 

there are (very rarely) situations where I want to put function calls at a specific line of the global scope. Just thought I'd share in case anyone comes across this via googling.

You can do it by wrapping in a class

class RunHere {
public:
   RunHere() {
        // put code here that you want to run down below
   }
} runHere; // line the code runs on 
an example of what i use it for , is I have a debugging class that I insert via a macro.

This is a primitive form of debugging that prints messages at the specified line, but sometimes I prefer to see such printed debug output. And sure the macro will of course work within functions BUT why this way of doing it is useful is you can also debug outside of functions, like say you wanted to put them between include statements or within an mqh file near the top of the file - to see when things are getting included. Granted this is mostly useful only when you have a lot of mqh files and they use header guards and such.. this way you can see the order of them being included.

why I use a macro is so that I concoct object names for these classes on the fly as well as pass in __FILE__ and __LINE__ information automatically

Reason: