Forum on trading, automated trading systems and testing trading strategies
When you post code please use the CODE button (Alt-S)!
I didn't know that. Rookie mistake. Will note that in the future.
Just to add, I tried/attempt to debug it, but the "Step Into" feature of the debug keeps on greying out, so I can't make a step on every line to find how the process flow.
Again, TIA.
I didn't know that. Rookie mistake. Will note that in the future.
Just to add, I tried/attempt to debug it, but the "Step Into" feature of the debug keeps on greying out, so I can't make a step on every line to find how the process flow.
Again, TIA.
Add this line at the top:
#property strict
Then you'll see that you have undeclared and uninitialized variables in your order opening condition checks.
Add this line at the top:
Then you'll see that you have undeclared and uninitialized variables in your order opening condition checks.
Yes, it did show the variables that was misplaced on the declaration and corrected it. However, it still didn't work. Still not triggering the Buy or Sell I hoped. No errors in the compilation process.
Yes, it did show the variables that was misplaced on the declaration and corrected it. However, it still didn't work. Still not triggering the Buy or Sell I hoped. No errors in the compilation process.
That means some of your corrections are wrong.
Show us your revised code.
Rather than "fixing the error", you need to work out how you can identify the problem, before someone says "we are not here to fix your code" ;) And I'm not much more than a newbie myself...
You can tidy up the code, as others have said. Remove the empty lines and comments; take a copy first. And, look at how you can simplify the code, remove unneccessary bracket, braces etc.
Then, work out where you can place and print out test variables to ensure the code is working the way you expect....after every line, if necessary.
Rather than "fixing the error", you need to work out how you can identify the problem, before someone says "we are not here to fix your code" ;) And I'm not much more than a newbie myself...
You can tidy up the code, as others have said. Remove the empty lines and comments; take a copy first. And, look at how you can simplify the code, remove unneccessary bracket, braces etc.
Then, work out where you can place and print out test variables to ensure the code is working the way you expect....after every line, if necessary.
I maybe a newbie coder, but I do practice the very things you say. Asking questions to get the root cause of the problem is the best way to get to a quicker solution, because I know there are tons of people here who are really good and are enthusiastic to teach what they know, just as I am when I know the answer to one's questions. I'm sure everyone has gone through that phase, including you. I'm not here to be spoon-fed.
And I appreciate more the people who give the fix by setting examples instead. And there are a number of them already. Their contribution makes my life definitely a lot easier. That's the beauty of the internet. In the old days, you have to go all the way to a public library or bookstore to get just a snippet of info. Now, it's just a click of a button.
It's just that after exhausting all the efforts I made that I get stumped with my limited knowledge, hence my coming here to ask questions from those who've been through it all. And I got what I need, thanks to those helpful peeps. Hope my asking questions doesn't send the wrong message that I am lazy enough not to research on my own as well. After all, if I already knew the answers, why would I ask questions in the first place? That's the idea of this forum, right? I'm sure we are all trained to not be afraid to ask questions, aren't we? ;-)
That means some of your corrections are wrong.
Show us your revised code.
Hi Seng,
I didn't revised everything except your suggestions, but I decided to dump that code and instead try other working codes and start from there as suggested by others on another forum. For some reason although that code looks similar to those I got working now, it just doesn't seem to work - surely there is some line of syntax there I didn't notice that is causing it, but I'd rather not waste my time on it when I can get a better one. I'd like to thank the guy I can't remember the handlename who provided a few bits of useful code to me, thank you mi amigo, I'm using it now. :-D. But thanks for the previous advice, indeed a stricter compiling is needed to get a finer compiled result. I wasn't aware of that particular property. I'm a newbie MQL4 programmer here. Still need lots to learn. Thanks again. :-)
I maybe a newbie coder, but I do practice the very things you say. Asking questions to get the root cause of the problem is the best way to get to a quicker solution, because I know there are tons of people here who are really good and are enthusiastic to teach what they know, just as I am when I know the answer to one's questions. I'm sure everyone has gone through that phase, including you. I'm not here to be spoon-fed.
And I appreciate more the people who give the fix by setting examples instead. And there are a number of them already. Their contribution makes my life definitely a lot easier. That's the beauty of the internet. In the old days, you have to go all the way to a public library or bookstore to get just a snippet of info. Now, it's just a click of a button.
It's just that after exhausting all the efforts I made that I get stumped with my limited knowledge, hence my coming here to ask questions from those who've been through it all. And I got what I need, thanks to those helpful peeps. Hope my asking questions doesn't send the wrong message that I am lazy enough not to research on my own as well. After all, if I already knew the answers, why would I ask questions in the first place? That's the idea of this forum, right? I'm sure we are all trained to not be afraid to ask questions, aren't we? ;-)
Just making the point, we can solve problems sometimes by stepping away from coding and thinking more about design, knowledge and process. An old mentor once told me we should spend 80% of our time on program design, and 20% on actual coding.
Like this from lippmaje, saving maybe 3 lines of code. I had no idea you could use a boolean this way. I use this now in my coding, thanks lippmaje..
bool TradeTimeOk=Hour()>=StartHour && Hour()<EndHour;

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello All,
I have copied a supposedly working template from MQL4 and studied the codes. First things off, the following have been checked and confirmed:
- Autotrading is ON
- Tried the template.ex4 on various brokers; gets same results.
- Clean slate, no open orders
- No server or terminal issues
- My MT4 Build is Version 4, Build 1260
- Running on different timeframes, either no change or got more bad error messages instead.
This is my first time to try to code in MQL4. I do understand the syntax and everything though, as I am an IT engineer and a programmer on other languages; no compilation errors, however running a backtest, it doesn't automatically enter a sell or buy up until the end. Checking the Journal, I found this peculiar message on the last part: Expert template EURUSD, H4: removed. "template" by the way, is the filename. Tried renaming it thinking maybe the filename is reserved by MQL4 - no good still. I think I missed something even though the instructions I follow are very clear and the video tutorials I watched shows their work is running.
See attached image for the journal message. I tried other EAs and they behave the same way.
Thanks and more power. Looking forward to your responses.
Copy / Pasting the code here, with all the commented details intact, to make it more comprehensible. If you need more details peeps do let me know. I really appreciate all the help I can get. I've retired from my field to work on FOREX.